zulip/zerver/actions
Anders Kaseorg 7657cb4a0f django_api: Extract send_event_on_commit helper.
django-stubs 4.2.1 gives transaction.on_commit a more accurate type
annotation, but this exposed that mypy can’t handle the lambda default
parameters that we use to recapture loop variables such as

    for stream_id in public_stream_ids:
        peer_user_ids = …
        event = …

        transaction.on_commit(
            lambda event=event, peer_user_ids=peer_user_ids: send_event(
                realm, event, peer_user_ids
            )
        )

https://github.com/python/mypy/issues/15459

A workaround that mypy accepts is

        transaction.on_commit(
            (
                lambda event, peer_user_ids: lambda: send_event(
                    realm, event, peer_user_ids
                )
            )(event, peer_user_ids)
        )

But that’s kind of ugly and potentially error-prone, so let’s make a
helper function for this very common pattern.

        send_event_on_commit(realm, event, peer_user_ids)

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-06-19 13:42:40 -07:00
..
__init__.py
alert_words.py actions: Split out zerver.actions.alert_words. 2022-04-14 17:14:31 -07:00
bots.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
create_realm.py create_realm: Remove unused argument from do_create_realm. 2023-05-11 12:13:50 -07:00
create_user.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
custom_profile_fields.py markdown: Pass realm down into render_stream_description. 2022-11-01 08:20:47 -07:00
default_streams.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
hotspots.py actions: Split out zerver.actions.hotspots. 2022-04-14 17:14:31 -07:00
invites.py emails: Add corporate_enabled to context for emails. 2023-05-01 10:32:43 -07:00
message_delete.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
message_edit.py settings: Add wildcard mention notifications for the followed topics. 2023-06-13 18:01:41 -07:00
message_flags.py Remove statsd support. 2023-04-25 19:58:16 -07:00
message_send.py settings: Add wildcard mention notifications for the followed topics. 2023-06-13 18:01:41 -07:00
muted_users.py muted users: Make file naming consistent. 2023-02-10 15:39:57 -08:00
presence.py presence: Support null values in UserPresence. 2023-04-26 14:26:47 -07:00
reactions.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_domains.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_emoji.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_export.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_icon.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_linkifiers.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_logo.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_playgrounds.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
realm_settings.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
scheduled_messages.py scheduled-messages: Split out edit scheduled message endpoint. 2023-05-26 18:05:55 -07:00
streams.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
submessage.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
typing.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
uploads.py scheduled_message: Handle attachments properly. 2023-05-08 09:56:02 -07:00
user_activity.py Remove statsd support. 2023-04-25 19:58:16 -07:00
user_groups.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
user_settings.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
user_status.py user-status: Stop updating the UserStatus model for `away` updates. 2022-09-23 12:27:54 -07:00
user_topics.py user_topics: Update 'set visibility policy' codepath for bulk db operations. 2023-03-29 09:50:06 -07:00
users.py django_api: Extract send_event_on_commit helper. 2023-06-19 13:42:40 -07:00
video_calls.py