M-0: WebviewBridge dual-channel handshake — accept [2.3.0, 2.4.0-rc] #94

Open
opened 2026-05-12 19:36:40 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-12 19:36:40 +00:00 (Migrated from github.com)

Goal

Make WebviewBridge accept dual-channel handshake ["2.3.0", "2.4.0-rc"] to allow incremental webview migration without hard-blocking at boot. Mitigates R-005.

Scope

  • Read BUS_PROTOCOL_VERSION as a Set of accepted versions, not a strict equality check
  • Emit warning banner if webview reports unaccepted version (graceful)
  • Rollback knob: revert this commit and WebviewBridge returns to strict 2.3.0

Files

  • packages/Bus/Sources/Bus/WebviewBridge.swift:147-288
  • packages/Bus/Sources/Bus/Protocol.swift:28

Acceptance

  • Webview reporting 2.3.0 → accepted
  • Webview reporting 2.4.0-rc → accepted
  • Webview reporting 9.9.9 → rejected with warning banner (graceful, not hard-block)
  • bash scripts/check-bus-protocol-version.sh adapted for dual-version, green

Test

Unit tests: handshake parser accepts each known version; rejects unknown with warning, not crash.

Parent epic

#4

Source

.planning/architecture/JARVIS-API-MIGRATION-PLAN.md §2.1 (M-0.5)
.planning/architecture/REVIEW-MIGRATION-RISK.md R-005

## Goal Make WebviewBridge accept dual-channel handshake ["2.3.0", "2.4.0-rc"] to allow incremental webview migration without hard-blocking at boot. Mitigates R-005. ## Scope - Read `BUS_PROTOCOL_VERSION` as a Set of accepted versions, not a strict equality check - Emit warning banner if webview reports unaccepted version (graceful) - Rollback knob: revert this commit and `WebviewBridge` returns to strict `2.3.0` ## Files - `packages/Bus/Sources/Bus/WebviewBridge.swift:147-288` - `packages/Bus/Sources/Bus/Protocol.swift:28` ## Acceptance - [ ] Webview reporting `2.3.0` → accepted - [ ] Webview reporting `2.4.0-rc` → accepted - [ ] Webview reporting `9.9.9` → rejected with warning banner (graceful, not hard-block) - [ ] `bash scripts/check-bus-protocol-version.sh` adapted for dual-version, green ## Test Unit tests: handshake parser accepts each known version; rejects unknown with warning, not crash. ## Parent epic #4 ## Source `.planning/architecture/JARVIS-API-MIGRATION-PLAN.md` §2.1 (M-0.5) `.planning/architecture/REVIEW-MIGRATION-RISK.md` R-005
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#94