Implements a Django management command to automatically
remove outdated user registrations. Cleans 'started'
registrations older than 48 hours and 'denied' or
'approved' registrations older than 30 days, for
privacy reasons.
Introduces a timestamp field to record creation time in the
UserRegistration model, improving traceability.
Updates status field with expanded choice set for status handling,
diversifying registration status representations.
Introduces a timestamp field to the UserRegistration model to
automatically capture the creation time of each entry. This helps
track and manage registration history more effectively.
Replaces the use of get_object_or_404 with a try-except block
to specifically catch UserRegistration.DoesNotExist. Returns
a 403 Forbidden response with a dedicated registration
forbidden template for invalid tokens.
Improves user experience by providing a clearer error
message when the registration token is missing or
invalid.
Informs users about data processing related to email and IP
address storage during registration. Enhances transparency
by detailing privacy practices before form submission,
aligning with data protection regulations.
Configures the STATIC_ROOT setting to specify the directory
where static files should be collected. Facilitates deployment
by allowing Django to gather static files in one location for
serving, aligning with Django's static files management
guidelines.
Introduces a new registration status 'Started' with adjustments
to default status handling. Adds a missing check in email
verification to prevent unauthorized users from accessing
the registration process. Updates forbidden response status
codes to improve security and debugging clarity.
Corrects unintended user modification warning logic and
ensures registration session keys are cleared post-creation
to prevent potential data leaks.
Improves code style consistency and readability across forms.
Introduces logic to clean and validate usernames by ensuring they remove the matrix domain prefix/suffix, are not empty, and contain only allowed characters. Enhances input validation for improved user error messaging.
Moves auto-join functionality for newly registered users to
occur after sending the registration approval email. Ensures
user feedback through email is handled before attempting room
joins, potentially improving user experience.
Introduces automatic room joining upon user registration.
Updates configuration to include a list of rooms for auto-join.
Enhances user onboarding experience by simplifying setup.
Addresses onboarding workflow.
Introduces a 'trust_proxy' setting in the configuration file to
handle client IP addresses correctly. Updates logic in the
EmailInputView to extract the client IP based on trust proxy
settings, improving flexibility for deployments behind proxies.
Relates to handling requests within various network environments.
Modifies the default environment variable to reflect the correct
nested module path for Django settings, ensuring the application
references the correct configuration.
Consolidates email notification and user unlocking logic
Validates Synapse server connection during startup
Adds configuration checks for admin email
Enhances error handling to notify admin if user unlocking fails
Adds requests to unlock and interact with new users in the Synapse server upon registration approval. Ensures usernames are available before registration finalization and attempts to lock user accounts post-creation, sending notifications on failure. Automates deactivation of users upon registration denial with email alerting on failure.
Improves integration with external systems for seamless synchronization and better user experience.
Sets up a Django application for user registration with Synapse,
including database models, forms, views, and templates. Introduces
functionality for user registration approval and email verification.
Configures Django project settings, URLs, and email handling.
Includes a sample configuration file and .gitignore additions.