Replace the broken csrf_exempt handler (responses never returned) with a
working DRF endpoint, use FRONTEND_BASE_URL for reset links, and harden
set-password against reuse and short passwords.
Restyle invite/reset/feedback mail to match the app glass UI, queue sends
via Django 6 Tasks (ImmediateBackend for now), and show timestamped auth
events on the user admin detail page.
Persist OutboundEmail rows (queued/sending/sent/failed) for invite, reset,
and feedback mail, show them on user detail + a dedicated admin list, and
stamp X-Hesychia-Email-Id for a future SMTP2GO webhook (#28).
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
csrf_exemptreset_passwordFBV (responses never returned; missingrequestsimport) with working DRFResetUserPasswordFRONTEND_BASE_URLSetUserPassword: require unusable password, min 8 chars, handle missing slugTest plan
manage.py test chat_backend.tests.test_views_users.ResetPasswordTestCase chat_backend.tests.test_views_users.SetPasswordTestCasefeature/password-reset-1PR