Repository navigation
v1.0.15
v1.0.15 - Persistent Q&A Progress, Saved Questions & Dashboard Learning Overview
Account-Backed Q&A Progress
This release introduces persistent Q&A learning progress for registered users, allowing them to continue studying across devices and browser sessions.
- Added the
user_question_progressdatabase schema and Drizzle migration - Stored viewed, bookmarked, and last-opened question states per user
- Added authenticated APIs for loading and updating question progress
- Opening a question now automatically marks it as viewed
- Progress is stored in PostgreSQL instead of browser local storage
- Added synchronization when the browser tab regains focus
Saved Questions
- Added bookmark controls to every Q&A question
- Added a Saved counter for each topic
- Added URL-backed All questions and Saved filters
- Added direct links to bookmarked questions
- Added an empty state for topics without saved questions
- Preserved bookmarks when viewed progress is reset
- Added optimistic bookmark updates with automatic rollback on failure
Progress Reset
- Added a confirmation dialog before resetting progress
- Displayed the number of viewed questions that will be cleared
- Clearly communicated that bookmarks will be preserved
- Added localized Yes, No, cancel, and confirmation actions
- Added retry handling for failed reset requests
Guest Progress Onboarding
- Added a one-time sign-in prompt after a guest opens their first answer
- Explained the benefits of creating an account and saving progress
- Added login navigation that returns users to the same Q&A topic
- Added a Continue without saving option
- Prevented unauthenticated users from entering account-only Saved states
Dashboard Learning Overview
- Added a new Question Progress section to the user dashboard
- Displayed progress grouped by Q&A topic
- Added viewed question totals and completion percentages
- Added bookmarked question counts
- Added learning statuses for each topic
- Added Continue learning navigation from the last-opened question
- Added direct navigation to saved questions
Reliability and Error Recovery
- Added optimistic progress updates with server confirmation
- Restored the previous UI state when a request fails
- Added loading, empty, and error states
- Added retry actions for loading, saving, and resetting progress
- Re-synchronized progress after returning to the browser tab
- Preserved topic, pagination, focused-question, and filter state in the URL
Localization and Accessibility
- Added complete Q&A progress translations for:
- English
- Ukrainian
- Polish
- Added localized guest prompts, reset warnings, errors, and retry actions
- Improved accordion semantics and keyboard accessibility
- Added screen-reader labels for:
- Viewed status
- Bookmark actions
- Accordion toggles
- Progress controls
Project Documentation
- Added
INSTRUCTIONS.mdwith an English end-user guide - Added
RUNBOOK.mdwith production operations documentation - Documented:
- Netlify deployment
- Neon PostgreSQL
- Drizzle migrations
- Release and rollback procedures
- Provider operations
- Smoke testing
- Incident response
Testing
- Added component tests for the dashboard Question Progress section
- Added tests for the guest progress prompt
- Added tests for the progress toolbar and confirmation modal
- Added hook tests for authenticated progress loading and synchronization
- Added optimistic update and rollback coverage
- Added reset and bookmark preservation coverage
- Added authenticated API and saved-question filtering coverage
- Verified the new Q&A functionality with 65 passing tests
- Verified a successful production build
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Netlify
Live: https://devlovers.net