Add email verification screens and confirmation states #5

Closed
opened 2026-09-11 13:10:16 +00:00 by tech · 0 comments
Owner

Goal

Add the email-verification journey after signup: email sent, email verified, expired confirmation, invalid confirmation, and internal error screens.

Approach

Extend sxchnge_auth with injectable verification/resend contracts, providers and deterministic dummy services. Route successful dummy signup to a sent screen and support a confirmation-link route. Provide resend/retry actions as appropriate, localized EN/RU content and theme-based responsive screens. Explicitly identify dummy behavior: no real emails or verified accounts.

Acceptance criteria

  • Signup leads to the verification-email-sent screen.
  • Confirmation supports verified, expired, invalid and internal-error outcomes.
  • Resend and retry actions have loading/error feedback and safe lifecycle behavior.
  • Screens and actions are localized in EN/RU and use the installed theme.
  • Shared verification service/provider is reusable on mobile.
  • Tests, formatting, analysis and web build pass.

Notes

No production email provider, token generation or backend integration. Use documented explicit dummy confirmation tokens for preview scenarios. Keep secrets out of logs and persistent storage. Existing work remains uncommitted locally.

Implementation and validation

Implemented in the local working tree on verification-5: EN/RU sent, verified, expired, invalid/missing-link, and internal-error screens; signup routing; resend/retry; injectable shared verification service/provider with deterministic dummy tokens. No real email is sent or account verified.

Validation: make test-frontend passed all 51 tests (20 auth, 3 theme, 3 theme consumer, 25 app); formatting check and flutter analyze passed in both affected packages; flutter build web --no-wasm-dry-run passed. Widget coverage includes narrow EN/RU screens at 200% text scale, signup through confirmation, error recovery, and provider lifecycle guards. Browser preview reviewed at http://127.0.0.1:5123/. Changes remain uncommitted.

Delivery

Implementation is now committed and pushed in PR #8, PR #9. Earlier notes describing uncommitted work are superseded by this delivery. Current implementation branch: routing-6. Review order is #7 → #8 → #9; PRs #7, #8 and #9 are now merged into main.

Validation: all 56 frontend tests, all four Flutter package analyses, formatting checks and app web build passed. Website tests (3), Astro check and website build passed. Durable scope, limitations and workflow are stored in docs/implementation.md, AGENTS.md, frontend/AGENTS.md and .agents/skills/.

Merge completion

Merged through PRs #7, #8 and #9 in dependency order with merge commits. All contributions are on main at abc3f2d. Local main is synchronized and its tree matches the previously validated routing-6 tree exactly. Task completed.

### Goal Add the email-verification journey after signup: email sent, email verified, expired confirmation, invalid confirmation, and internal error screens. ### Approach Extend sxchnge_auth with injectable verification/resend contracts, providers and deterministic dummy services. Route successful dummy signup to a sent screen and support a confirmation-link route. Provide resend/retry actions as appropriate, localized EN/RU content and theme-based responsive screens. Explicitly identify dummy behavior: no real emails or verified accounts. ### Acceptance criteria - [x] Signup leads to the verification-email-sent screen. - [x] Confirmation supports verified, expired, invalid and internal-error outcomes. - [x] Resend and retry actions have loading/error feedback and safe lifecycle behavior. - [x] Screens and actions are localized in EN/RU and use the installed theme. - [x] Shared verification service/provider is reusable on mobile. - [x] Tests, formatting, analysis and web build pass. ### Notes No production email provider, token generation or backend integration. Use documented explicit dummy confirmation tokens for preview scenarios. Keep secrets out of logs and persistent storage. Existing work remains uncommitted locally. ### Implementation and validation Implemented in the local working tree on `verification-5`: EN/RU sent, verified, expired, invalid/missing-link, and internal-error screens; signup routing; resend/retry; injectable shared verification service/provider with deterministic dummy tokens. No real email is sent or account verified. Validation: `make test-frontend` passed all 51 tests (20 auth, 3 theme, 3 theme consumer, 25 app); formatting check and `flutter analyze` passed in both affected packages; `flutter build web --no-wasm-dry-run` passed. Widget coverage includes narrow EN/RU screens at 200% text scale, signup through confirmation, error recovery, and provider lifecycle guards. Browser preview reviewed at http://127.0.0.1:5123/. Changes remain uncommitted. ### Delivery Implementation is now committed and pushed in [PR #8](https://git.sendico.io/tech/sxchnge/pulls/8), [PR #9](https://git.sendico.io/tech/sxchnge/pulls/9). Earlier notes describing uncommitted work are superseded by this delivery. Current implementation branch: `routing-6`. Review order is #7 → #8 → #9; PRs #7, #8 and #9 are now merged into `main`. Validation: all 56 frontend tests, all four Flutter package analyses, formatting checks and app web build passed. Website tests (3), Astro check and website build passed. Durable scope, limitations and workflow are stored in `docs/implementation.md`, `AGENTS.md`, `frontend/AGENTS.md` and `.agents/skills/`. ### Merge completion Merged through PRs #7, #8 and #9 in dependency order with merge commits. All contributions are on `main` at `abc3f2d`. Local `main` is synchronized and its tree matches the previously validated `routing-6` tree exactly. Task completed.
tech added the frontend label 2026-09-11 13:10:16 +00:00
tech self-assigned this 2026-09-11 13:10:16 +00:00
tech added this to the SXCHNGE project 2026-09-11 13:10:16 +00:00
tech added reference verification-5 2026-09-11 13:10:31 +00:00
tech changed reference from verification-5 to routing-6 2026-09-11 13:38:42 +00:00
tech closed this issue 2026-09-11 13:46:20 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tech/sxchnge#5