From cd6154288ee2540cbaea3012097287761e17b35e Mon Sep 17 00:00:00 2001 From: Nucleic Date: Tue, 21 Jul 2026 17:40:52 -0700 Subject: [PATCH] Merge nucleic/upbeat-grove-falcon-c6ca into dev --- NucleicRemote/NucleicRemote/Models/RemoteStore.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index 74bc5aa..b09fcbd 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -2839,7 +2839,10 @@ final class RemoteStore: ObservableObject { .setArchived(let id, _), .setSessionModel(let id, _), .setSessionEffort(let id, _), .setSessionAuto(let id, _), .setSessionAutoShip(let id, _), .setSessionShipBranch(let id, _), .sendInput(let id, _), .cancelQueuedMessage(let id, _), .fetchDiff(let id), - .resolveProcessStall(let id, _, _): + .resolveProcessStall(let id, _, _), + // "Transfer…" on a chat this device doesn't own (mesh P5): the owner runs its own + // `moveSession`, so the ask goes to the Mac holding the worktree. + .requestSessionTransfer(let id, _): connection(owningSession: id)?.send(msg) // Project-owning intents → the Mac that has this project. @@ -3090,6 +3093,7 @@ final class RemoteStore: ObservableObject { // Session transfer (mesh P5) is a Mac↔Mac flow — the phone never originates these, // and demo has no peer Macs, so they're inert here. .transferOffer, .transferChunk, .transferCommit, .transferCancel, + .requestSessionTransfer, // "Add a device" mint is handled directly against a live host, not via demoHandle; // the demo path short-circuits in `requestPairingCode()` with a stand-in code. .requestPairingCode, .cancelPairingCode, .respondMacPair,