Commit Graph

65995 Commits

Author SHA1 Message Date
Shubham Padia
e2011fcd97 icons: Do not allow stroke property via the style tag in svgs.
We already had a lint rule for this, but we did not disallow setting it
from the style side. There is no existing violation of this rule, but
it's still better to have this rule in place.
2025-07-22 12:55:05 -07:00
Shubham Padia
22d8c725eb icons: Do not allow stroke property via the style tag in svgs.
We already had a lint rule for this, but we did not disallow setting it
from the style side. This was breaking the icons changed in this commit
in our new astro help center.
2025-07-22 12:55:05 -07:00
Shubham Padia
d24f2972d4 icons: Do not allow fill property via the style tag in svgs.
We already had a lint rule for this, but we did not disallow setting it
from the style side. This was breaking the icons changed in this commit
in our new astro help center.
2025-07-22 12:55:05 -07:00
Shubham Padia
81464c2812 help-beta: Make icons work in dark mode.
The icons were not changing color in dark mode, after setting fill to
currentColor, that problem should be solved.
2025-07-22 12:55:05 -07:00
Shubham Padia
bd935e07d8 help-beta: Use defaultClass instead of defaultStyle.
Somehow defaultStyle was not getting applied in all cases, but
defaultClass was getting applied in all cases. We don't have time to
investigate, but using a class is better anyways, so this change should
be fine.
2025-07-22 12:55:05 -07:00
Evy Kassirer
935a8b9278 events: Consider partial_subscribers key in apply_event.
Fixing bug reported here:
https://chat.zulip.org/#narrow/channel/343-kandra-errors/topic/KeyError.3A.20'subscribers'/near/2226586
2025-07-22 12:49:28 -07:00
Ryan W. West
b3acbf3146 docs: Fix Markdown developer docs discussion of headings. 2025-07-22 12:34:17 -07:00
Alex Vandiver
dbe1f778cf grafana: Be more forgiving of missing alert keys. 2025-07-22 12:20:04 -07:00
Evy Kassirer
3bb08183f7 stream_list: Remove unused references to stream-filters-label. 2025-07-22 12:15:54 -07:00
Evy Kassirer
c942900b69 stream_list: Hide channels on zoom-in using .hide instead of hide().
This gives us more control, for example `show()` was adding
`display: inline-block;` to channels after unhiding them
which was overriding other code (added for channel folders
in future commits) that was trying to hide the channels.
2025-07-22 12:15:21 -07:00
Mateusz Mandera
25a75b9ed7 scim_filter: Remove unnecessary join.
This join is completely redundant. We don't need to join the tables to
add filtering by realm id in the db queries for SCIM user lookup.
2025-07-22 12:02:06 -07:00
Mateusz Mandera
1b48c7724f scim: Mention restarting the server in RTD scim doc. 2025-07-22 12:02:06 -07:00
Mateusz Mandera
3052d0cca7 scim: Make "id" a string in our responses.
In SCIM, this is always a string, even if numerical. While SCIM clients
seem to handle our prior behavior, this was a bug nonetheless.
2025-07-22 12:02:06 -07:00
Mateusz Mandera
88d1dcaf02 user_groups: Extract check_user_group_can_be_deactivated helper. 2025-07-22 12:02:06 -07:00
Mateusz Mandera
8f66e0b640 access_user_group_api_value_for_setting: Change arg to realm.
This is a cleaner interface, allowing this function to be called in
contexts without a user_profile object.
2025-07-22 12:02:06 -07:00
Anders Kaseorg
7236476a9d help-beta: Downgrade to Zod 3.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-22 10:29:37 -07:00
Sayam Samal
c92e9a7229 topic_list: Move input blur on escape logic to hotkey.js module.
This is a follow-up commit to 021d6cb169,
and moves the logic for blurring the topic filter input when the escape
is pressed from `clear_topic_search` to the `web/src/hotkey.js` module
for better code readability, and to be in adherence with the comment
in `web/src/hotkey.js` which states the logic for handling the escape
key interaction.
2025-07-21 23:16:26 -07:00
Sayam Samal
39e467c0dd inputs: Fix input icons' vertical alignment for multi-line inputs. 2025-07-21 23:16:26 -07:00
Sayam Samal
a3e740e332 inputs: Replace border with outline for input elements.
This commit replaces the `border` property with `outline` for input
elements, since the `outline` property is more suitable for focus
indicators. This change also removes the need for extra padding
adjustments due to the border's impact on layout.
2025-07-21 23:16:26 -07:00
Sayam Samal
7f3ff923b8 recent_view: Fix recent view search bottom margin. 2025-07-21 23:16:26 -07:00
Sayam Samal
122d93d430 filter_input: Add explicit classname for filter clear button.
This commit adds an explicit "input-close-filter-button" classname to
the filter input clear button, improving the readability of the code.
2025-07-21 23:16:26 -07:00
Mohammad Reza Kianifar
d02cafce52 welcome_bot: Support auto-reply for 1:1 DMs using DM groups.
Welcome Bot should auto-reply to users in 1:1 DMs, including when
the direct message group recipient model is used. This ensures
the bot detects and responds to messages where it is a recipient,
for both PERSONAL and DIRECT_MESSAGE_GROUP recipient types.

