From 5b3f006e3b8fb35669f987bdc1b68530af79a188 Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Sat, 4 Jul 2026 15:38:41 -0700 Subject: [PATCH] Fix iOS build: handle mesh P5 transfer/peer wire cases on the phone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mesh P5 (Mac↔Mac session transfer) added ClientMsg cases (addressUpdate, transferOffer/Chunk/Commit/Cancel) and SyncClient.Event cases (transferAccept, transferReject, transferReady, transferCommitted, transferChunkAck) but didn't update the phone's demoHandle / event-handle switches, leaving NucleicRemote non-exhaustive and failing to build (pre-existing on dev). The phone isn't a transfer participant, so handle all of them as no-ops. Second time mesh work has broken the iOS target this way (cf. the listPeers fix). Co-Authored-By: Claude Opus 4.8 --- NucleicRemote/NucleicRemote/Models/RemoteStore.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index d908d71..d965b8d 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -816,7 +816,9 @@ final class RemoteStore: ObservableObject { case .setSessionShipBranch(let id, let branch): demoUpdateSession(id) { $0.demoCopy(shipBranch: .some(branch)) } case .hello, .listSessions, .listDashboard, .subscribe, .unsubscribe, - .ping, .cancelQueuedMessage, .fetchDiff, .listPeers: + .ping, .cancelQueuedMessage, .fetchDiff, .listPeers, + // Mac↔Mac peer/transfer messages (mesh P4/P5) — the phone never sends these; no-op. + .addressUpdate, .transferOffer, .transferChunk, .transferCommit, .transferCancel: break // passive / already handled by the seeded fixtures (demo has no mesh peers) } } @@ -1114,6 +1116,10 @@ final class RemoteStore: ObservableObject { } connectPlan = nil scheduleRetry() + case .transferAccept, .transferReject, .transferReady, .transferCommitted, .transferChunkAck: + // Mac↔Mac session transfer (mesh P5) events. The phone isn't a transfer participant, + // so these are informational-only here — ignore them. + break } }