From 812aa6bfe3bc1f4de7399216395f08d3eb589677 Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Sun, 5 Jul 2026 22:32:51 -0700 Subject: [PATCH] Session Cache Implementation Nucleic-Session: B2346642-3353-4BD5-9DE2-A8B77BD66C98 Co-authored-by: Nucleic --- .../NucleicRemote/Views/SessionsView.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/NucleicRemote/NucleicRemote/Views/SessionsView.swift b/NucleicRemote/NucleicRemote/Views/SessionsView.swift index 45c70ab..172578c 100644 --- a/NucleicRemote/NucleicRemote/Views/SessionsView.swift +++ b/NucleicRemote/NucleicRemote/Views/SessionsView.swift @@ -28,6 +28,23 @@ struct SessionsView: View { : "Waiting to connect to your Mac…")) } else { List { + // Offline: the rows below are the saved history, not a live view — say so. + if !store.connectivity.isLive { + Section { + HStack(spacing: 8) { + Image(systemName: "wifi.slash").foregroundStyle(.secondary) + Text("Offline — showing saved chats") + .font(.footnote).foregroundStyle(.secondary) + Spacer(minLength: 8) + if store.isPaired { + Button("Reconnect") { store.reconnect() } + .font(.caption.weight(.semibold)) + .buttonStyle(.borderless) + } + } + } + .listRowBackground(Color.clear) + } ForEach(grouped, id: \.title) { group in Section(group.title.uppercased()) { ForEach(group.rows, id: \.sessionID) { summary in