Fixes: part of issue #25713.
2025-07-21 22:48:01 -07:00
Mohammad Reza Kianifar
9c036024bd scheduled_messages: Set read_by_sender for self-DMs using DM group.
When using direct message group as the recipient for 1:1 or self DMs,
ensure read_by_sender is set correctly when scheduling a message.
2025-07-21 22:46:38 -07:00
Alya Abbott
bde295806c help: Update unsubscribe instructions and use them on unsubcribe page. 2025-07-21 22:44:45 -07:00
Alya Abbott
94c98c5749 help: Update subscribe instructions and use them on subscribe users page. 2025-07-21 22:44:45 -07:00
Alya Abbott
ccf89b9819 help: Move insructions to subscribe/unsubscribe users to /include. 2025-07-21 22:44:45 -07:00
Aman Agrawal
17a126a926 condense: Fix long unread message collapses after initial render.
After narrowing to a long unread message, the message gets marked
as read and can be collapsed when rerender happens since the
cutoff of read message is different.

Fixed by tracking which messages were unread during initial
render and using the unread cutoff for them until user narrows
again.
2025-07-21 21:47:21 -07:00
Alya Abbott
c90f3682bc docs: Remove outdated section on sending push notifications directly.
With recent work on E2EE, instructions on sending push notifications
directly (without using the service) have become outdated. As questions
about how to do this generally come from users whose goal is
to work around the business model that supports Zulip's development,
we are dropping these instructions rather than updating them. E2EE
should eliminate other motivations for using this documentation.
2025-07-21 16:42:21 -07:00
Anders Kaseorg
a29ed94e5b web: Switch to Zod mini API.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
cb28bff831 web: Avoid Zod .exclude().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
1d419f864d web: Avoid Zod z.number().int().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
d5996dd356 web: Avoid Zod .rest().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
32e1127489 web: Avoid Zod .loose().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
9266425317 web: Avoid Zod .extend().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
371c798584 web: Avoid Zod .and().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
43e4dbd51b state_data: Simplify state_data splitting.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
9515d77b1e web: Use Zod z.keyof() functionally.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
6dafa9f1c7 web: Avoid Zod .or().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
7c875baf45 web: Use Zod z._default() functionally.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
fec8bc4a61 web: Use Zod z.nullish() functionally.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
2905ce97b6 web: Use Zod z.nullable() functionally.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
21db47989d web: Use Zod z.optional() functionally.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
c431785d3f web: Upgrade to Zod 4.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
73bf77b972 web: Avoid deprecated Zod .merge().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Anders Kaseorg
1f1839f19b web: Replace one-argument z.record() usage.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Sayam Samal
b5aa895042 topic_list: Fix bug related to br element in empty contenteditable div.
When the contenteditable div in the topic list filter is empty, the
browser adds a <br> element to it, which interferes with the ":empty"
selector in the CSS — responsible for showing the placeholder and hiding
the clear button in the input field. Hence, we detect this case of an
empty contenteditable div and clear the content of the div to ensure
that the CSS styles are applied correctly.
2025-07-21 16:36:09 -07:00
Mateusz Mandera
4bd6fd6307 ldap: Use savepoint=True to avoid breaking ldap sync transaction.
Due to the atomic(savepoint=False) here, an LDAP sync exception while
syncing a single user breaks the whole sync_ldap_user_data transaction,
preventing it from successfully syncing other users.

Fixes a regression introduced in
1eecbad381

Closes #35291.
2025-07-21 13:10:04 -07:00
Shubham Padia
21558bd784 help-beta: Decrease line height to make text easier to read. 2025-07-21 12:56:52 -07:00
Shubham Padia
6d93465f3b help-beta: Remove header from Zulip note.
We don't want to have a title of note and the ⓘ  icon in the note aside.
The only way to do this is to have our custom component called
ZulipNote.
2025-07-21 12:56:52 -07:00
Shubham Padia
8f51b93223 help-beta: Convert file includes that don't occupy their own lines.
The regex we were using for file includes was searching for the syntax
at the start of a line but the file includes can be followed by a `- `
as part of a list item, due to which 15 occurences of includes were not
being converted. This commit fixes that.
2025-07-21 12:56:52 -07:00