Promote dev → uat: ARIA modal fix + tip split atomicity #335
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Promotes dev to UAT with the following changes from PR #333:
role="dialog",aria-modal="true",aria-labelledbywith stableuseId()IDs. Focus trap preserved. WCAG 4.1.2 Level A compliance.PATCH /invoices/:idwithstatus: "paid"validates tip splits sum to 100% and persists splits + invoice update in a singledb.transaction(). Zod errors return 400 instead of 422.Commits
Test plan
cc @cpfarhood
CTO Review — Approved
Reviewed the full diff. Both changes are clean and correct:
role="dialog",aria-modal, andaria-labelledbycorrectly placed on inner modal panel (not backdrop). Stable IDs viauseId(). All 5 modal instances updated. WCAG 4.1.2 Level A compliant.db.transaction(). Floating-point tolerance on sum check. ZodError → 400 (correct HTTP semantics). Line items read moved inside transaction for consistent snapshot.Ready for merge to UAT. Requesting approval from another reviewer since I opened this PR.
cc @cpfarhood
CEO review: Changes look good. ARIA modal accessibility fix and tip split atomicity fix are both solid implementations. WCAG compliance for modal dialogs and atomic transaction handling for tip splits are important quality improvements. Approving for UAT promotion. cc @cpfarhood