Commit Graph

65585 Commits

Author SHA1 Message Date
Alya Abbott
57321a6a4a updates: Add Zulip update announcement (level=18). 2025-07-10 18:42:47 -07:00
Lauryn Menard
d47db732ab help: Add mobile view message exact timestamp documentation. 2025-07-10 18:42:01 -07:00
Lauryn Menard
fb5bcab5a7 help: Add mobile instructions for viewing who reacted to message. 2025-07-10 18:08:40 -07:00
Lauryn Menard
cb35d41409 help: Add mobile instructions for toggling invisible mode.
Added in https://github.com/zulip/zulip-flutter/pull/1631.
2025-07-10 17:59:31 -07:00
whilstsomebody
bbc842484f modal: Add options for marking messages as read.
We have updated our read messages confirmation modal
to now offer three options for marking messages as read:

- Muted topic messages
- Messages from topics I don't follow
- All unread messages

Additionally, the modal now displays the count of unread
messages for the selected option.

Fixes: #30025.
2025-07-10 17:57:25 -07:00
Tim Abbott
01ce268d64 help: Fix a broken link reference in message-actions. 2025-07-10 17:57:10 -07:00
Tim Abbott
04d354b527 help: Use specific channel framing for more settings.
This is for consistency with other articles about channel-specific
permissions.
2025-07-10 17:55:28 -07:00
Lauryn Menard
924c5409f9 channel-permissions: Fix URL for help center article.
This was missed when adding the redirect years ago.
2025-07-10 17:53:56 -07:00
Lauryn Menard
9df03d1134 help: Update message a channel by email for settings UI changes. 2025-07-10 17:53:56 -07:00
Lauryn Menard
c22889f385 help: Fix icon in docs for edit channel name and description. 2025-07-10 17:53:56 -07:00
Alya Abbott
df98dd11ea help: Update channel advanced configuration settings for new UI.
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2025-07-10 17:53:54 -07:00
Alya Abbott
c777b38a76 help: Document message actions menu on mobile. 2025-07-10 17:35:24 -07:00
Alya Abbott
bd40497b1d help: Update article on viewing and sharing message content.
Reframe as interacting with content as Markdown rather than
"Markdown source".
2025-07-10 17:35:22 -07:00
Alya Abbott
511946207c docs: Clean up index page. 2025-07-10 17:28:40 -07:00
Maneesh Shukla
0eea85446b tooltips: Group tooltips for a smooth transition.
This commit introduces the use of createSingleton from the Tippy.js
library to group the tooltips of compose box formatting buttons. The
main benefit is that the hover delay only applies when you move the
cursor into the group for the first time — after that, tooltips show up
instantly as you move between buttons. It makes the whole experience
feel a lot smoother.

We store the singleton instance in a variable to avoid creating multiple
instances unnecessarily. Before initializing a new singleton, we destroy
the previous one to prevent memory leaks and ensure correct behavior.

Previously, each formatting button had its own independent tooltip with
separate delays, which made the experience feel sluggish and disjointed
when hovering across buttons.

Now, by sharing a delay timer across the grouped tooltips, the
transition feels more natural.

Fixes: #24825.

Co-authored-by: Sayam Samal <sayam@zulip.com>
2025-07-10 17:20:41 -07:00
Maneesh Shukla
48d2ee2684 compose-buttons: Add compose_button_tooltip class to all the control buttons.
This is a prep commit to add singleton tooltips to all the
compose control buttons.

Fixes part of #24825.
2025-07-10 17:06:02 -07:00
Pratik Chanda
83d67ddb6a settings: Remove unreachable click handler for settings.
This commit removes click handler for settings overlay container
for closing modals over settings which was added for earlier modal
version. Current modal doesn't use this handler to close modal.
2025-07-10 17:03:17 -07:00
Tim Abbott
464821afca overlay_ui: Avoid treating range selection as a click. 2025-07-10 13:17:13 -07:00
apoorvapendse
9ddc2dddc3 scheduled_messages: Restore message on clicking header.
Fixes:
https://chat.zulip.org/#narrow/channel/101-design/topic/message.20header.20bar.20interactions.20in.20overlays/with/2205866.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-10 13:17:13 -07:00
apoorvapendse
cf3e94758e drafts: Restore draft on clicking message header.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-10 13:17:13 -07:00
Tim Abbott
b298f18071 stream_popover: Don't advertise useless views for general chat channels.
These views can only ever show the on topic, so we shouldn't spend
space advertising them.
2025-07-10 12:34:02 -07:00
Tim Abbott
ece761130c settings_config: Update general chat option strings.
- Avoid a capitalization issue in English with the first word being
  "general chat".
- Replace unclear "Automatic" option name.
- Use curly quotes.
2025-07-10 12:34:02 -07:00
whilstsomebody
82077b6328 message_row: Correctly align bot icon in message area.
The bot icon in the message area is center-aligned,
but due to its shape, it appears slightly misaligned
with the bot name text.

This commit fixes the by adding a 1px bottom margin.

Fixes: #32992
2025-07-10 12:22:34 -07:00
Greg Price
aaeabeda44 notifications: Dedupe APNs tokens case-insensitively.
Fixes zulip/zulip-flutter#1617.

It turns out that an APNs token (which is a hex string) is equally
valid in lower or upper case.  The old app would send the server
the lower-case form of the token, but the new app sends the
upper-case form.

Because we've been treating tokens case-sensitively, if the user
upgrades from the old app to the new, that results in the server
and bouncer each having two copies of the token (one lower-case and
one upper-case), and therefore sending that device two copies of
each notification: zulip/zulip-flutter#1617.

To fix that immediately, have the bouncer drop duplicate tokens
before sending the notifications to APNs.

Work is also in progress on fixing this in a better-structured way,
by having the database correctly treat tokens as the same when they
differ only in case.
2025-07-10 10:54:14 -07:00
Aman Agrawal
9b15dce1b2 auth: Only automatically redirect for same domain redirects.
If the `deactivated_redirect` belongs to the same domain as
`EXTERNAL_HOST`, automatically redirect, otherwise just point
user to the new URL.
2025-07-10 10:46:59 -07:00
Sahil Batra
ba32e732c7 stream_create: Fix folder widget not defined in prod.
We do not create folder widget in production as of now, so
we need to make sure that folder_widget.render is not called
when opening stream creation UI in production as folder_widget
is undefined.

