LoVisual/backend
loki5512344 c57f851a8b
feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset
- mail/ module (lettre, ru/en templates), links built only from PUBLIC_BASE_URL
- migration 0006: accounts.email_verified_at, shared email_tokens table (verify + reset), existing accounts marked verified
- reset mailer no longer logs tokens; RESET_MAIL_MODE=log is dev-only and refused with COOKIE_SECURE=true; Disabled by default answers 503
- forgot-password and resend-verification do their work in a background task (no timing oracle)
- device linking requires a verified email; email_verified exposed via /me and gRPC
- gateway rate limits, SMTP_* in compose and .env.example
- frontend: verify, forgot-password, reset-password pages, verify banner, ru/en strings
2026-10-09 21:08:33 +02:00
..
accounts-service feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
addons-registry feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
chat-service fix: CI workflow, password reset flow, health/limits in services, session refactor, dead mixin stub cleanup 2026-10-09 19:21:17 +02:00
common feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
configs-service fix: CI workflow, password reset flow, health/limits in services, session refactor, dead mixin stub cleanup 2026-10-09 19:21:17 +02:00
deploy fix(frontend): add a real robots.txt, cache hashed assets forever 2026-09-30 15:40:04 +02:00
gateway feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
scripts feat: GuiPresence (chat-service presence backend, gateway route, mod module); restore TODO history 2026-10-02 13:41:49 +02:00
.dockerignore chore(docker): keep the build context to the workspace crates 2026-09-29 18:46:46 +02:00
.env.example feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
.gitignore chore(history): squash 59 commit(s) from 2026-09-23 2026-09-23 22:38:08 +02:00
Cargo.lock feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
Cargo.toml feat: GuiPresence (chat-service presence backend, gateway route, mod module); restore TODO history 2026-10-02 13:41:49 +02:00
docker-compose.prod.yml feat(accounts): outgoing mail over SMTP (Resend), email verification, fail-closed password reset 2026-10-09 21:08:33 +02:00
PLAN.md chore(history): squash 100 commit(s) from 2026-09-24 2026-09-24 23:52:12 +02:00
STRUCTURE.md feat: GuiPresence (chat-service presence backend, gateway route, mod module); restore TODO history 2026-10-02 13:41:49 +02:00