Conversation
Bundle sizes [mpdx-react]Compared against 65e17c2 No significant changes found |
wjames111
left a comment
There was a problem hiding this comment.
Multi-Agent Code Review
Verdict: APPROVED_WITH_SUGGESTIONS — no blockers, 1 Important + 2 Medium findings worth a look before merge.
Mode: standard · Risk: LOW (2/10) · Agents: Architecture, Testing, Standards, UX, Financial Reporting
Summary
Clean, focused PR: renames two user-visible partner-reminder status labels (Do Not Remind → Requested No Reminder, Not Reminded → Not Yet Enrolled) and reorders the StatusSelect dropdown via an explicit orderedStatuses array. All three test files are updated, no orphan references to the old strings remain anywhere in src/ or pages/, translation keys are added in correct alphabetical position, and the single source of truth (getLocalizedReminderStatus) keeps the screen and print views aligned.
Net architectural impact is slightly positive — the dropdown's display order no longer depends on the GraphQL enum's declaration order.
Findings
| # | Severity | Where | Issue |
|---|---|---|---|
| 1 | 7.0 Important | StatusSelect.tsx:26 |
width: 150 likely truncates Requested No Reminder (21 chars). |
| 2 | 6.5 Medium | StatusSelect.tsx:10 |
No exhaustiveness check — a new enum value will be silently dropped. |
| 3 | 6.5 Medium | getLocalizedReminderStatus.ts:23 |
Verify "Not Yet Enrolled" semantics if no actual enrollment flow exists. |
Details on each are posted inline. The Standards, Architecture, and Financial Reporting agents found no issues.
Pre-existing (Informational — not in this PR's scope)
StatusSelect.tsx:26— Select has no accessible name. No<InputLabel>, noaria-label, noaria-labelledby. Screen-reader users hear only "combobox" plus the current value. The header cell atRemindersTable.tsx:142hasid="status-col"(apparent intent to associate) but nothing consumes it. Pre-existing and out of scope here, but flagged because this PR is specifically about clarifying the labels SR users will hear.
Locale files (Informational)
The old Not Reminded / Do Not Remind keys still exist in non-English public/locales/*/translation.json files. These are CrowdIn-managed and excluded from review per .CLAUDE/rules/code-review.md. The standard CrowdIn sync (yarn crowdin:upload) should propagate the new keys; old keys will be cleaned up on the next pull.
Standards Checklist
- Named exports: ✅
- Localization (no dynamic keys, no interpolation, alphabetical placement): ✅
- TypeScript (no
any, no@ts-ignore, no!): ✅ - Tests colocated, default branch covered for
undefined: ✅ - No
console.log/debugger/ unkeyed TODO: ✅ - Code quality: ✅
There was a problem hiding this comment.
AI Review Auto-Approval
Risk Level: LOW (2/10)
Verdict: APPROVED_WITH_SUGGESTIONS (suggestions posted, no blockers)
This PR was auto-approved because:
- The multi-agent AI review determined it is low risk
- No blocking issues were found
- All suggestions have been posted as review comments for the developer to consider
If you believe this PR needs human review, dismiss this approval and request a review manually.
|
Preview branch generated at https://MPDX-9606.d3dytjb8adxkk5.amplifyapp.com |
Description
Frequency.java).Related ticket: MPDX-9606
Testing
caleb.cox@cru.org)Checklist:
/pr-reviewcommand locally and fixed any relevant suggestions🤖 Generated with Claude Code