zulip/zerver/actions
Alex Vandiver 7988aad159 user_message: Use INSERT ... ON CONFLICT for historical UM creation.
Rather than use a bulk insert via Django, use the faster
`bulk_insert_all_ums` that we already have.  This also adds a `ON
CONFLICT` clause, to make the insert resilient to race conditions.

There are currently two callsites, with different desired `ON
CONFLICT` behaviours:
 - For `notify_reaction_update`, if the `UserMessage` had already been
   created, we would have done nothing to change it.
 - For `do_update_message_flags`, we would have ensured a specific bit
   was (un)set.

Extend `create_historical_user_messages` and `bulk_insert_all_ums` to
support `ON CONFLICT (...) UPDATE SET flags = ...`.
2024-03-26 10:52:37 -07:00
..
__init__.py
alert_words.py actions: Split out zerver.actions.alert_words. 2022-04-14 17:14:31 -07:00
bots.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
create_realm.py ruff: Fix UP032 Use f-string instead of `format` call. 2024-03-21 08:59:17 -07:00
create_user.py user_message: Move create_historical_user_messages to zerver.lib.user_message. 2024-03-26 10:52:37 -07:00
custom_profile_fields.py custom_profile_fields: Add "required" parameter to the profile fields. 2024-03-21 10:48:54 -07:00
default_streams.py models: Extract zerver.models.streams. 2023-12-16 22:08:44 -08:00
hotspots.py events: Add 'onboarding_steps' event deprecating 'hotspots'. 2023-12-06 18:19:20 -08:00
invites.py models: Extract zerver.models.prereg_users. 2023-12-16 22:08:44 -08:00
message_delete.py models: Always search Messages with a realm_id or id limit. 2023-09-11 15:00:37 -07:00
message_edit.py messages: Use overloads to only return a user_message if needed. 2024-03-22 09:30:17 -07:00
message_flags.py user_message: Use INSERT ... ON CONFLICT for historical UM creation. 2024-03-26 10:52:37 -07:00
message_send.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
muted_users.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
presence.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
reactions.py user_message: Move create_historical_user_messages to zerver.lib.user_message. 2024-03-26 10:52:37 -07:00
realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
realm_emoji.py models: Extract zerver.models.realm_emoji. 2023-12-16 22:08:44 -08:00
realm_export.py migration: Rename extra_data_json to extra_data in audit log models. 2023-08-16 17:18:14 -07:00
realm_icon.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
realm_linkifiers.py models: Extract zerver.models.linkifiers. 2023-12-16 22:08:44 -08:00
realm_logo.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
realm_playgrounds.py models: Extract zerver.models.realm_playgrounds. 2023-12-16 22:08:44 -08:00
realm_settings.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
scheduled_messages.py message: Move render_markdown into zerver.lib.markdown. 2024-02-14 12:27:03 -08:00
streams.py actions: Rename *topic local variables to *topic_name. 2024-01-15 09:40:43 -08:00
submessage.py actions: Rename *topic local variables to *topic_name. 2024-01-15 09:40:43 -08:00
typing.py actions: Rename *topic local variables to *topic_name. 2024-01-15 09:40:43 -08:00
uploads.py models: Move some functions to zerver.lib.attachments. 2023-12-16 22:08:44 -08:00
user_activity.py queue_processors: Process user_activity in one query. 2024-01-22 16:25:13 -08:00
user_groups.py models: Extract zerver.models.groups. 2023-12-16 22:08:44 -08:00
user_settings.py caches: Only take the realm_id, not the Realm, as a cache key function. 2024-03-04 16:35:57 -08:00
user_status.py users: Update presence and user status code to support restricted users. 2023-11-21 23:58:45 -08:00
user_topics.py actions: Rename *topic local variables to *topic_name. 2024-01-15 09:40:43 -08:00
users.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
video_calls.py