Commit Graph

1298 Commits

Author SHA1 Message Date
Saubhagya Patel
bb5c87e306 bots: Add a setting to customize the Welcome Bot message.
This commit includes the following changes:
- Add an administrator setting to customize the Welcome Bot
message when sending an invitation.
- Add an API endpoint to test the customized Welcome Bot message
by sending a copy of the message to the administrator.

Fixes #27663.

Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
2025-08-08 18:59:37 -07:00
Sahil Batra
f7e9f37edc settings: Fix re-ordering folders when there is an archived folder.
This commit updates webapp code to include archived folder IDs as
well in the "order" list passed when re-ordering folders.

Also, updated API documentation to mention that archived folder IDs
should also be included.
2025-08-08 16:29:00 -07:00
Kislay Verma
f0a88d51cc message_reminders: Add support for notes.
This commit adds the ability for users to include notes
with their message reminders.

Fixes #35070.

Co-Authored-By: Aman Agrawal <amanagr@zulip.com>
2025-08-07 17:13:12 -07:00
Tim Abbott
f177598ecf api: Increment API feature level to 414. 2025-08-06 16:34:40 -07:00
Shubham Padia
c4cb75979a channel-folders: Order by order field in GET method. 2025-08-06 16:34:40 -07:00
Shubham Padia
22b231ab6f channel-folders: Add PATCH method to reorder channel folders.
The test cases are copied from ReorderCustomProfileFieldTest since we
are imitating the reordering mechanism from custom profile fields to
channel folders.
2025-08-06 16:34:40 -07:00
Shubham Padia
40132e200b channel-folders: Add order field and backfill it alphabetically. 2025-08-06 16:34:40 -07:00
Vector73
0ac24bd437 api: Add support for passing partial to include_subscribers parameter.
Fixes #35318.
2025-08-04 18:43:14 -07:00
Lauryn Menard
7a9b78f1f5 settings: Add user setting to ignore channel folders in left sidebar.
Fixes #35573.
2025-08-01 09:18:19 -07:00
Alya Abbott
641a436b44 preferences: Update inactive channels preference setting for new UI.
"Hide" is a better verb with the channel folders UI.

Also automatically hide inactive channels at 20+ susbscribed channels,
as we have more content in the left sidebar now.
2025-07-28 23:52:55 -07:00
Sahil Batra
8ae9cca3c9 channel_folders: Check max length restrictions while updating.
This commit updates code to make sure we check maximum allowed
length for name and description for channel folders when updating
them.
2025-07-28 23:12:58 -07:00
Sahil Batra
db00ceaeb2 register: Pass channel folder max name and description length.
This commit adds "max_channel_folder_name" and
"max_channel_folder_description" fields to response.

Also updated webapp to use these fields instead of hardcoding
the values.
2025-07-28 23:12:58 -07:00
Prakhar Pratyush
fc6cd9a966 settings: Add require_e2ee_push_notifications realm setting.
This commit adds a realm setting:
"Require end-to-end encryption for push notification content".

This commit just involves backend & UI changes to add the setting,
the impact of this setting is in the next commit.

Fixes part of #35370.
2025-07-28 17:06:59 -07:00
Lauryn Menard
95e6af8c64 api-docs: Revise feature level 404 and 392 changes entries.
Updates the changelog entries for feature levels 404 and 392, and
revises the descriptive text for the topics_policy channel and
realm level settings.

The feature level 404 changes were originally added in commit
a77fc6aa79.

The feature level 392 changes were originally added in commit
deaa43c7e6.
2025-07-23 11:49:55 -07:00
Prakhar Pratyush
1c7dd83dbe register_push_device: Add an error code to push-not-configured error.
This commit adds an error code to make it easier for clients
to identify when push device registration is rejected due to
server not being configured to use push notification service.

Fixes part of 35368.
2025-07-23 11:11:46 -07:00
ducnb
715d07c231 api: Add administrator endpoint for updating user status.
Fixes #33139.
2025-07-18 17:37:26 -07:00
Tim Abbott
d465705177 api: Document meaning for twenty_four_hour_time=null.
This documentation-only change will allow us to add that as a valid
value in the future, by having client implementations not crash on
seeing the value.

