Commit Graph

9602 Commits

Author SHA1 Message Date
Shubham Padia
7bd0c37d3c stream_events: Remove remove_deactivated_user_from_all_streams.
We changed the API in 53983c9 so that the server nows sends explicit
peer_remove events before the deactivation event. This means that we
should not have to remove subscribers when receiving a user deactivation
event.

We convert the existing function to raise a blueslip error instead if
our understanding of the system is somehow wrong. That way the error
would be caught instead of slipping through the cracks.
2025-11-04 11:14:59 -08:00
Prakhar Pratyush
e15edc84c2 desktop_notification: Fix error when message deleted while narrowing.
Earlier:
When a user clicked the desktop notification, but before we finished
processing that click, the message deletion got processed.
It resulted in an error.

This commit fixes the bug by taking the user to the conversation
where the now-deleted message had been prior to deletion -
narrow to the message's near view.

Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
2025-11-04 11:03:36 -08:00
Shubham Padia
84bb07a652 user_profile: Fix incorrect keyboard shortcut for send direct messages.
https://chat.zulip.org/#narrow/channel/9-issues/topic/send.20DM.20shortcut.20on.20user.20card/near/2286884
2025-11-04 10:18:54 -08:00
Sahil Batra
649a518b19 upload-widget: Add support to crop realm logo, icon and user avatar.
This commit adds code to support cropping realm logo, icon and
user avatar using "ImageEditor" plugin from Uppy.

We do not use Dashboard plugin from Uppy, which is the default
way to allow cropping using Uppy, since we do not want to
show dashboard UI from uppy and we would need some workarounds
which are not trivial to not show the dashboard UI in the upload
workflow.

Fixes part of #24324.
2025-11-03 16:55:04 -08:00
Aman Agrawal
cd433349a2 new_registration: Move human verification from popup to inline style.
Placed text just below the "Create organization" button.
Used styling to match "Learn how to import..." above.
Hidden the checkbox after the verification is done.
The verification text is hidden after 2s with a fadeout after 1s delay.

Fixes #36086
2025-11-03 12:19:57 -08:00
Aman Agrawal
dc88b0c9f5 stream_settings_ui: Show correct channel view based on user setting. 2025-11-03 12:18:45 -08:00
Aman Agrawal
5361a081e6 tooltips: Show correct hotkey to narrow to list of channel topics. 2025-11-03 12:18:45 -08:00
Aman Agrawal
b651d46618 narrow_channel_header: Navigate to use set view for channel on click. 2025-11-03 12:18:45 -08:00
Aman Agrawal
71a89be0a9 inbox: Fix other channel folder name when adding/removing folders. 2025-11-02 14:43:58 -08:00
Karl Stolley
f3194057ae message_row: Use CSS selectors to hide reactions, reminders. 2025-11-02 14:42:24 -08:00
Aman Agrawal
418bd9ff06 reminders_overlay_ui: Allow focusing a specific reminder.
We focus on the reminder in the overlay based on the reminder
message clicked by the user.
2025-11-02 14:42:24 -08:00
Aman Agrawal
9106c85eca messages_overlay_ui: Fix focused row out of view.
Since we were always scrolling to top, the focused row was not
visible.

Fixed by scrolling to the focused element.
2025-11-02 14:42:24 -08:00
Aman Agrawal
afa38e8db9 reminder: Show scheduled reminder info on render message. 2025-11-02 14:42:24 -08:00
Aman Agrawal
c6d720f532 message_store: Provide more information for Message properties.
The inline comments were too brief to expalin how this property
is being used or their intended purpose.
2025-11-02 14:42:24 -08:00
Pratik Chanda
152ad3bf3d hash: Use encoding for slugs in dm narrow hashes.
Slugs in dm urls aren't really passed through url decoding and
shouldn't throw any error currently if hashReplacement aren't enforced.
But we still encode them in this commit to make this consistent.
2025-11-02 14:37:30 -08:00
Aman Agrawal
f86654ba5f slack_import: Ask importer for default email address visibility.
Fixes #34982
2025-11-02 14:36:20 -08:00
Yogesh
15f8a63b06
settings: Remove hover effect from error message text.
The error message text had an unfortunate hover effect, resulting
from the error container element being inside the main widget element. 

Move the error message element to sit outside the main element; this also 
fixes overflow issues with the error element.

Fixes #17571.
2025-11-02 11:47:30 -08:00
Sahil Batra
ca46e09f41 groups-ui: Live update permissions panel on losing stream access.
This commit adds code to live update the group permissions panel
when user loses access to a stream by removing the stream and its
settings from the UI.
2025-11-02 11:42:36 -08:00
Sahil Batra
2b8fb4e161 user_group_edit: Extract function to hide empty permissions section.
This commit extracts code to hide "Organization permissions",
"Channel permissions" and "User group permissions" headings
in group permissions panel if there are no settings under
these sections and show the empty panel text if group does
not have any assigned permissions.

