Uh oh!
There was an error while loading. Please reload this page.
feat(web): search individual settings by detail - #8831
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Your free Security trial is over. An organization admin can activate Security or dismiss this notice. Comment |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ApprovabilityVerdict: 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. |
abd823e to
d4aced9CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
d4aced9 to
4761a5dCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
4761a5d to
9978e49CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
9978e49 to
dbaca17CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
bfe72ae to
6dec4c4CompareUh oh!
There was an error while loading. Please reload this page.
6dec4c4 to
c71163bCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
c71163b to
c66f601CompareUh oh!
There was an error while loading. Please reload this page.
083d6b1 to
22154c5CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
6d3b43a to
34b26e5CompareUh oh!
There was an error while loading. Please reload this page.
5816449 to
3c681caCompareUh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ 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.
Uh oh!
There was an error while loading. Please reload this page.
3c681ca to
c45550bCompareUh oh!
There was an error while loading. Please reload this page.
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>
## What's Changed * Add mobile composer attachment menu with video support by @juliusmarminge in pingdotgg/t3code#8843 * fix(web): restore unified activity logs and composer banners by @t3dotgg in pingdotgg/t3code#8734 * fix(web): address composer banner review follow-ups by @juliusmarminge in pingdotgg/t3code#8850 * fix(web): widen sync banners and simplify the working timer by @juliusmarminge in pingdotgg/t3code#8855 * fix(preview): improve browser recording quality by @maria-rcks in pingdotgg/t3code#8839 * fix(web): mark pull request links as external by @juliusmarminge in pingdotgg/t3code#8856 * fix(mobile): replace Callstack glass with Expo glass by @juliusmarminge in pingdotgg/t3code#8862 * fix(server): skip IDE detection in Claude probes by @yashranaway in pingdotgg/t3code#8634 * chore(macroscope): review diagnostic overrides by @t3-code[bot] in pingdotgg/t3code#8917 * fix(contracts): accept CLI event origins by @nateEc in pingdotgg/t3code#8905 * fix(web): hide invalid slash skill completions by @nateEc in pingdotgg/t3code#8904 * fix(mobile): defer draft navigation until submission completes by @juliusmarminge in pingdotgg/t3code#8914 * chore: disable CodeRabbit review status by @juliusmarminge in pingdotgg/t3code#8933 * Delete app.json by @juliusmarminge in pingdotgg/t3code#8934 * fix(web): show scrollbar for wide markdown tables by @UtkarshUsername in pingdotgg/t3code#8868 * fix(mobile): shimmer active tool rows by @juliusmarminge in pingdotgg/t3code#8932 * chore(deps): bump Electron to 43.4.1 by @StiensWout in pingdotgg/t3code#8626 * fix(chat): smooth worktree setup status by @juliusmarminge in pingdotgg/t3code#8922 * feat(mobile): add video playback with native iOS controls by @juliusmarminge in pingdotgg/t3code#8919 * fix(web): prevent chat metadata overlap by @MatthewFeroz in pingdotgg/t3code#8851 * fix(server): preserve usage cache outside walked roots by @Lucenx9 in pingdotgg/t3code#8540 * feat(mobile): add native image and PDF previews by @juliusmarminge in pingdotgg/t3code#8959 * fix(server): allow long thread IDs in HTTP routes by @nateEc in pingdotgg/t3code#8898 * fix(shared): preserve Windows shell PATH priority by @UtkarshUsername in pingdotgg/t3code#8748 * fix(web): make WSL settings searchable by @UtkarshUsername in pingdotgg/t3code#8881 * feat(web): add expand/collapse all control to the files surface by @UtkarshUsername in pingdotgg/t3code#8889 * feat(mobile): upload attachments while composing by @juliusmarminge in pingdotgg/t3code#8978 * fix(chat): keep agent activity visible between actions by @maria-rcks in pingdotgg/t3code#8984 * fix(server): isolate remote web session cookies by @Bil0000 in pingdotgg/t3code#8085 * feat(pull-requests): link GitHub references in markdown by @maria-rcks in pingdotgg/t3code#8812 * perf(server): reduce frequency of full tool call output being loaded into memory from db by @t3dotgg in pingdotgg/t3code#8988 * feat(web): add pull request list filters by @maria-rcks in pingdotgg/t3code#8809 * feat(web): search individual settings by detail by @maria-rcks in pingdotgg/t3code#8831 * feat(client): render viewed images in work logs by @maria-rcks in pingdotgg/t3code#8936 * fix(client): use package import for markdown image helpers by @juliusmarminge in pingdotgg/t3code#9010 * test: remove static presentation snapshots by @t3-code[bot] in pingdotgg/t3code#9008 * perf(server): bound snapshot activity payload memory by @t3dotgg in pingdotgg/t3code#9000 * perf(server): cut idle CPU use and stop provider event leaks by @t3dotgg in pingdotgg/t3code#8187 * perf(server): scan only appended transcript bytes for usage summaries by @StiensWout in pingdotgg/t3code#9024 * perf(server): cut chatty tool-update frames by 90% by @Adamulek123 in pingdotgg/t3code#8368 * fix(server): settle threads server-side by @t3dotgg in pingdotgg/t3code#8600 * fix(clients): dedupe skills in composer menus by @Adamulek123 in pingdotgg/t3code#8043 * fix(server): stop OpenCode child sessions by @t3dotgg in pingdotgg/t3code#9005 * perf(web): defer pull request line stats until visible by @Adamulek123 in pingdotgg/t3code#6471 * perf(server): skip full-message reads while streaming by @t3dotgg in pingdotgg/t3code#9032 * perf(client-runtime): halve server config bootstrap traffic by @Adamulek123 in pingdotgg/t3code#8367 * fix(web): align un-settle banner action by @StiensWout in pingdotgg/t3code#9033 * fix(web): block type-to-focus behind open dialogs by @Lucenx9 in pingdotgg/t3code#8139 * feat(shortcuts): copy active thread reference by @maria-rcks in pingdotgg/t3code#8994 * fix(mobile): keep thread scroll bounds current after animations by @juliusmarminge in pingdotgg/t3code#9013 * fix(server): cache project favicon resolution by @willsheldon in pingdotgg/t3code#9080 * feat(claude): add Claude Fable 5.1 model by @q1 in pingdotgg/t3code#9078 * fix(preview): restore recording and macOS rendering after Electron 43 by @StiensWout in pingdotgg/t3code#9001 * feat(desktop): add configurable quit shortcut confirmation by @juliusmarminge in pingdotgg/t3code#9076 * feat(web): open project settings from thread menus by @SunkenInTime in pingdotgg/t3code#8925 * fix(chat): reuse one row for live activity by @maria-rcks in pingdotgg/t3code#9062 * feat(models): discover Claude models from remote manifest by @juliusmarminge in pingdotgg/t3code#9084 * Revert "fix(chat): reuse one row for live activity" by @maria-rcks in pingdotgg/t3code#9096 * fix(web): sync sidebar PR state from open panel by @t3-code[bot] in pingdotgg/t3code#9092 * fix(web): changing projects no longer creates a draft by @extoci in pingdotgg/t3code#9097 * fix(web): keep theme placeholder text dimmer than entered text by @flamboh in pingdotgg/t3code#9104 * fix(web): keep the selected environment when changing projects by @t3dotgg in pingdotgg/t3code#9102 ## New Contributors * @willsheldon made their first contribution in pingdotgg/t3code#9080 * @q1 made their first contribution in pingdotgg/t3code#9078 **Full Changelog**: pingdotgg/t3code@v0.0.37...v0.0.38 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.38
…merge drops Merge origin/main (04efa79) into fork main; 70 conflicted files resolved keep-both per docs/internals/mt-fork-merges.md. Notable upstream work: server-side thread settlement (pingdotgg#8600), remote Claude model manifest (pingdotgg#9084) + Fable 5.1 (pingdotgg#9078), resumable usage transcript scans (pingdotgg#9024), media previews across clients (pingdotgg#9023), CLI open-in-desktop (pingdotgg#8824), quit-shortcut confirmation (pingdotgg#9076), PR list filters (pingdotgg#8809), settings search (pingdotgg#8831). Fork wiring kept: goals/queued turns/thread_send in decider + ProviderCommandReactor, TurnWatchdogReactor beside ThreadSettlementReactor, MT Auto router, usage sources (grok/cursor/opencode), voice, tabs, upstream PR shelf, Chrome multitab, computer use, environment retargeting. Superseded by upstream: client-side canSettle (queued-turn rule folded into ThreadSettlementPolicy), mobile autoSettleOnMerge preference. Pre-existing fork breakage fixed in passing: preload.ts lost the clientPlatform const (dropped definition, kept call site); ChatMarkdown's remark memo lacked remarkCodexDirectives so Codex file chips and artifact cards never rendered; Claude adapter still checked attachment.type === "pdf" after the 08-29 "file" model; Codex adapter carried a dead PDF-reject branch and a fork-only test asserting it; composerProviderState availability check now uses the alias-aware resolveSelectableModel. Verified: personal-verify-fork-features.sh OK; typecheck clean for contracts, shared, client-runtime, server, web, desktop, mobile; test suites green except two pre-existing fork failures (shared shell PATH ordering, CodexAdapter child-model lifecycle timeout — both fail on the backup branch too). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J764QWzvXpEUTgDPn5ahfo

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
searchTermsaliases using order-independent tokens, accent-insensitive normalization (normalizeSearchTextin sharedutils), 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_ITEMSgrows with per-item keywords and flags (cloudOnly,primaryOnly,providerSettingsOnly, etc.).useAvailableSettingsSearchItems/filterAvailableSettingsSearchItemshide 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
normalizeSearchTextin utils.ts; command palette and settings search both consume itsearchTerms; ranking favors exact, prefix, and substring matchesSETTINGS_SEARCH_ITEMScatalog withsearchTerms, platform/session gating flags (macOnly,cloudOnly,providerSettingsOnly, etc.), and stable ids for deep-link anchorsSettingsSearchTargetcomponent anduseSettingsSearchTargetIdhook let panels auto-scroll, focus, and expand the matching control when navigated from search resultsConnectionsSettings,ProviderSettingsPanel,SourceControlSettings,ThemeSettings, etc.) now source titles/ids fromsearchableSetting()for catalog consistencyrankSearchFieldMatchreturns0instead of1when tokens match but the full query is not a substring; settings that do not contain every query token are now filtered outMacroscope summarized c45550b.
Built by
gpt-5.6-solusing the Codex harness.