Commit Graph

65544 Commits

Author SHA1 Message Date
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
Lauryn Menard
4fd510e3ac help: Add mobile instructions in "Searching for messages" article. 2025-07-09 12:56:41 -07:00
Aman Agrawal
5cfe4829a9 compose_closed_ui: Fix incorrect tooltip for new conversation btn.
Fixed by removing the incorrect update for new conversation
button and correctly updating the reply button state.
2025-07-09 12:54:47 -07:00
Karl Stolley
ec46b117bb banners: Add utility class for uniform bold. 2025-07-09 12:50:25 -07:00
Tim Abbott
ddc634682c api: Increment API feature level to 403. 2025-07-09 11:41:56 -07:00
Sahil Batra
de1e08b9bf typed_endpoint: Handle "dataclass_type" pydantic errors.
This commit adds error message for handling "dataclass_type"
pydantic errors. An example when this occurs is when group
setting value passed to update the setting is invalid like group
ID is passed directly and not in an object with "new" field and
other invalid values as well.
2025-07-09 11:17:54 -07:00
Pratik Chanda
2b52306c28 tooltips: Don't destroy user popover instance on user status hover.
This commit adds a check for instance and stops user status hover
from destroying user popover instance.

Fixes: zulip#35175.
2025-07-09 10:19:52 -07:00
Aman Agrawal
6aec84147b stream_list: Fix misleading tooltip.
When in topic narrow, hovering over the topic's channel, should
correctly show where it would navigate to.
2025-07-09 10:16:23 -07:00
PieterCK
4775f9673f integrations: Rename config_options "description" field.
This renames WebhookConfigOption's "description" field to "label". That
name is consistent with how config_data is declared on the events and
API level, it's also a more accurate description of how the field is
used in the web client, as the UI label element for the config_options.
2025-07-09 10:12:33 -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
apoorvapendse
407b6f64c4 compose_paste: Paste as image for LibreOffice Calc content.
Fixes: https://chat.zulip.org/#narrow/channel/9-issues/topic/bug.3A.20pasting.20cells.20from.20libreoffice.20calc.20is.20only.20image/near/2176558.

Co-authored-by: Puneeth Chaganti <punchagan@muse-amuse.in>
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-09 09:52:52 -07:00
Maneesh Shukla
6ce089990e buttons: Redesign buttons in personal settings.
This PR modifies the Preferences button to an action button in neutral,
and 'Send a test notification' into a medium-emphasis neutral action
button.

Fixes: #34535

Co-authored-by: Yatin Sharma <aman1312sharma@gmail.com>
2025-07-09 09:44:33 -07:00
Vector73
f9d52189fc github_actions: Check if feature levels are updated in API docs.
In the past, some API documentation changes were merged with
unresolved placeholders like "ZF-..." instead of actual feature level numbers.
This commit introduces a GitHub Action that scans the API docs for
any occurrence of "ZF-". If found, it will fail the CI check and block the
commit from being merged into main.

This ensures that all feature level references are properly updated before merging.
2025-07-09 09:33:55 -07:00
Kislay Verma
e6dabb4ef4 compose_paste: Convert large pasted text into uploaded text file.
When pasting a long piece of text into the compose box (or
message edit textarea), we show a banner giving an option to
put the text into a file and upload it.

The banner is only shown if the text is larger than
`MINIMUM_PASTE_SIZE_FOR_FILE_TREATMENT`.

If the user chooses to "convert to file", the textarea content is
restored to its state before pasting and a file with the pasted
content is uploaded. The banner is hidden as soon as any change is
made to the textarea content to avoid inconsistent state and
confusion.

Fixes #33107.

