-
Notifications
You must be signed in to change notification settings - Fork 37
Feature/register Support new account creation/registration #579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
TigerInYourDream
wants to merge
8
commits into
project-robius:main
Choose a base branch
from
TigerInYourDream:feature/register-new
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Feature/register Support new account creation/registration #579
TigerInYourDream
wants to merge
8
commits into
project-robius:main
from
TigerInYourDream:feature/register-new
+1,239
−40
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Summary Implemented a complete user registration flow for Matrix accounts with support for both password-based and SSO registration methods. ## Key Features - Full registration screen UI with modern design - Dual registration methods: - Password-based registration for custom homeservers - SSO registration via Google OAuth for matrix.org - Smart homeserver selection with automatic mode switching - Comprehensive form validation: - Username requirement checking - Password minimum length (8 characters) - Password confirmation matching - Custom homeserver URL validation - Registration status modal with real-time feedback - SSO state management synchronized with login screen - Clean error handling with user-friendly notifications ## Technical Implementation - Follows Element's approach: SSO flow shared between login and registration - Matrix server automatically handles account creation vs login based on OAuth identity - Integrated with existing authentication infrastructure - Consistent UX patterns with login screen - Simplified UIA handling (supports m.login.dummy flow) ## UI/UX Improvements - Clear visual feedback during registration process - Disabled button states to prevent duplicate submissions - Informative status messages during SSO flow - Responsive modal dialogs for registration status - Consistent styling with existing Robrix design language ## Testing Checklist - [x] Password registration with custom homeserver - [x] SSO registration with matrix.org - [x] Form validation (empty fields, password strength, confirmation) - [x] Modal display and dismissal - [x] Error handling and user notifications - [x] Button state management during async operations
- Use if-let instead of match for single pattern - Replace useless format! with to_string()
3a8c22c to
4ced188
Compare
…ling Major improvements to registration screen: 1. SSO Registration Support: - Added source-aware SSO handling with is_registration flag - Register and login screens now have independent action flows - Proper modal display during SSO authentication - Automatic modal updates with status messages 2. Modal Handling Fixes: - Fixed non-clickable Cancel/Abort buttons in registration modals - Implemented proper was_internal pattern for modal close events - Added button mask state (gray out) during processing - Correct modal text for password vs SSO registration 3. UI/UX Consistency: - Unified modal styles between login and register screens (285px width) - Consistent padding, spacing, colors (#CCC background) - Matching title sections and button styles - Unified outer screen styles (#FFF background) 4. Code Quality: - Simplified RegisterAction enum (removed redundant variants) - Complete decoupling between login and register SSO flows - Clear documentation of SSO action handling architecture - Fixed all layout and z-index issues Technical details: - SpawnSSOServer now includes is_registration flag - sliding_sync.rs sends appropriate actions based on source - Each screen only processes its own action types - Modal shows immediately on SSO button click for better UX
4ced188 to
6509e20
Compare
- Close registration modal after successful password registration Previously the modal remained invisible but active, blocking UI interactions - Prevent false offline notifications for normal sync states Only Error, Terminated, and Offline states now trigger connection error popups Idle and Running states are normal operational states This fixes issues where users would see incorrect error messages after registration when the sync service is actually working properly.
19d1220 to
e070f6f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implemented a complete user registration flow for Matrix accounts with support for both password-based and SSO registration methods.
Key Features
Technical Implementation
UI/UX Improvements