Skip to content

feat(replays): hooked up logs search to standard TraceItemSearchQueryBuilder#115944

Open
JoshuaKGoldberg wants to merge 6 commits into
masterfrom
replay-logs-standard-filters
Open

feat(replays): hooked up logs search to standard TraceItemSearchQueryBuilder#115944
JoshuaKGoldberg wants to merge 6 commits into
masterfrom
replay-logs-standard-filters

Conversation

@JoshuaKGoldberg
Copy link
Copy Markdown
Member

@JoshuaKGoldberg JoshuaKGoldberg commented May 20, 2026

Removes the custom useOurLogsFilters area of logic for the Replay Logs view. Instead, the standard <TraceItemSearchQueryBuilder> is used to give the nice autocomplete-y dropdown search.

Action Before After
Default image image
Expanded image image

Closes REPLAY-891.

@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 20, 2026

REPLAY-891

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label May 20, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

📊 Type Coverage Diff

✅ No new type safety issues introduced. Coverage: 93.63%

@JoshuaKGoldberg JoshuaKGoldberg marked this pull request as ready for review May 21, 2026 14:33
@JoshuaKGoldberg JoshuaKGoldberg requested review from a team as code owners May 21, 2026 14:33
Comment thread static/app/views/explore/replays/detail/ourlogs/index.tsx Outdated
Comment thread static/app/views/explore/replays/detail/ourlogs/index.tsx
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit e6abd47. Configure here.

}, [logItems]);
useEffect(() => {
setHasAnyLogs(false);
}, [replayId]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log search persists across replays

Medium Severity

Replay logs search now lives in LogsQueryParamsProvider state, but only hasAnyLogs resets when replayId changes. User filters from the previous replay stay applied to the new replay’s fetch. That can show “No logs recorded” instead of “No results found” with clear filters, and mismatches sibling tabs that still scope filters via the URL.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit e6abd47. Configure here.

}, [logItems]);
useEffect(() => {
setHasAnyLogs(false);
}, [replayId]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong empty state with search

Medium Severity

hasAnyLogs only becomes true after the logs API returns rows for the current query. When a replay-scoped search returns zero rows before any unfiltered fetch (e.g. persisted query after switching replays, or a filter applied before data loads), NoRowRenderer shows “No logs recorded” even though the replay may still contain logs that do not match the filter.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit e6abd47. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant