Commit Graph

65468 Commits

Author SHA1 Message Date
Prakhar Pratyush
8b3cef554b settings: Add push_registration_encryption_keys map.
The `push_registration_encryption_keys` map stores the
assymetric key pair generated on bouncer.

The public key will be used by the client to encrypt
registration data and the bouncer will use the corresponding
private key to decrypt.

- Updated the `generate_secrets.py` script to generate the map
during installation in dev environment.
- Added a management command to add / remove key i.e. use it
for key rotation while retaining the older key-pair for a period
of time.
2025-07-06 21:11:26 -07:00
Prakhar Pratyush
86e771c982 test_classes: Use "pk" instead of "id" for primary key lookup.
Prep commit to use "pk" to get the primary keys instead of
hardcoded "id" as we plan to introduce a model with `device_id`
as the primary key name.
2025-07-06 21:07:27 -07:00
Prakhar Pratyush
0c3e0f19d2 test_event_system: Fix ordering of giphy in sorted expected_counts. 2025-07-06 21:07:27 -07:00
Saubhagya Patel
acc889ae9b css: Fix channel privacy icon gap in first stream created modal.
In the first stream created modal, a channel privacy icon
is displayed alongside the channel name. At different font sizes,
the gap between the icon and the channel name was inconsistent.
This commit fixes the above issue.
2025-07-06 16:06:42 -07:00
Saubhagya Patel
e3e322422c css: Align channel privacy icons in Personal settings > Notifications.
This commit aligns the channel privacy icons displayed for
channels with custom notifications in the notifications table
in Personal settings.
2025-07-06 16:06:42 -07:00
Maneesh Shukla
69d3900cd3 x-icon: Fix alignment of x-icon in user group subgroup. 2025-07-06 15:12:41 -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
Tim Abbott
35bc9d37f1 search_pill: Move user_pill_operators to top of file. 2025-07-03 15:21:53 -07:00
Evy Kassirer
0e86b01c5b search_suggestion: Move search description html into helper function.
This will be used elsewhere in upcoming commits.
2025-07-03 15:20:17 -07:00
Evy Kassirer
a35f166fac search: Use zrequire instead of mockesm for search_suggestion in tests.
Soon search_suggestion will be used more in unit tests.
2025-07-03 15:19:37 -07:00
Evy Kassirer
20722cea89 typeahead: Rename highlighter_html to item_html.
We no longer do any highlighting so it doesn't make sense to call
it that anymore.
2025-07-03 14:44:13 -07:00
Evy Kassirer
7e951b5249 search: Remove highlighting in search typeahead.
Context: https://chat.zulip.org/#narrow/channel/101-design/topic/search.20typeahead.20highlighting/near/2188093
2025-07-03 14:43:01 -07:00
PieterCK
75f2e27500 url_encoding: Refactor a encode_user_full_name_and_id.
This refactors out a function that encode user name and user id into URL
compatible format.
2025-07-03 14:40:49 -07:00
PieterCK
29d42ab6ad url_encoding: Refactor a encode_user_ids.
This refactors out a function to encode the user ids into URL compatible
format. Previously we use the "-pm" decorator to encode user ids for
group direct messages. That decoration tag is not valid, so this also
updates some existing test cases.
2025-07-03 14:40:49 -07:00
PieterCK
48e33eed31 url_encoding: Standardize to use encode_hash_component.
Previously we use `hash_util_encode` to encode channel and topic names
to be URL compatible. This uses the more capable `encode_hash_component`
from the recently added `topic_link_utils.py` module. It also moves the
function to `url_encoding.py`
2025-07-03 14:40:49 -07:00
PieterCK
c460dc3c9c url_encoding: Update encode_stream -> encode_channel. 2025-07-03 14:40:49 -07:00
Maneesh Shukla
ec60c8a70c x-buttons: Replace "Remove" and "Unsubscribe" buttons with x icons in tables.
This commit removes the "Remove" and "Unsubscribe" action buttons from
various tables and replaces them with icon buttons using the "close"
icon.

