zulip/zerver
Mateusz Mandera f119c33789 delete_in_topic: Don't fetch .recipient for each message in a loop.
The grouping logic in `do_delete_messages` calls
`message.is_stream_message()` in a loop, which needs to access
message.recipient. This is obviously super inefficient if .recipient
hasn't been prefetched for the message objects.

`delete_in_topic` is the only function that calls `do_delete_messages`
with many messages, so this is the only spot we need to fix, to address
the immediate bug.
Of course a better improvement would be to fix `do_delete_messages` to
do something smarter than naively accessing message.recipient in a loop.
2025-08-11 10:08:40 -07:00
..
actions bots: Add a setting to customize the Welcome Bot message. 2025-08-08 18:59:37 -07:00
data_import slack: Handle float "ts" in attachment info. 2025-07-21 09:24:03 -07:00
lib zerver: API to create channel. 2025-08-08 19:29:17 -07:00
management bots: Add a setting to customize the Welcome Bot message. 2025-08-08 18:59:37 -07:00
migrations bots: Add a setting to customize the Welcome Bot message. 2025-08-08 18:59:37 -07:00
models bots: Add a setting to customize the Welcome Bot message. 2025-08-08 18:59:37 -07:00
openapi zerver: API to create channel. 2025-08-08 19:29:17 -07:00
tests zerver: API to create channel. 2025-08-08 19:29:17 -07:00
tornado streams: Fix events send when archiving and unarchiving streams. 2025-04-08 12:41:09 -07:00
transaction_tests test_user_groups: Add durable=True to the independent transaction. 2024-11-21 14:55:15 -08:00
views delete_in_topic: Don't fetch .recipient for each message in a loop. 2025-08-11 10:08:40 -07:00
webhooks grafana: Be more forgiving of missing alert keys. 2025-07-22 12:20:04 -07:00
worker zerver: Add endpoint to register a push device to server. 2025-07-14 14:52:39 -07:00
__init__.py
apps.py forms: Use monkey-patched SetPasswordForm generic. 2025-07-15 07:32:44 -07:00
context_processors.py realm_creation_form: Capture import_from if realm import enabled. 2025-04-30 00:06:43 -07:00
decorator.py integrations: Prevent logging of MissingHTTPEventHeaderError. 2025-06-06 18:06:06 -07:00
filters.py filters: Do not report AVATAR_SALT, or other salts. 2025-03-13 09:36:07 -07:00
forms.py i18n: Swap three docs for ellipsis. 2025-07-30 13:45:53 +00:00
logging_handlers.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
middleware.py request: Use Django 5.2 HttpRequest.get_preferred_type. 2025-07-17 14:37:11 -07:00
signals.py send_email: Set the Date header according to local enqueue time. 2025-03-10 16:48:08 -07:00