Co-authored-by: Aditya Chaudhary <aditya.chaudhary1558@gmail.com>
2025-07-08 18:58:03 -07:00
Mateusz Mandera
40956ae4c5 saml: Implement group sync.
Adds support for syncing group memberships for a user when logging in
via SAML. The list of group memberships is passed by the IdP in the
zulip_groups SAML attribute in the SAMLResponse.
2025-07-08 17:02:08 -07:00
Mateusz Mandera
b966397d25 registration: Do getLogger() instead of direct "logging.<level>" calls.
Having a logger object will be helpful in the upcoming commit to pass as
argument to sync_groups. We use the root logger here (sticking to
original behavior) rather than setting up `getLogger(__name__)` to avoid
breaking a large number of tests which assert logs content - as there
doesn't seem to be any major upside to using a separate logger for this
file.
2025-07-08 17:02:08 -07:00
Mateusz Mandera
ee1801feba compat: Remove SOCIAL_AUTH_SYNC_CUSTOM_ATTRS_DICT. 2025-07-08 17:02:08 -07:00
Tim Abbott
dd5ae0af44 test_helpers: Include an empty session for HostRequestMock.
This allows code that expects request.session to exist to not crash.
2025-07-08 17:02:08 -07:00
opmkumar
8786b12f0c streams: Add can_resolve_topics_group setting.
Fixes #19955.
2025-07-08 16:53:43 -07:00
Rohan Gudimetla
05b6672777 refactor: Extract method handling URLs starting with user_uploads.
This commit extracts the method which handles both relative
URLs starting with `/user_uploads` and `user_uploads`,
converting the latter into former, and attaching the path_id
to it.

This is a preparatory commit to #27007
2025-07-08 15:46:18 -07:00
Rohan Gudimetla
0229f73fae lightbox: Fix media title update on change in title.
Previously, when title of media element is updated
the change is not reflected in lightbox view.

This is because the title of the element is cached
from the last time when the media element was opened in
lightbox.

This is fixed by invalidating a message's asset_map cache
whenever the content of message is edited.

Fixes #21311
2025-07-08 11:26:51 -07:00
Rohan Gudimetla
4c69cf13f1 lightbox: Index asset_map entries to use message_id.
This commit indexes the `asset_map` cache entries with message_id
so that it can be helpful to invalidate cache of a certain message
when its content is edited.

This is a preparatory commit to #21311
2025-07-08 11:26:51 -07:00
roanster007
0b2cb835f5 topics: Apply automatic follow/unmute when message moved to new topic.
This commit adds a feature, wherein when someone moves a user's
message to be the first message in a topic, and the user has the
Automatically follow topics initiated enabled, then the new topic will
also be followed by the user.

Similarly, if the user has Automatically unmute topics initiated
enabled, the moved topic would also be unmuted.

Fixes #28408.
2025-07-08 11:18:15 -07:00
Varun-Kolanu
93913dd6e7 integrations: Support colon and comma characters in jotform payloads.
The payload might contain colons and commas within keys and
values entered by the user. Simply splitting the fields using
", " is therefore unreliable and can lead to incorrect parsing.
Hence, this commit updates the logic for splitting fields in
the pretty data of the Jotform payload.

Fixes #32461.
2025-07-08 11:00:06 -07:00
Lauryn Menard
4d953584ca help: Clarify where to tap in mobile instructions for logging out. 2025-07-08 10:59:00 -07:00
PieterCK
f4432f99df message_report: Use get_message_link_syntax.
This updates the message report module to use the
`get_message_link_syntax` function.
2025-07-08 10:08:44 -07:00
Sayam Samal
ce4f36200e icons: Increase "check" icon size.
This commit increases the size of the "check" icon to better fit with
the rest of the icons in the Web UI, especially in the context of the
message headers.
2025-07-08 10:05:51 -07:00
Sayam Samal
be8884e265 message_header: Update topic edit icon to a new "pencil" icon.
This commit updates the topic edit icon in the recipient row to a new
"pencil" icon (added in the same commit), replacing the previous "edit"
icon for consistency with the rest of the icons used in the same space.
2025-07-08 10:05:51 -07:00
Sayam Samal
23ac87606a message_header: Remove unresolve topic button from message header.
This commit removes the "unresolve topic" button from the recipient row
controls in the message header. The unresolve topic option is already
present in the "Topic Actions" menu, and the operation is rare enough
that it does not warrant a dedicated button in the recipient row.
2025-07-08 10:05:51 -07:00
Sayam Samal
04f3b6afe1 message_header: Add error tooltip to resolve/unresolve button.
This commit improves the error handling for the resolve/unresolve
button in the message header bar, by showing an error tooltip when
the operation fails.
2025-07-08 10:05:51 -07:00
Sayam Samal
2e070272cb message_header: Improve loading indicator on resolve/unresolve button.
This commit improves the loading indicator on the resolve/unresolve
button via the `show_button_loading_indicator` method from
`web/src/buttons.ts` module.
2025-07-08 10:05:51 -07:00
Sayam Samal
e091e19031 message_header: Update topic visibility button to use icon button.
This commit is part of a series of commits aimed at updating the message
header buttons to use the new icon button component which has consistent
styling across the Web UI and offers a larger clickable area for the
users.

