zulip/zerver/models
Mateusz Mandera 4e22a79e6a zilencer: Add flow for a server to reclaim its registration.
If the server controls the registration's hostname, it can reclaim its
registration credentials. This is useful, because self-hosted admins
frequently lose the credentials when moving their Zulip server to a
different machine / deployment method.

The flow is the following:
1. The host sends a POST request to
   /api/v1/remotes/server/register/takeover.
2. The bouncer responds with a signed token.
3. The host prepares to serve this token at /api/v1/zulip-services/verify and
   sends a POST to /remotes/server/register/verify_challenge endpoint of
   the bouncer.
4. Upon receiving the POST request, the bouncer GETS
   https://{hostname}/api/v1/zulip-services/verify, verifies the secret and
   responds to the original POST with the registration credentials.
5. The host can now save these credentials to it zulip-secrets.conf file
   and thus regains its push notifications registration.

Includes a global rate limit on the usage of the /verify_challenge
endpoint, as it causes us to make outgoing requests.
2025-01-28 11:10:50 -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 message_send: Add support to send message with an empty topic name. 2025-01-07 17:24:00 -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 realms: Use modern union syntax for property_types. 2025-01-24 23:00:21 -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 stream: Rename can_subscribe_others_to_all_streams. 2025-01-27 11:26:06 -08:00