a24f113996eb946e67d254694460c88ed38626e2
Completes the multiplexer rewire begun in f335eb4. RemoteStore no longer runs an inline single connection — it owns `connections: [HostID: HostConnection]` and connects every paired Mac at once, so all your Macs are live simultaneously. - reconnect() connects/reconnects all paired hosts (dropping since-unpaired ones); pair() adds a new connection and makes it active while the others keep running; unpair() drops the active Mac and switches to a remaining one. - The flat @Published state (connectivity/sessions/dashboard/capabilities/…) mirrors the *active* connection via callbacks, so switchHost() is now instant — every Mac is already connected, so it just re-points at the target's live state (no reconnect). - Aggregate concerns merge across hosts: the app-icon badge counts needs-you across ALL Macs, Live Activity summarizes all live sessions, and an approval answered from a notification is broadcast to every connection (the owner resolves it; the notification carries no hostID yet). Intents (send / open / approvals) route to the active connection. Removed ~450 lines of connection machine from RemoteStore (now in HostConnection); kept friendlyTransportError/showError/dismissError. Demo bypasses connections (seeds state directly). Compiles (iOS Simulator BUILD SUCCEEDED) and the demo host switcher is runtime-verified (screenshots: switching Macs swaps the session list + tab badge). The LIVE multi-connection path — simultaneous dials, reconnect/teardown, the shared embedded tailnet node — is compile-verified only; it needs two real Macs to validate. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Description
No description provided
2 MiB
Languages
Swift
100%