See [the API design discussion](https://chat.zulip.org/#narrow/channel/378-api-design/topic/.60user_settings.2Etwenty_four_hour_time.60/near/2220575).
2025-07-17 17:45:49 -07:00
Tim Abbott
fe8853bcc9 api: Increment API feature level to 407. 2025-07-17 15:45:17 -07:00
Vector73
a02614204a settings: Add can_set_delete_message_policy_group setting.
Adds new organization setting `can_set_delete_message_policy_group`
for defining who can set per-channel message delete permissions.

Fixes #34214.
2025-07-17 15:44:53 -07:00
Vector73
97a43fa6b6 stream_settings: Add can_delete_own_message_group setting.
Adds per-channel `can_delete_own_message_group` setting for
defining who can delete their own message in the channel.
2025-07-17 15:44:52 -07:00
Vector73
c4e641365b stream_settings: Add can_delete_any_message_group setting.
Adds per-channel can_delete_any_message_group setting for
defining who can delete any message in the channel.
2025-07-17 15:44:42 -07:00
Alex Vandiver
3e5af466e4 push_notifications: Remove vestiges of base64 storage of tokens.
APNs tokens are provided by the client in hex, and we store them in
hex.  The existing code which attempts to "validate" them by parsing
them as base64 only works because base64 is a superset of hex.

Enforce that APNs tokens are hex, and remove all of the pieces of test
code which were incorrectly passing them in as base64 strings.
2025-07-16 16:59:58 -07:00
Apoorva Pendse
6166576059 api_docs: Link to message-formatting article where relevant.
Fixes: https://chat.zulip.org/#narrow/channel/412-api-documentation/topic/document.20html.20for.20markdown/near/2216238.
Signed-off-by: Apoorva Pendse <apoorvavpendse@gmail.com>
2025-07-16 09:39:41 -07:00
Prakhar Pratyush
7d6b18976a api-docs: Fix link formatting and improve status value presentation.
Corrected a broken Markdown link.

Also updated the description of the `status` field to use backticks
with values.
2025-07-15 07:33:16 -07:00
Prakhar Pratyush
5f8edf669d zerver: Add endpoint to register a push device to server.
This commit adds an endpoint to register a push device
to receive E2EE push notifications.
2025-07-14 14:52:39 -07:00
Prakhar Pratyush
afe6986991 register-queue: Add push_devices in response.
This commit adds a `push_devices` dictionary to
`POST /register` response, keyed with push account ID,
where each entry describes the user's push device's
registration status and error code (if registration failed).
2025-07-14 14:52:38 -07:00
Alya Abbott
e6845a9b9a help: Document new options for which messages are marked as read. 2025-07-11 15:55:35 -07:00
Vector73
a77fc6aa79 stream_settings: Add new disable_topics option to topics_policy.
Adds new configuration option `disable_topics` in `topics_policy`
channel setting to support disabling topics in the channel.

Fixes #34553.
2025-07-09 14:25:53 -07:00
Tim Abbott
ddc634682c api: Increment API feature level to 403. 2025-07-09 11:41:56 -07:00
PieterCK
feb25b0e6b integrations: Move configs in config_options to url_options.
Currently we have 2 implementations of `config_options`:

- It's used for generating optional webhook URL parameters. These
settings also come with custom UI in the "Generate integration URL"
modal.

- In `/bots` API, it's used as schema for the bots `BotConfigData`. Each
type of bots have different ways of defining their `BotConfigData`
fields. Currently, only embedded bots use `BotConfigData`, and only the
incoming webhooks use `config_options` to configure a bot's
`BotConfigData`; thus, the `config_options` remain unused.

To avoid confusion as to which implementation of `config_options` is
used by an integration, this separates the first use case -- to generate
optional webhook URL -- to a new field called `url_options`. Thus, the
`config_options` field is reserved only for the second use case.
2025-07-09 10:12:33 -07:00
PieterCK
74089cf469 api_docs: Update the changelog for feature 318.
This changelog for feature 318 was added in this commit:
d1ff871523. The changelog stated that it
added a new field called `config_options` to the
`realm__incoming_webhook_bots` field, but in reality, the it renamed an
existing field called `config`.

This fixes the changelog for feature 318 and its changes note in the API
documentation to correctly describe the change.
2025-07-09 10:12:33 -07:00
opmkumar
8786b12f0c streams: Add can_resolve_topics_group setting.
Fixes #19955.
2025-07-08 16:53:43 -07:00
Rohan Gudimetla
a3e7ef8e71 left_sidebar: Add navigation option to go to top unread topic.
This commit adds option in personal settings to allow
navigation of channel links in left sidebar to the top
unread topic in that channel.

In cases of no unread messages in unmuted topics of the channel,
it falls back to the top topic of channel.

Fixes #35066
2025-07-03 18:14:10 -07:00
Aman Agrawal
25731859b6 zerver: Add endpoints and events for reminders.
There are similar to what exists for scheduled messages expect
the PATCH requests which will be added later when the
functionality is implemented.
2025-07-02 12:47:00 -07:00
Saubhagya Patel
26327135c0 api: Fix incorrect feature level format in zulip.yaml file.
In the `zulip.yaml` file, the commit
54b5182 - user_groups: Add API support to reactivate a user group
was merged without updating the feature level to the correct format.
This commit fixes that feature level.
2025-07-02 12:37:26 -07:00
Aman Agrawal
1a9d8ffd95 openapi: Create a base schema for ScheduledMessage to be reused.
The base class will be used again for Reminder schema.
2025-06-30 11:12:45 -07:00
opmkumar
87d14086af settings: Add web_left_sidebar_unreads_count_summary setting.
Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>

Fixes part of #28759.
2025-06-27 13:50:15 -07:00
Kislay Verma
5f80f0a970 channel: Add option to notify users newly added to a channel.
When a user is added to a channel, we send
the user that was added a Notification Bot
DMs to let them know about it.

In this commit, we add an option for whether or not
this message is sent.

If more than 100 users are added at once, we
do not send notification bot DMs since it would
be a performance-costly operation.

We also send this threshold value of 100 in the
initial state data to the clients.

Fixes part of #31189
2025-06-26 10:08:11 -07:00
Vector73
b612351e48 stream_setting: Add setting for who can move messages out of channel.
Adds `can_move_messages_out_of_channel_group` channel-level
permission for who can move messages out of the channel.

Fixes #34243.
2025-06-24 16:52:53 -07:00
Vector73
703601a5d5 stream_setting: Add setting for who can move messages within channel.
Adds `can_move_messages_within_channel_group` channel-level
permission for who can move messages within the channel.
2025-06-24 16:52:53 -07:00
Tim Abbott
ea68b7320a api docs: Clarify how the various presence APIs relate.
Co-authored-by: Greg Price <greg@zulip.com>
2025-06-19 15:20:15 -07:00
Tim Abbott
8179a31dc7 docs: Delete legacy presence subsystem page.
Everything on this page is now better explained in the API
documentation for presence.
2025-06-19 15:20:15 -07:00
Evy Kassirer
4313648ca5 streams: Add subscriber_count to page load data. 2025-06-19 14:25:41 -07:00
Tim Abbott
f0331b8c50 api: Increment API feature level to 393. 2025-06-18 16:48:26 -07:00
Shubham Padia
00fe2236da message_delete: Sort message_ids when sending delete_message event.
Fixes #34324.
https://chat.zulip.org/#narrow/channel/412-api-documentation/topic/Make.20message_ids.20from.20message.20update.20event.20sorted
2025-06-18 16:48:21 -07:00
Shubham Padia
37bfb7c963 message_edit: Sort message_ids when sending update_message event.
https://chat.zulip.org/#narrow/channel/412-api-documentation/topic/Make.20message_ids.20from.20message.20update.20event.20sorted
2025-06-18 16:48:21 -07:00
Tim Abbott
deaa43c7e6 api: Increment API feature level to 392. 2025-06-17 17:05:59 -07:00
Vector73
6094bbe8a5 stream_settings: Add new topics_policy setting.
Added `topics_policy` channel setting to configure sending
messages in the empty topic.

Fixes #33549.
2025-06-17 17:05:58 -07:00
Vector73
92672c1339 settings: Add can_set_topics_policy_group realm setting.
Added `can_set_topics_policy_group` realm setting to control
permission to change per-channel `topics_policy`.
2025-06-17 17:05:58 -07:00
Vector73
62c67eae8e settings: Add a new topics_policy realm setting.
Added a new realm setting, `topics_policy` and deprecated
`mandatory_topics` setting as it now replaced by `topics_policy`.

Fixes part of #33549.
2025-06-17 17:05:58 -07:00