feat(exams): improve offline exam submission flow and pre-screen UX - #239
Conversation
…ersistent sync records
|
Claude finished @syed-tp's task in 5m 5s —— View job PR Review Summary✅ What's good
🔴 CRITICAL — Must fix before merge
🟡 WARNING — Should fix
🔵 SUGGESTION — Nice to have
VerdictCHANGES REQUESTED |
…, button alignment, and unit tests for sync service
|
@claude review, the db migration was skipped intentionally as this app is not released yet |
|
Claude finished @syed-tp's task in 1m 13s —— View job PR Review Summary (updated)Thanks for the context on the DB migration — since the app hasn't shipped to production yet, there's no installed base with the old schema, so ✅ What's good
🔴 CRITICAL — Must fix before mergeNone outstanding. (DB migration item withdrawn per your note — app is pre-release, no installed base on schema v1 to migrate. Worth revisiting once the app ships, since 🟡 WARNING — Should fix
🔵 SUGGESTION — Nice to have
VerdictCHANGES REQUESTED (non-blocking: the two WARNING items above — badge consolidation and the missing/undelivered test coverage — are the most worth addressing before merge; the DB migration concern is resolved by the pre-release context). |
…nd add corresponding l10n keys
|
@claude review |
|
Claude finished @syed-tp's task in 2m 58s —— View job PR Review Summary (re-reviewed after latest commits)Re-verified the full diff ( ✅ What's good
🔴 CRITICAL — Must fix before merge
🟡 WARNING — Should fix
🔵 SUGGESTION — Nice to have
VerdictCHANGES REQUESTED — the badge/test/connectivity-dedup fixes from the previous round are solid, but the new |
|
@claude review |
|
Claude finished @syed-tp's task in 2m 33s —— View job PR Review Summary (re-reviewed after latest commit)Re-verified against ✅ What's good
🔴 CRITICAL — Must fix before merge
🟡 WARNING — Should fix
VerdictCHANGES REQUESTED — the destructive-resubmission bug from the last round is fixed, but the fix ships an unguarded retake capability (no |
|
@claude review, the open nvigates to the exam detail screen won't start the exam, and what youre saying is not valid, if the retake is won't allowed the sync will fail, there is no issue with that |
|
Claude finished @syed-tp's task in 2m 14s —— View job Todo
Re-checked both points against the current code on On "Open won't start the exam"Confirmed, and you're right that my earlier wording was imprecise. On "if retake isn't allowed, sync will fail — no issue"You're correct that the server is the source of truth and will reject a disallowed retake at sync time — the app doesn't need to duplicate There is one residual concern worth flagging (downgrading to WARNING, not blocking): trace through what actually happens when that rejection occurs.
This is a background-sync edge case, not a correctness bug in the retake-permission sense — the server enforcement itself is fine. It's a UX/audit-trail gap: worth either (a) a confirmation dialog before discarding the synced answers to start a retake, or (b) not cascading-deleting on permanent failure so the user gets some visible signal that a retake didn't take. Neither is a merge blocker given the server-side guard already prevents any actual policy violation. Updated VerdictNo remaining CRITICAL items from my side. The two WARNING items from the previous round (dead |

Why
What