fix(settings): ⌘K search tab-state/URL divergence + index gaps (closes #405) - #411
Merged
Conversation
added 3 commits
July 24, 2026 01:19
Nav-rail selection now navigates `/settings?tab=<id>` instead of calling setTab directly, letting the existing route->tab effect drive the visible tab. Previously a manual nav click left the URL's `?tab=` stale, so a later ⌘K search to that same tab bailed on router's unchanged-hash early-return and silently did nothing (#405).
- Filter macOS-only settings ("Record system audio", "Hide dock icon")
out of the search index off-mac, using the same `isMac` signal GeneralTab
gates those rows on — they don't render on Windows/Linux.
- Add the missing "Discord" (AboutTab) and "Show in menu bar / system tray"
(GeneralTab) entries, mirroring GeneralTab's platform-dependent label so the
index title matches the rendered control (#405).
Adds the exact issue sequence (⌘K jump -> manual nav-rail switch -> ⌘K jump back) asserting the visible tab actually switches, plus a drift guard that a few index titles still match the labels their tabs render.
Contributor
There was a problem hiding this comment.
No issues found across 3 files
You’re at about 92% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.
ruzin
pushed a commit
that referenced
this pull request
Jul 24, 2026
Follow-up to #411: nav-rail clicks now push ?tab= entries onto the hash history, so browser Back can land on bare /settings - the route-sync effect previously ignored the absent param and left the old tab visible. Shares one tabFromRoute resolver between first-mount initialTab and the sync effect, and adds a T1 regression test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #405 — follow-ups to the #399 settings ⌘K search.
Fixes
onSelect={setTab}changed only local state, leaving?tab=stale; a later ⌘K search that navigated to the stale tab hit router's unchanged-hash early-return and silently did nothing. Now the nav rail callsnavigate('/settings?tab=<id>'), so the route is the single source of truth and the existing route→tab effect drives the visible tab. Deep-link/back and thetranscription→aialias unchanged.isMacin GeneralTab; the index now marks themmacOnlyand filters them out off macOS (reusing the sameisMacfrom@/lib/utils) so they don't jump to a tab where the row is absent.Tests
Follow-up to @Vassista's #349 → #399.
Summary by cubic
Fixes the settings ⌘K search failing after a manual tab switch by making the URL the single source of truth for the active tab. Aligns the settings search index with platform-specific rows and adds missing items.
/settings?tab=<id>instead of only setting local state, fixing the tab-state/URL divergence that blocked repeated ⌘K jumps (Settings ⌘K search: tab state and URL diverge, then a search silently does nothing #405).Written for commit 0ae9496. Summary will update on new commits.