Skip to content

Beta-gate SwiftBot Remote and stabilize remote onboarding/window chromeSwift bot rmeote#4

Merged
johnwatso merged 8 commits intomainfrom
SwiftBot-Rmeote
Mar 12, 2026
Merged

Beta-gate SwiftBot Remote and stabilize remote onboarding/window chromeSwift bot rmeote#4
johnwatso merged 8 commits intomainfrom
SwiftBot-Rmeote

Conversation

@johnwatso
Copy link
Copy Markdown
Owner

Summary
This PR lands the new SwiftBot Remote work in a merge-safe state.

It fixes the remote OAuth/session handoff, makes remote API auth work with the app’s authenticated session flow, and routes completed remote setups into the dedicated remote dashboard. It also avoids exposing the unfinished unified remote shell to normal users by gating SwiftBot Remote behind beta builds plus Developer Mode.

Along the way, it removes the in-window remote toggle in favor of the View menu, hides remote switching when the app is running in standby/failover scenarios, surfaces the manual remote access token in Web UI settings, and fixes the Settings window chrome bug where the preferences window could become transparent and unclickable after repeated open/close cycles.

What changed
Fixed Discord OAuth remote onboarding so the browser callback returns to the app with a session token.
Updated remote API auth to accept authenticated OAuth sessions in addition to the manual bearer token.
Added a dedicated View menu entry for Local/Remote dashboard switching.
Removed the problematic in-window remote toggle near the start/stop controls.
Gated SwiftBot Remote behind beta build + Developer Mode.
Ensured dedicated remote-control setups land in RemoteModeRootView.
Kept the unfinished provider-based remote shell off the normal runtime path.
Exposed the manual remote app access token in Web UI preferences.
Fixed Settings window styling so it stays opaque and clickable across repeated opens.
Why
The branch had a few merge blockers:

remote OAuth could not complete end-to-end
remote API auth expected a different token than the app stored
remote dashboard switching had a dead-end UX
the new unified remote shell was not fully providerized yet
the Settings window could inherit the main transparent chrome and become unusable
This PR resolves the blockers while keeping the larger remote/dashboard refactor available behind a safer beta/developer gate.

Testing
Built successfully with:
xcodebuild -scheme SwiftBot -project SwiftBot.xcodeproj -configuration Debug -sdk macosx build
Verified code paths for:
remote OAuth deep-link handoff
remote API authorization
local/remote dashboard menu switching
standby/failover gating
settings window chrome reset
Notes
SwiftBot Remote is intentionally beta-gated for now.
There are still actor-isolation warnings around LocalBotProvider; those are follow-up cleanup, not a merge blocker for this PR.
Short merge note

This merges the SwiftBot Remote work in a guarded state: functional enough for beta/dev testing, but not broadly exposed until the unified remote shell is finished.

Adds macOS Server style remote view
Note this UI is incorrect and will be changed. UI rework will be completed in future for this view as it should match local view
This feature is in beta and May cause issues
@johnwatso johnwatso merged commit e05be49 into main Mar 12, 2026
1 check failed
@johnwatso johnwatso deleted the SwiftBot-Rmeote branch March 14, 2026 05:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant