feat(auth): blank-input grace window + generic register/login errors #11

Merged
nrupard merged 6 commits from fix/register-error-window into main 2026-04-14 18:42:14 +02:00
Owner

Summary

  • Adds a 120s server-uptime grace window: blank register/login submissions
    during that window return "Something went wrong, please try again" instead
    of leaking "Username must be at least 3 characters" during WASM hydration.
  • Collapses all other register/login failures to a single generic message
    with real reasons in tracing::warn! logs.
  • Ban message on login is preserved verbatim per design.

Test plan

  • Fresh server restart → click Register with blank fields → see the
    "try again" message.
  • Wait >2 min, repeat → see "Registration failed".
  • Login with wrong password → "Invalid credentials".
  • Login as a banned user → ban message unchanged.
  • cargo test --features server --no-default-features passes (via Docker).
## Summary - Adds a 120s server-uptime grace window: blank register/login submissions during that window return "Something went wrong, please try again" instead of leaking "Username must be at least 3 characters" during WASM hydration. - Collapses all other register/login failures to a single generic message with real reasons in `tracing::warn!` logs. - Ban message on login is preserved verbatim per design. ## Test plan - [ ] Fresh server restart → click Register with blank fields → see the "try again" message. - [ ] Wait >2 min, repeat → see "Registration failed". - [ ] Login with wrong password → "Invalid credentials". - [ ] Login as a banned user → ban message unchanged. - [ ] `cargo test --features server --no-default-features` passes (via Docker).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
nrupard changed title from WIP: feat(auth): blank-input grace window + generic register/login errors to feat(auth): blank-input grace window + generic register/login errors 2026-04-14 18:42:09 +02:00
nrupard deleted branch fix/register-error-window 2026-04-14 18:42:14 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!11
No description provided.