Skip to content

feat(web): search individual settings by detail - #8831

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
maria-rcks:t3code/improve-settings-search
Sep 1, 2026
Merged

feat(web): search individual settings by detail#8831
maria-rcks merged 1 commit into
pingdotgg:mainfrom
maria-rcks:t3code/improve-settings-search

Conversation

@maria-rcks

@maria-rcks maria-rcks commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Settings search now matches individual setting titles, section names, and detailed keywords, with token-aware ranking for live results. The command palette uses the same availability-filtered catalog and opens the exact rendered row.

Validation: 65 focused unit tests, web typecheck, lint, formatting, and live browser passes for "pull request template", "default browser zoom", "administrative access", and "git fetch interval" at their exact destinations. The shared preview capture endpoint is unavailable, so the requested recording is still pending.


Note

Medium Risk
Touches global search/navigation and can change the selected provider environment when deep-linking; behavior is well-tested but affects a high-traffic UX path.

Overview
Adds settings-aware search to the command palette and upgrades the settings sidebar search to use the same catalog, ranking, and availability rules.

Search behavior now matches across setting titles, section names, and searchTerms aliases using order-independent tokens, accent-insensitive normalization (normalizeSearchText in shared utils), and stronger ranking (exact title beats split keyword matches). Command palette filtering uses the same token logic for projects, threads, and the new Settings result group.

Catalog & gating: SETTINGS_SEARCH_ITEMS grows with per-item keywords and flags (cloudOnly, primaryOnly, providerSettingsOnly, etc.). useAvailableSettingsSearchItems / filterAvailableSettingsSearchItems hide rows the UI cannot show (platform, WSL, permissions, connection state) instead of ad hoc WSL filtering in the sidebar.

Deep links: Selecting a setting navigates to the right panel with a hash anchor; panels pull titles/ids from searchableSetting. Collapsed targets (e.g. provider Advanced, Git fetch interval) auto-expand when opened from search; provider health-interval search may switch to the first connected environment that can render provider settings.

User docs note that ⌘K now searches settings and jumps to the control or section.

Reviewed by Cursor Bugbot for commit c45550b. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add individual settings search with deep-linking to command palette

  • Adds accent-insensitive, locale-independent text normalization via shared normalizeSearchText in utils.ts; command palette and settings search both consume it
  • Settings search now tokenizes queries and requires all tokens to match across title, section, and searchTerms; ranking favors exact, prefix, and substring matches
  • Enriches the SETTINGS_SEARCH_ITEMS catalog with searchTerms, platform/session gating flags (macOnly, cloudOnly, providerSettingsOnly, etc.), and stable ids for deep-link anchors
  • New SettingsSearchTarget component and useSettingsSearchTargetId hook let panels auto-scroll, focus, and expand the matching control when navigated from search results
  • Many settings panels (ConnectionsSettings, ProviderSettingsPanel, SourceControlSettings, ThemeSettings, etc.) now source titles/ids from searchableSetting() for catalog consistency
  • Behavioral Change: rankSearchFieldMatch returns 0 instead of 1 when tokens match but the full query is not a substring; settings that do not contain every query token are now filtered out

Macroscope summarized c45550b.

Built by gpt-5.6-sol using the Codex harness.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f91d5b5a-e1f6-4a05-a4a4-6f2046a4fd8d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Warning

Your free Security trial is over. An organization admin can activate Security or dismiss this notice.


Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Aug 30, 2026
Comment thread apps/web/src/components/CommandPalette.tsx Outdated
Comment thread apps/web/src/components/CommandPalette.logic.ts Outdated
@macroscopeapp

macroscopeapp Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR adds a broad user-facing settings-search capability with platform, environment, and permission-aware filtering, deep-link navigation, and expansion of hidden settings controls. It also changes matching semantics for existing command-palette searches, creating cross-cutting runtime behavior that warrants human review.

You can add or adjust custom eligibility rules. Learn more.