It opens fine but code handling closing of overlay is not
called as expected and the hash is not changed even after
closing the overlay which resulted in problems when opening
the channel settings overlay again.
2025-07-10 10:23:39 -07:00
Karl Stolley
fd67852085 inbox: Update reply-button label via show(). 2025-07-10 08:36:52 -07:00
Alya Abbott
039402997d help: Document converting pasted text to a file. 2025-07-10 08:36:21 -07:00
PieterCK
3a40695d8b test_message_report: Add stronger assertion for test cases.
This makes sure the number of submitted message report in each test case
is accurate.
2025-07-10 08:34:12 -07:00
PieterCK
23d6ae7faf test_message_report: Refactor a test case.
This refactors a `test_reported_channel_message_narrow_link` which was
previously part of `test_channel_message_report`. It's refactored out
partly to keep the test from being flaky and partly to not bloat it
since it's testing 4 behaviours currently.
2025-07-10 08:34:12 -07:00
PieterCK
33cdbd6d45 test_message_report: Fix flaky tests.
Previously `get_submitted_moderation_requests` does not order the query
by message ID which makes the test cases flaky. This updates the
function to sort query result so that the first one should be the latest
one.
2025-07-10 08:34:12 -07:00
Vector73
d0bc9b8f92 message_edit: Cleanup empty topic check. 2025-07-10 08:32:53 -07:00
Lauryn Menard
b198ff9f0c support: Follow general styling for showing fixed price plan info. 2025-07-10 08:32:15 -07:00
Aman Agrawal
c105bcc322 stripe: Fix free trial pay by invoice customer billed twice.
This was a result of us moving `billing_cycle_anchor` ahead in time
of the `LicenseLedger` entry the customer paid for. Thus, this
confused our logic in thinking that customer hasn't paid for
the current billing cycle.
2025-07-10 08:30:44 -07:00
Karl Stolley
ac0cc78327 compose: Size and place formatting icons to spec.
Note that this establishes a 30px by 30px box at
Vlad's original font-size, 15px. His spec called for
a 30px by 28px box, but does not reflect the height of
the Send button, which is 30px tall. So to maintain
that height and perfectly center the icons, we create
a 30px square for the button.
2025-07-10 08:29:48 -07:00
Karl Stolley
02528992a2 compose: Remove dead flex directive.
The grouping element in the DOM, .compose_control_button_container,
is not a flexbox, so this directive is ignored by browsers.
2025-07-10 08:29:48 -07:00
Alya Abbott
a9f55878e3 help: Document channel-specific "general chat" permissions. 2025-07-09 16:42:07 -07:00
Mateusz Mandera
a61d849e37 ldap: Implement external auth id auth+sync.
Fixes #24104.
2025-07-09 15:31:17 -07:00
Mateusz Mandera
d273059475 backend: Rename username var to email in ldap get_or_build_user.
Since we have an email value in that variable, we should call it
appropriately.
2025-07-09 15:31:17 -07:00
Vector73
c3e8b48245 settings: Fix tooltip not shown when message retention policy invalid.
Previously, the tooltip was not shown on save button when message
retention policy is invalid in channel settings. This commit fixes that bug.
2025-07-09 14:25:53 -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
Vector73
7b60b2edca stream_popover: Show clear button if topic input is not disabled.
Previously, if the topic input was disabled when "Move messages"
modal was opened, the clear button was not added to the DOM
which caused the bug where the clear button was not shown even
if the topic input was later enabled because user was allowed to edit
topics in the selected channel.
2025-07-09 14:25:53 -07:00
Vector73
3b4f55a7ea stream_popover: Refactor topic input focus/blur handlers into functions. 2025-07-09 14:25:53 -07:00
Vector73
82d76465ab stream_popover: Filter out channels where moves are not possible.
Users who don't have permission to edit topics cannot move messages
from empty topic to the channel where empty topics are not allowed.
So, those channels should not be shown in the channel selector in the
"Move messages" modal.
2025-07-09 14:25:53 -07:00
Vector73
09b4a4c6e4 stream_list: Remove redundant condition block to get topic list URL. 2025-07-09 14:25:53 -07:00
Vector73
7afed92c00 streams: Add function to get topic for channel events notifications.
Refactored the code to add a function `channel_events_topic_name`
to get the topic name for sending notification for channel events.
2025-07-09 14:25:53 -07:00
Vector73
20aace98cd tests: Add tests for moving messages with empty topic disabled. 2025-07-09 14:25:53 -07:00
Tim Abbott
911fca7f80 recipient_row: Fix data-topic-name for general chat.
Since we know it's a topic header, we don't need a conditional
here. And the one we'd had didn't distinguish `undefined` from `""`,
and thus broke these controls for general chat.
2025-07-09 14:25:53 -07:00
Lauryn Menard
0ecb8269d0 help: Document configuring display of unread summary counters.
Document the personal setting for displaying or hiding the unread
message summary counters in the left sidebar shown next to the
home view and channels header.

Fixes #35076.

Co-authored-by: Alya Abbott <alya@zulip.com>
2025-07-09 14:05:28 -07:00
Karl Stolley
d1a66c4faa alerts: Restore alert-success colors. 2025-07-09 14:04:52 -07:00