This new function will help in avoiding duplicate code in next
commit which will add code to live update the permissions
panel when user loses access to a stream.
2025-11-02 11:42:36 -08:00
Sahil Batra
c471c9a0c4 user_group_edit: Pass only group ID to get_edit_container.
get_edit_container only required ID of the user group and
not the whole group object.
2025-11-02 11:42:36 -08:00
Sahil Batra
60be02d453 resize: Fix resizing height of stream settings headers.
When resizing subheader heights to be equal on the left and
right sides, the subheader being resized was set to 1px taller
because height_of included borders in its calculation.

This commit fixes that such that subheaders on both sides are
of same height.
2025-11-02 11:39:57 -08:00
Sahil Batra
c58414b0ca settings: Restructure HTML for stream and groups overlay.
This commit restructures the HTML for stream and group
settings overlay such that we first write all the HTML
for left side and then right side.

This change is important so that focus behavior during
keyboard navigation is correct in narrow screens and
does not move to the elements which are hidden after
we fix it in #26941.

This changes the focus behavior on keyboard navigation
in wide screens where first all of the left panel will
be covered from top to bottom and then the right panel,
but it is fine.
2025-11-02 11:39:57 -08:00
santhoshkumarCodes
ecdfb14cb7 message-view: Fix banner/bookend for private channel no content access.
Previously, when a user navigated to a private channel that they had
metadata access to but not content access, they would see a confusing
"You are not subscribed" bookend and a generic empty-feed banner. This
was misleading, as the issue is about permissions, not subscription
status.

The empty message feed placeholder displays a more accurate message
for this case. And the logic in `message_list.ts` is changed to
prevent the trailing bookend from rendering at all in this case.

Fixes #36075

Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2025-11-02 11:35:53 -08:00
Vector73
ba637d4e2c css: Fix inconsistent width of select fields in preferences settings. 2025-11-01 10:51:01 -07:00
Vector73
5704abf8b4 settings: Convert language picker to dropdown widget.
Fixes #35861.
2025-11-01 10:51:01 -07:00
Anders Kaseorg
be18d71624 dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-11-01 07:24:57 -07:00
Anders Kaseorg
55293f57a8 eslint: Fix unicorn/no-immediate-mutation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-11-01 07:24:57 -07:00
Anders Kaseorg
71ebbb30f1 eslint: Fix unicorn/no-useless-collection-argument.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-11-01 07:24:57 -07:00
Anders Kaseorg
cd1ced82d6 eslint: Fix @typescript-eslint/prefer-optional-chain.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-11-01 07:24:57 -07:00
Anders Kaseorg
8396c14cdc e2e-tests: Fix pageerror parameter type.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-11-01 07:24:57 -07:00
Evy Kassirer
1e78447c50 message_store: Edit message content in a helper function.
In a future commit, this will be where we ensure the saved
topic links are up to date.
2025-10-30 17:46:10 -07:00
Evy Kassirer
04244f7099 message_edit: Fix stale comment about update message function. 2025-10-30 15:57:33 -07:00
Karl Stolley
9fe24279d7 inputs: Remove selectors for unused input types.
Some checks failed
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
Code scanning / CodeQL (push) Has been cancelled
Zulip production suite / Ubuntu 22.04 production build (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:bookworm, true, false, Debian 12 (Python 3.11, backend + documentation), bookworm) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:jammy, false, true, Ubuntu 22.04 (Python 3.10, backend + frontend), jammy) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:noble, false, false, Ubuntu 24.04 (Python 3.12, backend), noble) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:trixie, false, false, Debian 13 (Python 3.13, backend), trixie) (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble, , Ubuntu 24.04 production install, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie, , Debian 13 production install, trixie) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-7.0, 7.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-8.0, 8.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy-6.0, 6.0 Version Upgrade, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-10.0, 10.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-9.0, 9.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie-11.0, 11.0 Version Upgrade, trixie) (push) Has been cancelled
2025-10-28 15:01:44 -07:00
Karl Stolley
a2c22795c8 inputs: Remove type=number from styles.
There are no Zulip inputs that take this type; the only
instances of type="number" are in the portico, which does
not load zulip.css.
2025-10-28 15:01:44 -07:00
Evy Kassirer
a8493e71aa channel_folders: Fix unread counts for show_channel_folders option.
Previously the counts were being generated assuming `show_channel_folders`
was true. But when we're not showing folders, the unread counts for
folders need to be distributed to the "normal" section.
2025-10-28 13:50:41 -07:00
Evy Kassirer
dbcef2efd3 stream_list: Fix two bugs related to is_filtering_inactives.
(1) Remove the "inactive-or-muted-in-channel-folder" classname
    when channels stop being considered inactive on rerender.
(2) The toggle button shouldn't mention inactive channels if
    we're not hiding them.

