Repository navigation
feat(dashboard): Treat camelCase capitals as word starts in the quick switcher - #2908
Merged
Merged
Conversation
… switcher Co-Authored-By: BYK <126780+BYK@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
10 screenshot changes — 10 changed · 0 added · 0 removed Review screenshots in Frameshift |
BYK
added a commit
to getsentry/toolkit
that referenced
this pull request
Nov 8, 2026
) Search mode (completions, the select filter, list name filters, schema field search) lowercased names before it looked for word starts. So `Scope` in `isolationScope` counted as mid-word. This treats a capital after a lowercase letter as a word start, like fuzzysort and the Junior quick switcher (getsentry/junior#2908). - Word starts are read from the original name, then mapped into the indices of `name.toLowerCase()`. That string can be longer: "İ" lowercases to "i" plus a combining dot. - Matching still lowercases both sides with `toLowerCase()`, as on `main`, so a query that the caller lowercased first still matches. - A typo still starts only at a letter or digit. Examples: - `curnet` now finds `getCurrentHub`; before, it didn't match. - `iss` ranks `isolationScope` above `isolationscope`, because the `S` is now a word start. Before, they tied. The default mode ("Did you mean…?") has the same exact, prefix, and contains tiers and the same edit-distance fallback. Only search-mode scatter and typo scoring changes. Verified: - The new `fuzzy.test.ts` cases fail before the change and pass after it. All 39 tests in that file pass. - `pnpm run tsc` and `pnpm run lint` pass. - I ran 38 test files in `test/lib` that failed locally against both `main` and this branch. They fail the same 29 tests either way, because of sandbox permissions and unauthenticated API errors. CI has the full suite. <!-- junior-request-attribution:start --> via @BYK. <!-- junior-request-attribution:end --> <!-- junior-session-footer:start --> <!-- junior-conversation-id:local%3Aweb%3Ad9d1647e26e4f2706ce013ea --> -- [View Session in Sentry](https://sentry.sentry.io/explore/conversations/local%3Aweb%3Ad9d1647e26e4f2706ce013ea/?project=4510944073809921) <!-- junior-session-footer:end --> --------- Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com> Co-authored-by: BYK <126780+BYK@users.noreply.github.com>
BYK
approved these changes
Nov 8, 2026
23 tasks done
This branch was successfully deployed
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.
The ⌘K matcher lowercased titles before it looked for word starts, so
ScopeinisolationScopecounted as mid-word. fuzzysort treats a capital after a lowercase letter as a word start. This does the same.Word starts are now read from the original title. Case folding still keeps UTF-16 indices aligned.
scopehubcurnetCurrenEverything else scores the same as before. On the 27-query title benchmark from #2902, the right title is still first for 23/27 and in the top 3 for 27/27. Typos still start only at letters or digits.
No visual change: the palette's rendering is the same, and only the ranking and highlights for camelCase titles move.
Verified with the
quickOpenMatchunit tests (the new test fails onmain), the command palette e2e spec, and dashboard typecheck and lint.The CLI gets the same change in getsentry/toolkit.
via @BYK.
--
View Session in Sentry