zulip/zerver/actions
Lauryn Menard 06dd6f8254 message-send: Deduplicate check of `settings.MAX_MESSAGE_LENGTH`.
Removes the initial check in `_internal_prep_message` of the length
of the message content because the `check_message` in the try block
will call `normalize_body` on the message content string, which
does a more robust check of the message content (empty string, null
bytes, length). If the message content length exceeds the value of
`settings.MAX_MESSAGE_LENGTH`, then it is truncated based on that
value. Updates associated backend test for these changes.

The removed length check would truncate the message content with a
hard coded value instead of using the value for
`settings.MAX_MESSAGE_LENGTH`.

Also, removes an extraneous comment about removing null bytes. If
there are null bytes in the message content, then `normalize_body`
will raise an error.

Note that the previous check had intentionally reduced any message over
the 10000 character limit to 3900 characters, with the code in
question dating to 2012's 100df7e349.

The 3900 character truncating rule was implemented for incoming emails
with the email gateway, and predated other features to help with
overly long messages (better stripping of email footers via Talon,
introduced in f1f48f305e, and
condensing, introduced in c92d664b44).
While we could preserve that logic if desired, it likely is no longer
a necessary or useful variation from our usual truncation rules.
2023-02-20 12:55:15 -08:00
..
__init__.py
alert_words.py actions: Split out zerver.actions.alert_words. 2022-04-14 17:14:31 -07:00
bots.py bots: Allow changing bot owner without an acting_user. 2022-08-12 17:08:04 -07:00
create_realm.py settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -08:00
create_user.py Revert "create_user: Use transaction.atomic decorator for do_create_user." 2023-02-17 21:20:52 -05:00
custom_profile_fields.py markdown: Pass realm down into render_stream_description. 2022-11-01 08:20:47 -07:00
default_streams.py typing: Broaden type annotations for QuerySet compatibility. 2022-07-07 11:27:42 -07:00
hotspots.py actions: Split out zerver.actions.hotspots. 2022-04-14 17:14:31 -07:00
invites.py Revert "create_user: Use transaction.atomic decorator for do_create_user." 2023-02-17 21:20:52 -05:00
message_delete.py ruff: Fix PLC0414 Import alias does not rename original package. 2022-12-04 22:11:24 -08:00
message_edit.py message_send: Convert RecipientInfoResult from TypedDict to dataclass. 2023-02-10 15:51:22 -08:00
message_flags.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
message_send.py message-send: Deduplicate check of `settings.MAX_MESSAGE_LENGTH`. 2023-02-20 12:55:15 -08:00
muted_users.py muted users: Make file naming consistent. 2023-02-10 15:39:57 -08:00
presence.py user-status: Move `do_update_user_status` to separate actions file. 2022-09-23 12:27:54 -07:00
reactions.py actions: Split out zerver.actions.reactions. 2022-04-14 17:14:35 -07:00
realm_domains.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
realm_emoji.py requirements: Upgrade Django to 4.1. 2022-10-06 15:59:07 -07:00
realm_export.py realm_export: Add transaction.atomic to export_realm. 2023-01-26 10:49:19 -08:00
realm_icon.py realm_audit_log: Explicitly stringify dict before insertion. 2022-07-26 09:48:33 -07:00
realm_linkifiers.py actions: Use transaction.atomic for do_remove_linkifier. 2022-07-31 18:32:28 -07:00
realm_logo.py actions: Split out zerver.actions.realm_logo. 2022-04-14 17:14:31 -07:00
realm_playgrounds.py actions: Split out zerver.actions.realm_playgrounds. 2022-04-14 17:14:30 -07:00
realm_settings.py settings: Remove realm-level email_address_visibility setting. 2023-02-10 17:40:33 -08:00
streams.py Revert "create_user: Use transaction.atomic decorator for do_create_user." 2023-02-17 21:20:52 -05:00
submessage.py actions: Split out zerver.actions.submessage. 2022-04-14 17:14:30 -07:00
typing.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
uploads.py uploads: Avoid redefinition of a variable. 2022-07-26 18:00:24 -07:00
user_activity.py actions: Split out zerver.actions.user_activity. 2022-04-14 17:14:32 -07:00
user_groups.py user_groups: Track acting user for check_delete_user_group. 2022-12-13 14:58:58 -08:00
user_settings.py settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -08: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 muted_topics: Clean up unmute topic event code duplication. 2022-08-04 17:44:00 -07:00
users.py ruff: Fix SIM105 Use `contextlib.suppress` instead of try-except-pass. 2023-01-23 11:18:36 -08:00
video_calls.py