Discussed here:
https://chat.zulip.org/#narrow/channel/101-design/topic/hide.20inactive.20channel.20setting/near/2272941
2025-10-28 13:32:01 -07:00
apoorvapendse
421ba8afcf paste: Prevent insertion of extraneous newlines in Firefox.
Firefox preserves the newlines when copying a visually
line-wrapped paragraph that originally contains zero
"intentional" newlines.

This fix removes those newlines from the text content before
pasting into the compose box.

This probably won't cause removall of intentional newlines,
as they are represented with <br/> tags in the `paste_html`.

Original report: https://rust-lang.zulipchat.com/#narrow/channel/122653-zulip/topic/Copy-paste.20includes.20hard.20newlines.20when.20message.20didn't/with/544174740

Discussion: https://chat.zulip.org/#narrow/channel/9-issues/topic/extraneous.20newlines.20when.20pasting.20in.20Firefox/with/2275319

Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>

Co-authored-by: Alex Vandiver <alexmv@zulip.com>
2025-10-27 16:19:22 -07:00
Sahil Batra
c31a23d589 user-profile: Fix textarea being too small in "Manage user" modal.
Some checks failed
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
Code scanning / CodeQL (push) Has been cancelled
Zulip production suite / Ubuntu 22.04 production build (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:bookworm, true, false, Debian 12 (Python 3.11, backend + documentation), bookworm) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:jammy, false, true, Ubuntu 22.04 (Python 3.10, backend + frontend), jammy) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:noble, false, false, Ubuntu 24.04 (Python 3.12, backend), noble) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:trixie, false, false, Debian 13 (Python 3.13, backend), trixie) (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble, , Ubuntu 24.04 production install, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie, , Debian 13 production install, trixie) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-7.0, 7.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-8.0, 8.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy-6.0, 6.0 Version Upgrade, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-10.0, 10.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-9.0, 9.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie-11.0, 11.0 Version Upgrade, trixie) (push) Has been cancelled
This commit fixes textarea width being too small for "Long text"
custom profile fields in "Manage user" modal. This commit removes
the CSS which set the incorrect width and also restricts the
maximum width such that it does not overflows on narrow screens.
2025-10-24 07:15:26 -07:00
Sahil Batra
2ea21b00f7 modals: Restrict dropdown widget button widths to visible space.
This commit adds CSS to make sure dropdowns widgets remain inside
the visible area of the modals and are not cut off in narrow width
screens.
2025-10-24 07:15:26 -07:00
Sahil Batra
ad19c16dca modals: Restrict dropdown and input widths in narrow screens.
This commit adds CSS to make sure dropdowns and inputs, including
date type and pill inputs, remain inside the visible area of the
modals and are not cut off in narrow width screens.

Apart from setting max-width, this commit also changes the grid
CSS for datepicker input so the layout is arranged in such a way
that the "x" button is inside the input element and we can set
the max-width in a simpler way.
2025-10-24 07:15:26 -07:00
Sahil Batra
cce328a38f custom-profile-fields: Fix class name in datepicker input.
We previously added "settings_text_input" class to the datepickr
input in "Manage user" form as well, while other inputs have
"modal_text_input" class. This commit fixes that.
2025-10-24 07:15:26 -07:00
Alex Vandiver
bb5dc82ce6 navbar_alerts: Fix download link.
Fix this download link to not be a 404.
2025-10-22 11:30:55 -07:00
Anders Kaseorg
e9cdf6f41c submessage: Accept todo submessage with extra_data: null.
Before commit 6df3ad251a (#24235),
get_extra_data_from_widget_type would initialize extra_data to null
for todo messages.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-22 10:26:21 -07:00
Aman Agrawal
2b2b6fda5d hello: Replace level up logo with linux foundation logo. 2025-10-22 10:12:09 -07:00
Tim Abbott
6262c81375 templates: Tweak demo-owner-update-email-field-hint text. 2025-10-21 18:02:36 -07:00
Lauryn Menard
476ee37bf3 demo-orgs: Add email address visibility update to add email modal.
Adds a field to update the demo organization owner's email address
visibility setting when they are adding an email to their account.
2025-10-21 18:00:48 -07:00
Lauryn Menard
ef2c2fe885 demo-orgs: Make note about name field a hint in add email modal.
Moves the note about possibly updating the name field from the top
of the modal to instead be a hint/subtitle under the field on the
form.
2025-10-21 18:00:48 -07:00
Pratik Chanda
ffa9c1e6a3 widget: Hide widgets from muted users like normal messages.
Earlier, messages from muted users were hidden with a hidden dialog
but widgets were still visible.

This commit corrects this behaviour by hiding it if the message
container is supposed to be hidden.

Fixes part of zulip#34886.
2025-10-21 12:27:18 -07:00
Aman Agrawal
aa17bc20cd message_list_view: Fix failing test.
It was throwing error when running test for
message_list_view without failing the entire test suite.
2025-10-21 08:27:39 -07:00
Sahil Batra
2abbc058ab settings: Live update role text in "Profile" panel. 2025-10-20 16:40:01 -07:00