Fix forgot-password request: execute invisible reCAPTCHA, POST user/reset_password/ with await, correct /signin/ back link
Restyle confirmation + set-password pages to match Sign In glass UI
Set-password: validate link via GET, await POST, enforce ≥8 chars + number + special char
Sign In “Forgot Password?” navigates to /password_reset/
Test plan
npm test -- --watchAll=false --testPathPattern=PasswordReset.test
From Sign In → Forgot Password → submit email → confirmation page
Open email link /set_password/?slug=… → set password → redirected to Sign In
Invalid/expired slug redirects to Sign In
End-to-end with backend feature/password-reset-1
## Summary
- Pair with chat_backend password reset (#1)
- Fix forgot-password request: execute invisible reCAPTCHA, POST `user/reset_password/` with await, correct `/signin/` back link
- Restyle confirmation + set-password pages to match Sign In glass UI
- Set-password: validate link via GET, await POST, enforce ≥8 chars + number + special char
- Sign In “Forgot Password?” navigates to `/password_reset/`
## Test plan
- [ ] `npm test -- --watchAll=false --testPathPattern=PasswordReset.test`
- [ ] From Sign In → Forgot Password → submit email → confirmation page
- [ ] Open email link `/set_password/?slug=…` → set password → redirected to Sign In
- [ ] Invalid/expired slug redirects to Sign In
- [ ] End-to-end with backend `feature/password-reset-1`
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.
Summary
user/reset_password/with await, correct/signin/back link/password_reset/Test plan
npm test -- --watchAll=false --testPathPattern=PasswordReset.test/set_password/?slug=…→ set password → redirected to Sign Infeature/password-reset-1