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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
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-frontendpassed all 51 tests (20 auth, 3 theme, 3 theme consumer, 25 app); formatting check andflutter analyzepassed in both affected packages;flutter build web --no-wasm-dry-runpassed. 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 intomain.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.mdand.agents/skills/.Merge completion
Merged through PRs #7, #8 and #9 in dependency order with merge commits. All contributions are on
mainatabc3f2d. Localmainis synchronized and its tree matches the previously validatedrouting-6tree exactly. Task completed.verification-5to routing-6