Open Display from the floating-bar Settings action (SBS-872) - #314
Conversation
The three settings-tab lists had drifted, so FloatBar sent menuBar and the Settings shell fell back to General.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ceiling | fb69eb0 | Commit Preview URL Branch Preview URL |
Aug 16 2026, 10:24 AM |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 58 minutes Limit details: You’ve used all 1 included review currently available under your plan. You completed 91 included PR reviews in the past 7 days; at that activity level, included reviews refill at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (13)
Comment |
Automated reviewNo blocking issues found. Resolved since the previous pass: 1. For coding agents: fix BLOCK and FIX IF QUICK findings now; everything else is tracked or informational; never exceed one CodeRev fix round per PR. Advisory. Findings generated by |
The crate header still advertised `settings:apiKeys` and `settings:cookies`. Both were dropped from `SETTINGS_TAB_IDS`, so `ProofConfig::from_env` logs an unsupported target and returns None: anyone following the header never enters proof mode and never gets a Settings window at all. Replaces them with `settings:accounts` and `settings:menu`, and adds `header_examples_are_live_proof_mode_values`, which reads the bullet examples back out of this file's own source and asserts each one still parses. A retired id cannot survive in the header again.
Summary
FloatBar opened Settings with tab menuBar. The Settings shell only renders menu for Display, so the window landed on General. The Rust allowlist, SettingsTabId, and TAB_META were three different lists, and existing tests could not fail when the other side changed.
This aligns all three lists to the live shell tabs, sends menu from FloatBar (same as PopOutPanel Display), and types openSettingsWindow as SettingsTabId.
A user who opens Settings from the floating-bar menu now sees the Display tab.
Sweep
openSettingsWindow callers (production):
Retired ids display, apiKeys, cookies, menuBar are no longer accepted by is_supported_settings_tab or proof-mode open-settings.
Fail-without-fix
Reverted only the production allowlist / FloatBar / SettingsTabId changes.
Frontend: 5 failed. Rust list was display/apiKeys/cookies. FloatBar spy received menuBar.
Rust: open-settings:accounts parsed as None; display was still accepted.
Restored; those tests pass.
Quality gate
Linux:
Not run:
What this makes more likely
Old proof scripts settings:apiKeys / open-settings:cookies|display|menuBar are now ignored. open-settings:accounts starts working. A future non-SettingsTabId caller fails tsc instead of opening General.
Left out
No alias remap. Unknown tabs still fall back to General. Source scan covers the three known caller files. Not runtime-reproduced on Windows.
SBS-872. Do not merge from this PR.
Note
Fix floating bar Settings action to open the Display tab using the live 'menu' tab id
handleOpenSettingshandler was passing'menuBar'toopenSettingsWindow, which no longer matched any live tab id, causing the Settings window to fall back to the General tab instead of Display.SETTINGS_TAB_IDSinsurface_target.rsis updated to replace retired ids (display,apiKeys,cookies) with live ones (accounts,notifications,menu).SettingsTabIdinbridge.tsdrops'menuBar', andopenSettingsWindownow accepts onlySettingsTabIdfor static checking.settingsTabs.test.tsasserts that Rust tab ids, TypeScript types, and all call sites stay in sync.is_supported_settings_tabnow rejects'menuBar','display','apiKeys', and'cookies'as invalid tab ids.Macroscope summarized fb69eb0.