zulip/docs/subsystems
Alex Vandiver 26189578c6 docs: Rework schema migrations guide around the online-deploy model.
Most of what makes a Zulip migration tricky to write follows from
how Zulip Cloud deploys: staging and production share a database,
staging deploys first and runs the migration against the shared
DB, production deploys some time later, and Django processes
restart in a rolling fashion. Together these mean migrations must
be safe for the previous release's code to keep running against,
and that staging-time problems are also live production problems.

The previous version of this page didn't describe any of that,
and as a result didn't motivate most of the rules contributors
need to follow. Rework the page around the deploy model so each
rule traces back to a property of how migrations actually run on
Cloud.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 15:59:32 +08:00
..
accessibility.md docs: Correct zulipbot label in accessibility documentation. 2024-09-17 16:26:32 -07:00
analytics.md portico: Establish and reference legacy portico styles. 2025-12-10 12:50:21 -08:00
billing.md docs: Fix typos in billng subsystems development setup list. 2026-03-25 11:39:55 -07:00
caching.md per_request_cache: Generalize to cache_for_current_request. 2026-03-03 10:25:14 -08:00
client.md docs: Add incoming webhooks integrations section. 2026-01-06 10:11:58 -08:00
database-concurrency.md queries: Always pass no_key kwarg explicitly to select_for_update. 2026-03-02 15:15:40 -08:00
dependencies.md depenedencies: Fix stale reference to requirements.txt. 2026-01-20 09:28:36 -08:00
directory-structure.md docs: Move "Directory structure" to subsystems directory. 2026-05-12 23:49:49 -07:00
django-upgrades.md requirements: Migrate to uv. 2025-02-24 22:29:24 -08:00
email.md integrations: Change URL scheme for categories and /doc/ page. 2025-11-07 13:29:34 -08:00
emoji.md api_docs: Document emoji in message formatting docs. 2025-11-21 16:10:47 -08:00
events-system.md ui_init: Pass fetch_event_types to skip unused stream data on reload. 2026-04-21 08:13:38 -07:00
full-text-search.md docs: Rename "operators" to "filters". 2022-12-09 13:52:13 -08:00
hashchange-system.md hashchange: Convert module to TypeScript. (#32670) 2024-12-11 09:15:18 -08:00
html-css.md webpack: Do not use expose-loader for jQuery. 2026-02-04 09:30:55 -08:00
icons.md shared: Move icons to web/images/icons. 2025-11-14 10:19:12 -08:00
index.md docs: Create "Project processes" directory. 2026-05-12 23:49:49 -07:00
input-pills.md input_pill: Remove display_value in favor of module-specific values. 2024-08-01 17:31:59 -07:00
logging.md docs: Fix missing references. 2025-01-21 15:12:49 -08:00
management-commands.md checks: Move checkconfig to standard check framework. 2025-11-19 11:50:18 -08:00
markdown.md docs: Remove inaccurate docs on removed avatar feature. 2025-09-17 12:14:09 -07:00
notifications.md docs: Delete legacy presence subsystem page. 2025-06-19 15:20:15 -07:00
onboarding-steps.md docs: Add subsystem doc for 'Onboarding Steps'. 2024-06-18 09:39:50 -07:00
performance.md docs: Document Tornado sharding configurations. 2025-09-09 10:41:21 -07:00
pointer.md documentation: Modify cases of "[a-zA-Z] e\.g\.," for readability. 2024-07-09 13:41:44 -07:00
queuing.md queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
realms.md confirmation: Replace RealmCreationKey - use Confirmation instead. 2025-08-04 18:41:15 -07:00
schema-migrations.md docs: Rework schema migrations guide around the online-deploy model. 2026-05-28 15:59:32 +08:00
sending-messages.md docs: Update sending-messages.md for variable/function updates. 2024-12-30 09:43:29 -08:00
settings.md docs: Mention how zproject.settings gets into django.conf.settings. 2025-11-05 12:17:44 -08:00
slash-commands.md composebox_typeahead: Convert module to typescript. 2024-05-16 14:53:26 -07:00
thumbnailing.md docs: Fix field name in thumbnailing doc. 2025-06-28 10:32:45 -07:00
typing-indicators.md shared: Move typing_status.ts to web/src. 2025-11-11 09:06:18 -08:00
unread_messages.md docs: Update docs/subsystems/ files to use channel. 2024-05-20 11:23:23 -07:00
widgets.md zform: Convert module to typescript. 2025-10-01 16:39:59 -07:00