[fix] Display report information on other reports table#475
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughReplaces timestamp-based primary report selection with ID-based selection. MergedReportsComponent accepts ChangesPrimary Report Identification and Data Resolution
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@client/src/webpages/dashboard/mrt/manual_review_job/MergedReportsComponent.tsx`:
- Line 166: The fallback only handles null/undefined so empty strings still
render blank; update the mapping in MergedReportsComponent where `reason:
report.reason ?? '—'` is set to treat empty strings as missing (e.g., use a
conditional like `report.reason && report.reason.trim() ? report.reason : '—'`
or use `((report.reason ?? '').trim() || '—')`) so blank or whitespace-only
reasons render as '—'.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 2382d2bd-ab20-4089-bb7b-bf779314fb15
📒 Files selected for processing (2)
client/src/webpages/dashboard/mrt/manual_review_job/ManualReviewJobReview.tsxclient/src/webpages/dashboard/mrt/manual_review_job/MergedReportsComponent.tsx
|
thank you! much better :) great catch |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@client/src/webpages/dashboard/mrt/manual_review_job/MergedReportsComponent.tsx`:
- Around line 34-48: The otherReports useMemo currently returns the full
reportHistory when primaryReportId is provided but not found, which can
reintroduce duplication; update the branch inside the useMemo (the matchIdx >= 0
check) so that if matchIdx < 0 you return reportHistory.slice(1) instead of
reportHistory, ensuring the first item (assumed primary) is omitted; reference
the symbols primaryReportId, reportHistory, matchIdx and the otherReports
useMemo to locate and modify the logic.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 9b7f27d7-3c91-4a0b-8441-ca7e17d3f99e
📒 Files selected for processing (1)
client/src/webpages/dashboard/mrt/manual_review_job/MergedReportsComponent.tsx
Context & Requests for Reviewers
Fixes #450
When a job had multiple merged reports, the "N other reports" table on the manual review screen rendered column headers but no rows, even though the count above said reports existed.
Root cause:
MergedReportsComponentfiltered the merged report list byreportedAt !== job.createdAtto drop the primary report (which is shown separately above). That filter is fragile given that several reports share the samereportedAt(common in tests, scripted submissions, or bursty real traffic where multiple users report within the same second), every entry whose timestamp matched the original report's reportedAt got filtered out, leaving an empty table.Some minor improvements:
The table now spans the full width of its container and the wrapper has symmetric padding so the Hide button isn't flush against the edge.
After:

Summary by CodeRabbit