diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index 097d046..fcb7a50 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -390,11 +390,13 @@ final class RemoteStore: ObservableObject { fiveHour: WireUsageWindow(utilization: 18, resetsAt: Date().addingTimeInterval(2 * 3600)), sevenDay: WireUsageWindow(utilization: 40, resetsAt: nil)), statusFeeds: []) - demoHosts = [ - DemoHost(id: "demo-1", name: "Andrew's Mac", sessions: host1Sessions, dashboard: host1Dashboard), - DemoHost(id: "demo-2", name: "Studio Mac", sessions: host2Sessions, dashboard: host2Dashboard), - ] - applyDemoHost(demoHosts[0]) + // Mesh P3: seed BOTH demo Macs' worlds merged into the flat aggregate, exactly as the app + // presents real paired Macs — every host's sessions/projects/to-dos shown together, no + // switcher. `demoHandle` then mutates this aggregate directly for the interactive demo. + sessions = host1Sessions + host2Sessions + dashboard = DashboardSnapshot.merged([host1Dashboard, host2Dashboard]) + LiveActivityManager.shared.sync(hostName: hostName, sessions: liveSessions) + NotificationRouter.shared.updateBadge(needsYouCount) } /// Offline diff fixture (NUCLEIC_DEMO) so the full-patch Diff tab renders without a host.