Skip to content

[pull] master from getsentry:master#1829

Merged
pull[bot] merged 7 commits into
KingDEV95:masterfrom
getsentry:master
Mar 27, 2026
Merged

[pull] master from getsentry:master#1829
pull[bot] merged 7 commits into
KingDEV95:masterfrom
getsentry:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Mar 27, 2026

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 : )

natemoo-re and others added 7 commits March 26, 2026 22:19
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.
@pull pull Bot locked and limited conversation to collaborators Mar 27, 2026
@pull pull Bot added the ⤵️ pull label Mar 27, 2026
@pull pull Bot merged commit 4ea4154 into KingDEV95:master Mar 27, 2026
@github-actions github-actions Bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Mar 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants