zulip/zerver/tests
Mateusz Mandera a36f906d1a presence: Add history_limit_days param to the API.
This param allows clients to specify how much presence history they want
to fetch. Previously, the server always returned 14 days of history.
With the recent migration of the presence API to the much more efficient
system relying on incremental fetches via the last_update_id param added
in #29999, we can now afford to provide much more history to clients
that request it - as all that historical data will only be fetched once.

There are three endpoints involved:
- `/register` - this is the main useful endpoint for this, used by API
clients to fetch initial data and register an events queue. Clients can
pass the `presence_history_limit_days` param here.
- `/users/me/presence` - this endpoint is currently used by clients to
update their presence status and fetch incremental data, making the new
functionality not particularly useful here. However, we still add the
new `history_limit_days` param here, in case in the future clients
transition to using this also for the initial presence data fetch.
- `/` - used when opening the webapp. Naturally, params aren't passed
here, so the server just assumes a value from
`settings.PRESENCE_HISTORY_LIMIT_DAYS_FOR_WEB_APP` and returns
information about this default value in page_params.
2024-09-10 13:15:35 -07:00
..
fixtures mattermost: Handle duplicate dm-groups. 2024-09-09 12:05:28 -07:00
images thumbnail: Store the post-orientation-transformation dimensions. 2024-07-24 09:56:42 -07:00
__init__.py
test_alert_words.py
test_attachments.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_audit_log.py audit-logs: Use AuditLogEventType enum name for string method. 2024-09-09 11:50:13 -07:00
test_auth_backends.py saml: Fix exception when syncing missing value to custom profile field. 2024-08-20 13:57:30 -07:00
test_bots.py users: Soften assumptions that all bots have owners. 2024-09-09 11:55:46 -07:00
test_cache.py ruff: Fix UP007 Use `X | Y` for type annotations. 2024-07-13 22:28:22 -07:00
test_compatibility.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
test_create_video_call.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_custom_profile_data.py ruff: Fix FURB148 `enumerate` index or value is unused. 2024-07-14 13:54:32 -07:00
test_data_types.py
test_decorators.py decorators: Migrate to typed_endpoint. 2024-08-20 10:15:30 -07:00
test_delete_unclaimed_attachments.py do_delete_old_unclaimed_attachments: Cap deletions at batch size. 2024-08-28 13:57:57 -07:00
test_digest.py audit-log: Move user event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_docs.py ruff: Fix UP035 Import from `collections.abc`, `typing` instead. 2024-07-13 22:28:22 -07:00
test_drafts.py ruff: Fix UP007 Use `X | Y` for type annotations. 2024-07-13 22:28:22 -07:00
test_email_change.py realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -07:00
test_email_log.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_email_mirror.py upload: Provide the frontend with the less-modified filename. 2024-09-09 12:40:17 -07:00
test_email_notifications.py custom_email: Add manage_preferences block to the plaintext version. 2024-09-10 09:36:56 -07:00
test_embedded_bot_system.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_event_queue.py events: Migrate to typed_endpoint. 2024-07-31 17:10:06 -07:00
test_event_system.py user_groups: Refactor code to compute user group objects. 2024-08-19 15:41:55 -07:00
test_events.py upload: Provide the frontend with the less-modified filename. 2024-09-09 12:40:17 -07:00
test_example.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_external.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_github.py
test_health.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_home.py presence: Add history_limit_days param to the API. 2024-09-10 13:15:35 -07:00
test_i18n.py invites: Lock the realm when determining invitation counts. 2024-05-02 14:23:04 -07:00
test_import_export.py upload: Provide the frontend with the less-modified filename. 2024-09-09 12:40:17 -07:00
test_integrations.py refactor: Relocate screenshots scripts to new tools/screenshots dir. 2024-05-14 16:17:44 -07:00
test_integrations_dev_panel.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_internet.py
test_invite.py zerver: Migrate some files to typed_endpoint. 2024-07-20 15:46:48 -07:00
test_legacy_subject.py
test_link_embed.py events: Send `delete_message` event to user who deleted the message. 2024-07-16 23:29:02 -07:00
test_management_commands.py ruff: Fix PLR6104 Use `+=` to perform an augmented assignment directly. 2024-07-14 13:49:51 -07:00
test_markdown.py user_card_popover: Show popover on all .messagebox user mention. 2024-08-15 16:28:08 -07:00
test_markdown_thumbnail.py thumbnail: Put the original dimensions on spinner images. 2024-09-09 15:59:02 -07:00
test_mattermost_importer.py mattermost: Handle duplicate dm-groups. 2024-09-09 12:05:28 -07:00
test_message_delete.py settings: Add `can_delete_any_message_group` setting. 2024-08-15 12:03:49 -07:00
test_message_dict.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_message_edit.py attachments: Return a list of removed attachments while editing. 2024-09-06 11:40:51 -07:00
test_message_edit_notifications.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_message_fetch.py test_message_fetch: Avoid assumptions about fixture data set. 2024-08-23 17:15:35 -07:00
test_message_flags.py message_flags: Update 'do_update_message_flags' to send event on commit. 2024-08-19 10:14:49 -07:00
test_message_move_stream.py ruff: Fix PLR6104 Use `+=` to perform an augmented assignment directly. 2024-07-14 13:49:51 -07:00
test_message_move_topic.py events: Send `delete_message` event to user who deleted the message. 2024-07-16 23:29:02 -07:00
test_message_notification_emails.py ruff: Fix UP035 Import from `collections.abc`, `typing` instead. 2024-07-13 22:28:22 -07:00
test_message_send.py ruff: Fix PLR6104 Use `+=` to perform an augmented assignment directly. 2024-07-14 13:49:51 -07:00
test_message_topics.py streams: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
test_messages.py direct_message_group: Add new `group_size` field. 2024-08-23 11:09:41 -07:00
test_middleware.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_migrations.py CVE-2024-27286: Delete dangling UserMessage rows. 2024-03-19 18:22:24 -04:00
test_mirror_users.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_muted_users.py audit-log: Move user muted event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_new_users.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_notification_data.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
test_onboarding.py
test_onboarding_steps.py ui_init: Use OnboardingStep for narrowing on first web app load. 2024-08-15 13:31:40 -07:00
test_openapi.py endpoints: Modify comments mentioning has_request_variables and REQ. 2024-09-05 16:02:12 -07:00
test_outgoing_http.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_outgoing_webhook_interfaces.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_outgoing_webhook_system.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_populate_db.py
test_presence.py presence: Add history_limit_days param to the API. 2024-09-10 13:15:35 -07:00
test_push_notifications.py audit-log: Move remote realm event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_queue.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_queue_worker.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_rate_limiter.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_reactions.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_read_receipts.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_realm.py test_realm: Fix `test_invalid_integer_attribute_values`. 2024-09-10 09:32:33 -07:00
test_realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_realm_emoji.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_realm_export.py audit-log: Move realm event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_realm_linkifiers.py audit-log: Move realm event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_realm_playgrounds.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_recipient_parsing.py scheduled_messages: Migrate to typed_endpoint. 2024-08-20 10:03:22 -07:00
test_redis_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_report.py
test_retention.py events: Send `delete_message` event to user who deleted the message. 2024-07-16 23:29:02 -07:00
test_rocketchat_importer.py refactor: Rename `huddle` to `direct_message_group` in non api files. 2024-07-31 23:25:56 -07:00
test_scheduled_messages.py scheduled_messages: Migrate to typed_endpoint. 2024-08-20 10:03:22 -07:00
test_scim.py scim: Extract ROLE_TYPE_TO_NAME dict to UserProfile. 2024-08-20 11:53:24 -07:00
test_send_email.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_server_settings.py
test_service_bot_system.py zerver: Rename some message_type variables to recipient_type. 2024-09-10 12:50:28 -07:00
test_sessions.py ruff: Fix UP035 Import from `collections.abc`, `typing` instead. 2024-07-13 22:28:22 -07:00
test_settings.py users: Allow zero-width-joiners in user names. 2024-09-03 16:34:55 -07:00
test_signup.py audit-log: Move realm event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_slack_importer.py audit-log: Move user group event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_slack_message_conversion.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_soft_deactivation.py audit-log: Move user event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_subdomains.py ruff: Fix UP035 Import from `collections.abc`, `typing` instead. 2024-07-13 22:28:22 -07:00
test_submessage.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_subs.py upload: Explicitly return a bool and the Attachment object. 2024-09-09 12:40:17 -07:00
test_templates.py css: Use classname instead of `div` selector for .blocks. 2024-08-13 22:36:35 -07:00
test_thumbnail.py python: Simplify with str.removeprefix, str.removesuffix. 2024-09-03 12:30:16 -07:00
test_timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
test_timestamp.py
test_timezone.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_tornado.py ruff: Fix UP035 Import from `collections.abc`, `typing` instead. 2024-07-13 22:28:22 -07:00
test_transfer.py emoji: Pass down content-type, rather than guessing from extension. 2024-07-12 13:26:47 -07:00
test_tutorial.py user_profile: Remove 'tutorial_status' field. 2024-08-15 13:31:40 -07:00
test_typed_endpoint.py endpoints: Remove the has_request_variables decorator. 2024-09-05 16:02:12 -07:00
test_typed_endpoint_validators.py zerver: Migrate some files to typed_endpoint. 2024-07-20 15:46:48 -07:00
test_typing.py ruff: Fix SIM117 Use a single `with` statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_upload.py upload: Preserve content-type from upload for local-file storage. 2024-09-09 12:40:17 -07:00
test_upload_local.py upload: Provide the frontend with the less-modified filename. 2024-09-09 12:40:17 -07:00
test_upload_s3.py upload: Provide the frontend with the less-modified filename. 2024-09-09 12:40:17 -07:00
test_url_decoding.py url_decoding: Add 'is_same_server_message_link' function. 2024-06-17 10:42:32 -07:00
test_urls.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_user_groups.py user_groups: Add support to update can_manage_group setting. 2024-08-20 09:28:05 -07:00
test_user_status.py user_status: Update do_update_user_status to send event on commit. 2024-07-31 22:33:52 -07:00
test_user_topics.py validators: Use cleaner syntax for AfterValidator. 2024-07-15 16:49:32 -07:00
test_users.py audit-log: Move user group event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_validators.py endpoints: Remove the has_request_variables decorator. 2024-09-05 16:02:12 -07:00
test_webhooks_common.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_widgets.py ruff: Fix UP006 Use `list` instead of `List` for type annotation. 2024-07-13 22:28:22 -07:00
test_zcommand.py zcommand: Rename night->dark and day->light in the color scheme backend. 2024-06-30 22:45:26 -07:00
test_zephyr.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_zulip_update_announcements.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00