Context
Background
Each sync step should fail independently — a single failing step should
not crash or block the rest of the sync sequence. Errors are stored in
MMKV per step and surfaced inline on the home screen.
Tasks
Per-step error handling
Step keys
| MMKV key |
Step |
sync_error_projects |
GET /users/:userId/projects |
sync_error_chapter_assignments |
GET /users/:userId/chapter-assignments |
sync_error_project_units |
Deriving project_units |
sync_error_bible_texts |
POST /bibles/:bibleId/bulk-texts |
Acceptance criteria
Context
Background
Each sync step should fail independently — a single failing step should
not crash or block the rest of the sync sequence. Errors are stored in
MMKV per step and surfaced inline on the home screen.
Tasks
Per-step error handling
sync_error_<step>with the error message stringStep keys
sync_error_projectsGET /users/:userId/projectssync_error_chapter_assignmentsGET /users/:userId/chapter-assignmentssync_error_project_unitssync_error_bible_textsPOST /bibles/:bibleId/bulk-textsAcceptance criteria
sync_error_<step>key in MMKV(handled by #XX Inline sync status UI)