Repository navigation
fix(cli): Accept user.display as a replay explore field - #1605
Merged
Merged
Conversation
`sentry explore --dataset replays --field user.display` failed with a ValidationError because the replay field map had no user.display entry (CLI-1EZ). Agents reach for it because Discover datasets support it. Resolve it to the same user label the replay list shows and request the user root field from the API. Ported from getsentry/cli#1639. Co-Authored-By: BYK <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
BYK
approved these changes
Oct 23, 2026
BYK
added a commit
that referenced
this pull request
Oct 23, 2026
…1617) This is a follow-up to #1605. `sentry explore --dataset replays` checked `--field` against a hand-written resolver table, plus a `switch` that mapped each nested field to its API root. Every new replay field meant another CLI change. The field list now comes from `@sentry/api/valibot`: - **API fields:** every dotted path in a `vListReplays` row whose root appears in the `field=` enum of `vListOrganizationReplaysData`. - **Request root:** the first segment of the path. - **Value:** read from the replay row by path. The CLI keeps only its own aliases and convenience columns: `url`, `release`, `user`/`user.display`, `count_traces`, `screens`, `seen_by_me`, and similar. **Behavior changes** - No longer accepted, because the published schema doesn't offer them: - `device.model_id` was never in the response, so it always resolved to empty. - `info_id(s)` and `warning_id(s)` are withheld from the public response as internal UI fields. - Newly accepted: `user.display_name`, `clicks`, `segment_names`, `tags`. - `ota_updates.*` and `replay_type` become available once `@sentry/api` moves past 0.356, where the index started accepting them. At that point, flip the `replay_type` assertion in `test/lib/replay-search.test.ts` and `test/commands/explore.test.ts`. **Related:** getsentry/sentry#128639 removes `info_ids`/`warning_ids` from the public `field` enum, so request and response agree. This PR doesn't depend on it, because response paths are already filtered by the enum. **Checks** - Pass: `pnpm run typecheck` and `pnpm run lint`. - Pass: `vitest run` for `test/lib/replay-search.test.ts`, `test/commands/explore.test.ts`, and `test/commands/replay`. - The full `test/lib` + `test/commands` run had 7 failures in permission and daemon tests unrelated to replays. The sandbox doesn't enforce `chmod`, so those tests can't pass there. <!-- junior-request-attribution:start --> via **BYK**. <!-- junior-request-attribution:end --> <!-- junior-session-footer:start --> <!-- junior-conversation-id:slack%3AC010884QHLG%3A1792754298.933159 --> -- [View Junior Session](https://junior-prod.sentry.dev/conversations/slack%3AC010884QHLG%3A1792754298.933159) [[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3AC010884QHLG%3A1792754298.933159/?project=4510944073809921) <!-- junior-session-footer:end --> Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com> Co-authored-by: Burak Yigit Kaya <[email protected]>
This branch was previously 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.
sentry explore --dataset replays --field user.displayfailed with aValidationErrorbecause the replay field map had nouser.displayentry (CLI-1EZ). Agents reach for it because the Discover datasets support it.It now resolves to the same user label the replay list already shows (display name, then username, email, id, IP) and requests the
userroot field from the API.Ported from getsentry/cli#1639, which is being closed with the repo archive.
via BYK.
--
View Junior Session in Sentry