@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from abd823e to d4aced9 Compare September 1, 2026 01:48
Comment thread apps/web/src/components/CommandPalette.tsx Outdated
Comment thread apps/web/src/components/CommandPalette.logic.ts Outdated
Comment thread apps/web/src/components/CommandPalette.tsx Outdated

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three findings, all the same shape: new catalog entries and the new palette call site expose settings whose rows are conditionally unmounted, which the catalog's desktopOnly/windowsOnly flags (and the sidebar's WSL filter) exist to prevent. See the inline comments.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/settings/settingsSearch.ts
Comment thread apps/web/src/components/CommandPalette.tsx Outdated
Comment thread apps/web/src/components/settings/settingsSearch.ts
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from d4aced9 to 4761a5d Compare September 1, 2026 02:28
Comment thread apps/web/src/components/CommandPalette.logic.ts Outdated
Comment thread apps/web/src/components/settings/settingsSearch.ts
Comment thread apps/web/src/components/CommandPalette.tsx
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from 4761a5d to 9978e49 Compare September 1, 2026 02:59
Comment thread apps/web/src/components/settings/settingsSearch.ts
Comment thread apps/web/src/components/settings/settingsSearch.ts
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from 9978e49 to dbaca17 Compare September 1, 2026 03:02
Comment thread apps/web/src/components/settings/useAvailableSettingsSearchItems.ts
Comment thread apps/web/src/components/settings/SettingsPanels.tsx
Comment thread apps/web/src/components/settings/settingsSearch.ts Outdated
Comment thread apps/web/src/components/settings/settingsSearch.ts Outdated
Comment thread apps/web/src/components/settings/settingsSearch.ts
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch 2 times, most recently from bfe72ae to 6dec4c4 Compare September 1, 2026 03:18
Comment thread apps/web/src/components/settings/ProviderSettingsPanel.tsx Outdated
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from 6dec4c4 to c71163b Compare September 1, 2026 03:25
Comment thread apps/web/src/components/settings/settingsSearch.ts Outdated
Comment thread apps/web/src/components/settings/settingsSearch.ts
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from c71163b to c66f601 Compare September 1, 2026 03:36
Comment thread apps/web/src/components/settings/settingsSearch.ts
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch 2 times, most recently from 083d6b1 to 22154c5 Compare September 1, 2026 03:52
Comment thread apps/web/src/components/settings/ProviderSettingsPanel.environment.test.tsx Outdated
Comment thread apps/web/src/components/CommandPalette.tsx
Comment thread apps/web/src/components/settings/SettingsPanels.tsx
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch 2 times, most recently from 6d3b43a to 34b26e5 Compare September 1, 2026 04:08
Comment thread apps/web/src/components/settings/ProviderSettingsPanel.tsx
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch 2 times, most recently from 5816449 to 3c681ca Compare September 1, 2026 04:20
@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels Sep 1, 2026
Comment thread apps/web/src/components/settings/SourceControlSettings.tsx Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3c681ca. Configure here.

Comment thread apps/web/src/components/settings/ProviderSettingsPanel.tsx
@maria-rcks
maria-rcks force-pushed the t3code/improve-settings-search branch from 3c681ca to c45550b Compare September 1, 2026 04:32
@maria-rcks
maria-rcks merged commit ff93aba into pingdotgg:main Sep 1, 2026
26 checks passed
juliusmarminge added a commit that referenced this pull request Sep 1, 2026
Restores main features dropped by the policy replay: #8569 theme wiring,
#8850 composer banner follow-ups, #8855/#8904 composer fixes, #8831
settings search rework, #8803 workspace-mutation refresh (v2-adapted),
#8840 circle-alert, #8584 codex artifact templates, #8688/#8807/#8936
video + image previews (web and mobile, v2-adapted), #8862 Expo glass,
and the round's docs. Timeline thinking rows (#8984) stay on the v2
work-live system.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant