From 507306f3dda5f9adfb3f4b4566f2bcb01492df8a Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Sun, 5 Jul 2026 23:42:16 -0700 Subject: [PATCH] Lock Auto Mode Logic Nucleic-Session: 787E9BFA-F481-4804-95DB-E063FDB518B0 Co-authored-by: Nucleic --- .../NucleicRemote/Views/SessionDetailView.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift index 82258ae..33e4355 100644 --- a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift +++ b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift @@ -131,10 +131,18 @@ struct SessionDetailView: View { .font(.caption2.weight(.semibold)).foregroundStyle(.primary) .help("Context window used") } - Toggle(isOn: Binding(get: { summary.auto }, set: { store.setSessionAuto(sessionID, $0) })) { - Label("Auto", systemImage: summary.auto ? "bolt.fill" : "bolt.slash") + // Locked on for a Nucleic Control project — those chats always run autonomously, and + // the host keeps Auto on regardless of what the phone sends, so show it locked on to + // match rather than offering a toggle that wouldn't take. + Toggle(isOn: Binding(get: { controlled || summary.auto }, + set: { store.setSessionAuto(sessionID, $0) })) { + Label("Auto", systemImage: (controlled || summary.auto) ? "bolt.fill" : "bolt.slash") } .toggleStyle(.button).tint(Palette.accent).font(.caption2.weight(.semibold)) + .disabled(controlled) + .help(controlled + ? "Auto-approve is always on for Nucleic Control chats — they run autonomously." + : "Auto-approve safe actions; destructive ones still ask.") } }