[pull] master from getsentry:master#1829
Merged
Merged
Conversation
This PR centralizes the existing hotkey utils into an official `@sentry/scraps/hotkey` module that exposes our custom `useHotkeys()` hook with a `Kbd` and `Hotkey` component. This opens the door to better primitives down the line like global registration, a help menu, and more. [See Hotkey Story](https://sentry-git-scraps-kbd.sentry.dev/stories/core/hotkey)
In /settings/teams, if the button for a team was 'request access', the button would be cut off Before: <img width="190" height="239" alt="Screenshot 2026-03-26 at 2 10 04 PM" src="https://github.com/user-attachments/assets/30d3df82-1ec5-4409-a4fa-db5d7171c75e" /> After: <img width="182" height="231" alt="Screenshot 2026-03-26 at 2 10 11 PM" src="https://github.com/user-attachments/assets/e473f56a-763a-4d6c-bf9f-5c3161aaf69f" /> checked that this works as the screen width decreases as well Co-authored-by: Claude <noreply@anthropic.com>
…111684) ## Summary Adds richer analytics instrumentation to the new command palette (behind `cmd-k-supercharged`) to measure baseline success, understand user behavior, and identify improvement opportunities. All events go to Amplitude. ### New events - **`command_palette.closed`** — Tracks how users close the palette (`escape`, `backdrop_click`, `keyboard_toggle`, `action_selected`), whether they had any interaction, and the query at close time - **`command_palette.query`** — Debounced (500ms) search query tracking with `result_count`. Identifies what users search for and feature gaps (queries with 0 results) - **`command_palette.session`** — End-to-end summary fired on unmount: `duration_ms`, `actions_selected`, `queries_typed`, `completed` (boolean), `max_drill_depth` ### Updated events - **`command_palette.opened`** — Added `session_id` for funnel correlation - **`command_palette.action_selected`** — Added `action_type`, `group`, `result_index`, `session_id` - **`command_palette.no_results`** — Added `session_id` ### Key Amplitude queries this enables 1. **Success rate**: % of sessions where `completed = true` 2. **Abandonment**: sessions with `had_interaction` but no completion 3. **Feature gaps**: queries with `result_count = 0` 4. **Search quality**: average `result_index` (lower = better ranking) 5. **Time to complete**: average `duration_ms` 6. **Navigation depth**: distribution of `max_drill_depth` ## Test plan - [ ] Open palette via Cmd+K → `opened` event fires with `source: 'keyboard'` and `session_id` - [ ] Type a search query, wait 500ms → `query` event fires with `result_count` - [ ] Select a navigate action → `action_selected` fires with `action_type: 'navigate'`, `result_index`, `group` - [ ] Close with Escape → `closed` fires with `method: 'escape'` - [ ] Close with Cmd+K toggle → `closed` fires with `method: 'keyboard_toggle'` - [ ] Close by clicking backdrop → `closed` fires with `method: 'backdrop_click'` - [ ] After any close → `session` event fires with duration and completion metrics - [ ] All events in a session share the same `session_id`
Issues links need to use the proper organization-scoped path, in order to be cell safe. the /issues/<issueid> url used currently is deprecated and is marked for brownout starting may 15th
Bring in the Seer Code-Review overview section behind the `seer-overview` feature flag. <img width="991" height="321" alt="SCR-20260325-pahy" src="https://github.com/user-attachments/assets/f0378e08-86ce-4a13-b1a1-4c57fb921350" /> And some stories to show the different states, mostly counts of things <img width="1664" height="10924" alt="1282-hayes-qd dev getsentry net_7999_stories_product_views_settings_seer_overview_codereviewoverviewsection_" src="https://github.com/user-attachments/assets/27bad47b-ba9c-4a08-b79a-22f36fdcff3e" />
Issues links need to use the proper organization-scoped path, in order to be cell safe. the /issues/<issueid> url used currently is deprecated and is marked for brownout starting may 15th
capitalize label to match "Download Size" ### Legal Boilerplate Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )