Skip to content

fix(#637): persist quiz draft answers and add resume prompt#748

Merged
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
lamborghini21:fix/637-quiz-persistence-resume
Jun 30, 2026
Merged

fix(#637): persist quiz draft answers and add resume prompt#748
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
lamborghini21:fix/637-quiz-persistence-resume

Conversation

@lamborghini21

Copy link
Copy Markdown
Contributor

Fixes MobileQuizManager losing all quiz answers when iOS memory-evicts the app during a long quiz. Answers are now persisted to the Zustand quiz store on every submission and a resume prompt is shown when a previous in-progress session is detected.
Acceptance Criteria

Quiz answers persisted to quizStore on every answer submission
Quiz store persists via persist middleware — answers survive app kill
Resume prompt shown on quiz relaunch with partial progress
'Start fresh' option clears all quiz state via resetQuiz()
Unit test confirms answers retrievable from store after simulated kill

Closes #637

- Move answer state to quizStore.setAnswer
- Detect in-progress session on mount and show resume prompt
- Add 'Start fresh' option to reset quiz state
- Add unit tests for persist -> resume flow
@drips-wave

drips-wave Bot commented Jun 30, 2026

Copy link
Copy Markdown

@lamborghini21 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Thank you for contributing to the project.

@RUKAYAT-CODER RUKAYAT-CODER merged commit 5687467 into rinafcode:main Jun 30, 2026
0 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] MobileQuizManager does not save draft answers between sessions — all answers lost on backgrounding

2 participants