Additionally, previously the rows with and without a remove button had
different heights. This commit updates the fixed `px` values to `em`
units to ensure equal height for all rows, regardless of whether a
remove-subscription button is present.

Fixes: #34874.
2025-07-03 14:37:00 -07:00
Sayam Samal
0fe4b6b317 settings: Scale margin of input groups with font size.
This commit adjusts the margin of input groups in settings pages to
relative `em` units to ensure that the spacing scales to accommodate
different font sizes.
2025-07-03 12:00:33 -07:00
Sayam Samal
49332fb528 modals: Use relative em units for padding to scale UI with font size.
This commit modifies the modal styles to use relative `em` units for
padding instead of fixed pixel values, allowing the modal to scale
better with different font sizes.
2025-07-03 12:00:33 -07:00
Sayam Samal
22c913cc9e modals: Set modal content font size and line height to user set values.
This commit sets the font size and line height of modal content to match
the user's base font size and line height settings and updates the modal
title font size accordingly.
2025-07-03 12:00:33 -07:00
Sayam Samal
114673991e css: Replace "i" tag with ".zulip-icon-more-vertical" selector class.
Since CSS selectors are matched by browser engines from right to left,
this commit optimizes the selector to be more specific by replacing the
generic "i" tag with the more specific ".zulip-icon-more-vertical"
class selector.
2025-07-03 11:45:35 -07:00
Sayam Samal
3b0115dce7 inputs: Rename input.hbs partial block to input_wrapper.hbs. 2025-07-03 11:45:35 -07:00
Sayam Samal
2df8ee43cf left_sidebar: Align filter inputs with preexisting left sidebar grids.
This commit acts as a follow-up commit to the previous three commits
implementing the redesigned filter input in the left sidebar. This
makes some structural changes to the channel/topic/dm headers, and
aligns to filter inputs to the predefined grid lines in the left sidebar
to ensure good visual flow.

Fixes #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
82edac0166 left_sidebar: Standardize DM list filter input.
This follow-up commit replaces the current left sidebar DM list
filter input implementation with the redesigned input component.

Fixes part of #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
7c19727168 left_sidebar: Standardize channel list filter input.
This follow-up commit replaces the current left sidebar channel list
filter input implementation with the redesigned input component.

Note: This commit removes `clear_search` method from `stream_list.ts`,
since the `.input-button` onclick handler over at `inputs.ts` handles
the clearing of the filter input fields by sending an empty text input
event. This input event triggers the filter update handler of the
module, in this case the `update_streams_for_search` function and
resets the filter list, eliminating the need for a separate per-module
input clearing/resetting workflow.

Fixes part of #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
046918e92a recent_view: Adjust height of sibling elements to match filter input. 2025-07-03 11:45:35 -07:00
Sayam Samal
93d14cada1 recent_view: Standardize recent view filter input.
This follow-up commit replaces the current recent view filter input
implementation with the redesigned input component.

Fixes part of #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
892ee1d76e right_sidebar: Improve user list header vdots icon.
Firstly, this commit modifies the styling of the vdots icon in the user
list header, to match the height of the user list filter input. Other
than that, this commit also makes some non-visual structural changes
to the icon-related code for code quality improvements.
2025-07-03 11:45:35 -07:00
Sayam Samal
f493303c2c right_sidebar: Standardize user list filter input.
This follow-up commit replaces the current right sidebar user list
filter input implementation with the redesigned input component.

Fixes part of #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
26f0b755af inbox: Adjust height of inbox dropdown widget to match filter input. 2025-07-03 11:45:35 -07:00
Sayam Samal
b6ff748602 inbox: Standardize inbox filter input.
This follow-up commit replaces the current inbox filter input
implementation with the redesigned input component.

Fixes part of #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
71d75532fe inputs: Implement redesigned input component.
This commit serves as the base for the ongoing effort to standardize
redesigned input elements throughout the Zulip Web UI. It introduces a
new Handlebars partial block for inputs, located at
web/templates/components/input.hbs.