Due to deviation from the structure at
"web/templates/components/icon_button.hbs", this commit applies the
icon button classes directly on the template rather than using the
component partial directly in code.

Fixes #34477.
2025-07-08 10:05:51 -07:00
Sayam Samal
feedb6ea2d message_header: Update legacy topic menu button to use icon button.
This commit is part of a series of commits aimed at updating the message
header buttons to use the new icon button component which has consistent
styling across the Web UI and offers a larger clickable area for the
users.

This commit also adds a tooltip to the topic actions menu, and updates
the aria-label to match the same.

Fixes part of #34477.
2025-07-08 10:05:51 -07:00
Sayam Samal
fbfc724285 message_header: Update external link button to use icon button styles.
This commit is part of a series of commits aimed at updating the message
header buttons to use the new icon button component which has consistent
styling across the Web UI and offers a larger clickable area for the
users.

In this particular commit, the code doesn't directly use the
`icon_button` component but instead uses the icon button utility
classes to style the `a` tag`. The reason behind this choice is that we
want to keep the browser support associated with the `a` tag intact,
such as previewing the URL link when hovering over it.

This commit also replaces the legacy font awesome external square link
icon to the newer "external-link" icon from the Zulip font icons.

Fixes part of #34477.
2025-07-08 10:05:51 -07:00
Sayam Samal
2263387143 message_header: Remove obsolete style for resolve/unsresolve spinner. 2025-07-08 10:05:51 -07:00
Sayam Samal
03e3fc1402 message_header: Update legacy resolve topic button to use icon button.
This commit is part of a series of commits aimed at updating the message
header buttons to use the new icon button component which has consistent
styling across the Web UI and offers a larger clickable area for the
users.

This commit also replaces the legacy font awesome check icon to the
newer "check" icon from the Zulip font icons.

Fixes part of #34477.
2025-07-08 10:05:51 -07:00
Sayam Samal
2db994038f message_header: Update legacy unresolve topic button to use icon button.
This commit is part of a series of commits aimed at updating the message
header buttons to use the new icon button component which has consistent
styling across the Web UI and offers a larger clickable area for the
users.

This commit also replaces the legacy font awesome check icon to the
newer "check-x" icon from the Zulip font icons.

Fixes part of #34477.
2025-07-08 10:05:51 -07:00
Sayam Samal
9591d05bd7 message_header: Update legacy edit topic button to use icon button.
This commit is part of a series of commits aimed at updating the message
header buttons to use the new icon button component which has consistent
styling across the Web UI and offers a larger clickable area for the
users.

This commit also replaces the legacy font awesome pencil icon to the
newer "edit" icon from the Zulip font icons.

Fixes part of #34477.
2025-07-08 10:05:51 -07:00
Evy Kassirer
0f4ba4fec1 search_suggestion: Remove unused is_people logic. 2025-07-08 10:02:34 -07:00
Evy Kassirer
86d8321cc0 search: Add custom description message for sender:me. 2025-07-08 10:02:34 -07:00
Evy Kassirer
404ad6c518 search: Update description string for mentions. 2025-07-08 10:02:34 -07:00