zulip/zerver/actions
Alex Vandiver e29a455b2d avatars: Encode version into the filename.
Hash the salt, user-id, and now avatar version into the filename.
This allows the URL contents to be immutable, and thus to be marked as
immutable and cacheable.  Since avatars are served unauthenticated,
hashing with a server-side salt makes the current and past avatars not
enumerable.

This requires plumbing the current (or future) avatar version through
various parts of the upload process.

Since this already requires a full migration of current avatars, also
take the opportunity to fix the missing `.png` on S3 uploads (#12852).

We switch from SHA-1 to SHA-256, but truncate it such that avatar URL
data does not substantially increase in size.

Fixes: #12852.
2024-07-07 14:40:07 -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 realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -07:00
create_user.py invites: Add option to receive notification on accepted invitations. 2024-07-05 17:14:45 -07:00
custom_profile_fields.py custom_profile_fields: Make required field optional during update. 2024-04-15 16:52:11 -07:00
default_streams.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
invites.py invites: Add option to receive notification on accepted invitations. 2024-07-05 17:14:45 -07:00
message_delete.py message_delete: Fix event sent for updating first_message_id. 2024-06-03 08:52:11 -07:00
message_edit.py resolve_topic: Prevent incorrect notification during message move. 2024-07-07 11:38:14 -07:00
message_flags.py requirements: Upgrade Python requirements. 2024-06-27 15:31:43 -07:00
message_send.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
muted_users.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
onboarding_steps.py onboarding_steps: Rename 'hotspots' files to 'onboarding_steps'. 2024-05-10 12:30:22 -07:00
presence.py presence: Improve INSERT conflict handling in do_update_user_presence. 2024-06-16 11:57:47 -07:00
reactions.py messages: Remove use of @overload in access_message. 2024-04-12 11:41:27 -07:00
realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
realm_emoji.py thumbnailing: Switch to libvips, from PIL/pillow. 2024-06-26 16:42:57 -07: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 realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -07:00
scheduled_messages.py typos: Fix typos caught by typos. 2024-05-20 13:55:00 -07:00
streams.py message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
submessage.py typos: Fix typos caught by mwic. 2024-05-20 13:55:00 -07:00
typing.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
uploads.py claim_attachment: Remove the stale 'user_profile' parameter. 2024-05-21 09:24:43 -07:00
user_activity.py queue_processors: Process user_activity in one query. 2024-01-22 16:25:13 -08:00
user_groups.py user_groups: Move get_group_setting_value_for_audit_log_data. 2024-06-04 09:55:27 -07:00
user_settings.py avatars: Encode version into the filename. 2024-07-07 14:40:07 -07: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 message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
users.py avatar: Clean up one callsite of deprecated avatar_url_from_dict. 2024-06-20 23:06:08 -04:00
video_calls.py