The partial can be used with the partial block syntax: {{#> input}},
allowing contributors to pass in the input element as a template. This
approach wraps the input with a consistent structure that includes
support for an icon and an action button. It also applies the necessary
styling to ensure visual and functional consistency across the web UI.

This commit also implements the filter input component at
/devtools/inputs/ showroom page for design discussions and prototyping.
2025-07-03 11:45:35 -07:00
Sayam Samal
f8d82775d1 showroom: Set up devtools/inputs page for showcasing input components.
This is a prep commit to setup the devtools/inputs page for the
redesigned input components.
2025-07-03 11:45:35 -07:00
evykassirer
236e595438 settings: Use grid and flex for the two-pane settings overlay.
Instead of changing the height of the button subheader depending
on the width of the modal, which was fiddly and error prone, we now
let grid determine the height of the button subheader, and determine
the height of the body through javascript resize calculations.
2025-07-03 11:22:31 -07:00
Sahil Batra
e66431f128 group-settings: Fix how long names are handled in groups UI.
This commit fixes code to correctly show the long group
names by clipping them and showing ellipsis in group rows
in left panel and in the header shown in right section.

Group names are handled in a different way than stream
names because we need to show deactivated icons as well
for stream names.
2025-07-03 11:22:31 -07:00
Rohan Gudimetla
8e0ba8cccf topics: Server generated permalinks now prefer latest message id.
Previously, when a topic is mentioned, the server generated a
permalink using the earliest accessible message of the topic.

This commit updates it to rather use the latest message of the
topic.
2025-07-03 11:06:39 -07:00
Niloth P
344c1ef606 docs: Use bold formatting for channel names instead of backticks.
Update the occurrences of channel names that still use backticks to use
the convention of bold formatting.
2025-07-03 10:51:13 -07:00
Prakhar Pratyush
b382315f82 channel_email: Fix copy email button not copying displayed text.
This commit fixes a bug where clicking the copy icon in the
'#copy_email_address_modal' did not copy the email address
displayed to the clipboard.

It was because we didn't set the 'text' option to specify
the explicit text to copy.

Fixes: #35062.
2025-07-03 10:45:49 -07:00
Karl Stolley
91af320982 home_view: Correctly justify unread marker. 2025-07-03 10:38:41 -07:00
Tim Abbott
6530d3d59d docs: Update changelog for Zulip Server 10.4 release. 2025-07-02 13:30:22 -07:00
Aman Agrawal
5a65bd4746 reminders: Fix poll and todo list not correctly formatted for reminder. 2025-07-02 13:02:53 -07:00
Aman Agrawal
82abc7e10c help: Document how to use reminders feature. 2025-07-02 13:02:52 -07:00
Aman Agrawal
4a8d86f151 overlays: Add overlay to display scheduled reminders. 2025-07-02 13:02:45 -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
Lauryn Menard
0b4da0ae35 help: Document managing channel notifications via personal settings.
Changes the tab for the current web app instructions to be "Via
left sidebar" and adds a tab for web app instructions "Via personal
settings".

Also, includes a tip for resetting a channel's notifications to the
default via hovering over the channel name in the notifications
table and clicking the icon to reset to default notifications.

Fixes #34862.
2025-07-02 12:39:35 -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
Tim Abbott
e68b7c6ddf hotkey: Fix reference to supports_collapsing_recipients. 2025-07-02 12:36:43 -07:00
Evy Kassirer
c71452c114 left_sidebar: Fade inactive streams in the same way as muted streams.
This fixes a double fade bug reported here:
https://chat.zulip.org/#narrow/channel/9-issues/topic/muted.20inactive.20channels/near/2209364
2025-07-02 12:17:28 -07:00
Anders Kaseorg
08a17ef22d CVE-2025-52559: Generate HTML for digest new channels safely.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-02 12:12:36 -07:00
Anders Kaseorg
a274170293 CVE-2025-52559: Generate HTML for digest message sender safely.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-02 12:12:36 -07:00