Conversation
📝 WalkthroughWalkthroughThis PR implements password setup and email management flows for social-authentication users. It adds new localization strings, a backend endpoint to request password setup emails, updated user serialization to expose password status, frontend components for managing no-password states, and refactored account settings and password reset interfaces to handle users without existing passwords. Changes
Sequence DiagramsequenceDiagram
actor User
participant Frontend as Frontend (React)
participant Action as Server Action
participant Backend as Backend API
participant DB as Database
User->>Frontend: Open Account Settings (no password)
Frontend->>DB: Fetch current user profile
DB-->>Frontend: Return user with has_password=false
Frontend->>Frontend: Render NoPasswordBanner + email disabled
User->>Frontend: Click "Send Set-Password Email"
Frontend->>Action: sendSetPasswordEmail()
Action->>Backend: POST /users/me/request-set-password/
Backend->>DB: Check user.has_usable_password()
Backend->>Backend: Send password reset email
Backend-->>Action: HTTP 204 (success)
Action-->>Frontend: {} success response
Frontend->>Frontend: Show success toast
User->>User: Click email link in password reset email
User->>Frontend: Navigate to /accounts/reset?uid=X&token=Y
Frontend->>Frontend: Load password reset form
User->>Frontend: Submit new password
Frontend->>Action: passwordResetConfirmAction(uid, token, password)
Action->>Backend: POST /accounts/auth/password/reset/confirm/
Backend->>DB: Set user password via set_password()
Backend-->>Action: Success
Action->>Frontend: Redirect to /accounts/settings/account/
Frontend->>Frontend: User now has password, email edit enabled
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 Preview EnvironmentYour preview environment is ready!
Details
ℹ️ Preview Environment InfoIsolation:
Limitations:
Cleanup:
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Updated user account settings. If you signed up via Google/Facebook, we now show a disclaimer that you need to set up a password:
Clicking email change now shows an error toast:
The user is prompted to set up a password via the email password reset flow:
Slightly modified password reset page + added extra copy:

closes #2091
Summary by CodeRabbit
New Features
Improvements