fix(macos): open dashboard for existing gateways#102677
Conversation
|
Land-ready at exact head Proof completed:
Known proof gap: the existing Peekaboo bridge lacked Screen Recording permission, so no screenshot was captured. PID-scoped macOS Accessibility window titles supplied the positive/negative UI evidence. The static macOS Crabbox lease identifier is omitted because it embeds a private network address. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 015e8fde1f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex review: needs maintainer review before merge. Reviewed July 9, 2026, 7:15 AM ET / 11:15 UTC. Summary PR surface: Docs +5, Other +66. Total +71 across 4 files. Reproducibility: yes. source-reproducible on current main: launch starts the async connection-mode coordinator and immediately schedules onboarding while Review metrics: none identified. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge
Security Review detailsBest possible solution: Land the focused macOS launch-path fix with the linked issue’s proof: configured connected Gateways open the dashboard, unreachable Gateways stay in recovery onboarding, and interrupted onboarding remains incomplete. Do we have a high-confidence way to reproduce the issue? Yes, source-reproducible on current main: launch starts the async connection-mode coordinator and immediately schedules onboarding while Is this the best way to solve the issue? Yes, this is the best narrow fix: the launch scheduler is the race point, while the transport coordinator should not own UI onboarding or dashboard decisions. The patch also rejects the unsafe alternative of auto-completing interrupted app-local onboarding. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 08663917fa37. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Docs +5, Other +66. Total +71 across 4 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Merged via squash.
|
* fix(macos): skip onboarding for existing gateways * chore: keep changelog release-owned * chore(macos): refresh native i18n inventory
Closes #102642
What Problem This Solves
The macOS app could show provider/Crestodian onboarding even when its existing OpenClaw configuration already selected a working local or remote Gateway. Launch scheduled onboarding independently of asynchronous Gateway connection setup, so fresh app-local preferences won that race.
Why This Change Was Made
Configured launches now wait for the canonical connection-mode coordinator. A successful authenticated connection from config-derived state completes onboarding and opens the dashboard; a failed connection keeps recovery onboarding available.
The app-local connection-mode preference distinguishes a genuinely existing configuration from an interrupted onboarding flow. That preserves unfinished setup instead of silently marking it complete after reconnect.
User Impact
Opening the macOS app against an already configured, reachable Gateway goes directly to the web dashboard. New installs, unreachable Gateways, and interrupted onboarding continue through setup/recovery.
Evidence
swift test --package-path apps/macos --filter MenuContentSmokeTests: 10 tests passed on macOS, including configured-connected, disconnected-recovery, and interrupted-onboarding cases.tbx_01kx358mr7whpkdc71nbbbnqjj.OpenClawdashboard and persisted onboarding completion; stored interrupted-onboarding state remained incomplete and exposedWelcome to OpenClaw.git diff --checkpassed.AI-assisted implementation and review.