zulip/zerver/models
Alex Vandiver 98362de185 models: Add content_type to ImageAttachment.
This means that only ImageAttachment row needs to be fetched, and
removes the need to pass around an extra parameter.  This
denormalization is safe, since in general Attachment rows are
read-only, so we are not concerned with drift between the Attachment
and ImageAttachment tables.

We cannot make content_type non-null, since while the both the
`content_type` column in Attachment and populating that from requests
predates the ImageAttachment table, we have both backfilled
ImageAttachment rows to consider, and imports may also leave files
with no `content_type`.  Any backfill of currently-null `content_type`
values will thus need to update both tables.

This change fixes a race condition when importing. ImageAttachment
rows are imported before rendering Messages, which are both before
importing Attachment rows; if the thumbnailing finished after the
Message was imported but before Attachment rows were imported, then
the re-rendering step would not know the image's content-type.
2025-01-31 14:29:57 -08:00
..
__init__.py streams: Add 'ChannelEmailAddress' model. 2024-11-21 14:53:28 -08:00
alert_words.py models: Extract zerver.models.alert_words. 2023-12-16 22:08:44 -08:00
bots.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
clients.py clients: Drop "desktop app" substring check. 2024-08-01 09:23:16 -07:00
constants.py models: Extract zerver.models.constants. 2023-12-16 22:08:44 -08:00
custom_profile_fields.py custom_profile_fields: Add "editable_by_user" setting. 2024-09-23 18:09:38 -07:00
drafts.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
groups.py mention: Allow silent mentioning system user groups. 2025-01-07 11:28:44 -08:00
linkifiers.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
lookups.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
messages.py models: Add content_type to ImageAttachment. 2025-01-31 14:29:57 -08:00
muted_users.py models: Extract zerver.models.muted_users. 2023-12-16 22:08:44 -08:00
onboarding_steps.py compose: Show banner to explain non interleaved view messages fading. 2024-07-16 13:52:29 -07:00
prereg_users.py preregistration: Add field to track import progress. 2024-12-02 10:21:03 -08:00
presence.py mypy: Reenable explicit-override for models. 2024-08-01 17:39:04 -07:00
push_notifications.py mypy: Reenable explicit-override for models. 2024-08-01 17:39:04 -07:00
realm_audit_logs.py zilencer: Add flow for a server to reclaim its registration. 2025-01-28 11:10:50 -08:00
realm_emoji.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
realm_playgrounds.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
realms.py settings: Remove bot_creation_policy setting. 2025-01-30 11:37:35 -08:00
recipients.py recipients: Add savepoint=False to avoid creating savepoints. 2024-11-05 17:58:47 -08:00
saved_snippets.py saved_snippets: Add backend for saved snippets. 2024-09-24 15:27:58 -07:00
scheduled_jobs.py mypy: Reenable explicit-override for models. 2024-08-01 17:39:04 -07:00
streams.py streams: Add can_add_subscribers_group as a setting. 2025-01-22 14:27:06 -08:00
user_activity.py models: Migrate ids of all non-Message-related tables to bigint. 2024-06-05 11:48:27 -07:00
user_topics.py models: Extract zerver.models.user_topics. 2023-12-16 22:08:44 -08:00
users.py settings: Add two new realm settings to restrict bot creation. 2025-01-30 11:37:33 -08:00