zulip/zerver/views
Alex Vandiver 9dfaa83aa8 invites: Remove invites worker, make confirmation object in-process.
The "invites" worker exists to do two things -- make a Confirmation
object, and send the outgoing email.  Making the Confirmation object
in a background process from where the PreregistrationUser is created
temporarily leaves the PreregistrationUser in invalid state, and
results in 500's, and the user not immediately seeing the sent
invitation.  That the "invites" worker also wants to create the
Confirmation object means that "resending" an invite invalidates the
URL in the previous email, which can be confusing to the user.

Moving the Confirmation creation to the same transaction solves both
of these issues, and leaves the "invites" worker with nothing to do
but send the email; as such, we remove it entirely, and use the
existing "email_senders" worker to send the invites.  The volume of
invites is small enough that this will not affect other uses of that
worker.

Fixes: #21306
Fixes: #24275
2024-05-02 14:23:04 -07:00
..
development registration: Ask user how they found Zulip. 2024-04-01 12:44:12 -07:00
__init__.py
alert_words.py alert_words: Migrate alert_words to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
attachments.py attachments: Correct attachment_id type from string to integer. 2023-10-22 17:06:34 -07:00
auth.py auth: Avoid deprecated django.contrib.auth.views.logout_then_login. 2024-04-04 16:27:58 -07:00
compatibility.py django: Use HttpRequest.headers. 2022-05-13 20:42:20 -07:00
custom_profile_fields.py custom_profile_fields: Make required field optional during update. 2024-04-15 16:52:11 -07:00
digest.py mypy: Fix most AnonymousUser type errors. 2021-07-24 14:55:46 -07:00
documentation.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
drafts.py drafts: Migrate drafts to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
email_mirror.py decorator: Rename internal_notify_view. 2024-02-15 15:42:50 -08:00
errors.py config_error: Support passing arguments specifying the "go back" link. 2024-03-05 11:53:51 -08:00
events_register.py register: Add client capability to not receive unknown users data. 2023-12-06 00:09:53 -08:00
health.py views: Add a /health healthcheck endpoint. 2023-09-20 09:53:59 -07:00
home.py page_params: Remove unused first_in_realm. 2024-02-08 10:08:15 -08:00
hotspots.py urls: Add a new endpoint for hotspot and deprecate the old one. 2023-12-06 18:19:20 -08:00
invite.py invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
message_edit.py messages: Remove use of @overload in access_message. 2024-04-12 11:41:27 -07:00
message_fetch.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
message_flags.py narrow-parameter: Add validation for the narrow parameters. 2024-04-20 09:04:26 -07:00
message_send.py message-type: Add support for "channel" as value for type parameter. 2024-04-11 09:40:25 -07:00
muted_users.py bots: Fix muting of cross realm bots. 2023-11-27 16:16:23 -08:00
presence.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
push_notifications.py push-notifications: Migrate to typed endpoint. 2024-04-21 11:09:32 -07:00
reactions.py reactions: Migrate to typed_endpoint. 2024-04-21 11:09:32 -07:00
read_receipts.py read-receipts: Migrate to typed endpoint. 2024-04-21 11:09:32 -07:00
realm.py settings: Add option to disable seeing typing notifications. 2024-04-16 11:38:12 -07:00
realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
realm_emoji.py ruff: Fix SIM300 Yoda conditions are discouraged. 2024-01-29 10:41:54 -08:00
realm_export.py realm_export: Use .count(), instead of len(). 2024-04-13 21:50:42 -07:00
realm_icon.py ruff: Fix SIM300 Yoda conditions are discouraged. 2024-01-29 10:41:54 -08:00
realm_linkifiers.py models: Extract zerver.models.linkifiers. 2023-12-16 22:08:44 -08:00
realm_logo.py ruff: Fix SIM300 Yoda conditions are discouraged. 2024-01-29 10:41:54 -08:00
realm_playgrounds.py realm_playgrounds: Refactor error handling for validation on creation. 2023-07-24 17:40:59 -07:00
registration.py settings: Add permission to enforce unique names in realm. 2024-04-02 14:55:59 -07:00
report.py csp_violations: Migrate has_request_variables to typed_endpoint. 2024-03-08 11:26:00 -08:00
scheduled_messages.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
sentry.py python: Use urlsplit instead of urlparse. 2023-12-05 13:03:07 -08:00
storage.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
streams.py groups: Use NamedUserGroup for all queries. 2024-04-26 17:03:09 -07:00
submessage.py todo_widget: Allow task list title to be set and edited by author. 2024-04-13 21:56:33 -07:00
thumbnail.py models: Move some functions to zerver.lib.attachments. 2023-12-16 22:08:44 -08:00
tutorial.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
typing.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
unsubscribe.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
upload.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
user_groups.py groups: Move constants inside NamedUserGroup. 2024-04-26 17:03:09 -07:00
user_settings.py settings: Add option to disable seeing typing notifications. 2024-04-16 11:38:12 -07:00
user_topics.py streams: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
users.py bots: Avoid multiple active bots with the same name. 2024-04-10 13:14:25 -07:00
video_calls.py partial: Replace returns plugin with an annotation. 2024-04-29 17:14:41 -07:00
zephyr.py ruff: Fix PLW0602 Using global but no assignment is done. 2023-01-04 16:25:07 -08:00