feat(replays): hooked up logs search to standard TraceItemSearchQueryBuilder#115944
feat(replays): hooked up logs search to standard TraceItemSearchQueryBuilder#115944JoshuaKGoldberg wants to merge 6 commits into
Conversation
📊 Type Coverage Diff✅ No new type safety issues introduced. Coverage: 93.63% |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ 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]); |
There was a problem hiding this comment.
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.
Reviewed by Cursor Bugbot for commit e6abd47. Configure here.
| }, [logItems]); | ||
| useEffect(() => { | ||
| setHasAnyLogs(false); | ||
| }, [replayId]); |
There was a problem hiding this comment.
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)
Reviewed by Cursor Bugbot for commit e6abd47. Configure here.


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