Commit Graph

65523 Commits

Author SHA1 Message Date
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
Evy Kassirer
f7af0f0879 search: Update description string for channel terms. 2025-07-08 10:02:34 -07:00
Evy Kassirer
c61943f002 search_suggestion: Show pills in search suggestions.
Fixes #34750.
2025-07-08 10:02:34 -07:00
Evy Kassirer
106a97cd05 search_pill: Separate out logic to calculate user pill data.
This will be reused in an upcoming commit.
2025-07-08 10:02:34 -07:00
Evy Kassirer
58f5f499fc search_pill: Rename non-user type to 'generic_operator'.
This change is meant to remove confusion between a pill's `type` being
"search" and its `operator` being "search".
2025-07-08 10:02:34 -07:00
Lauryn Menard
ca48ffccb8 realm-create: Update default user email visibility for org_type.
When creating a new organization, the new user default for email
address visibility is now limited to admins for most organization
types. The exceptions are education organizations, which have the
default set to moderators, and business organizations, which have
the default set to all users.

Fixes #34859.
2025-07-08 09:30:39 -07:00
Lauryn Menard
4e97a6d80e analytics: Get user by delivery email when creating users in test set up.
In the analytics tests, where users are created as part of the set up
of the test, we want to get users by the delivery email and not the
visible-to-other-users email field.

Prep for setting default new user email visibility in realm creation
by the organization type.
2025-07-08 09:30:39 -07:00
Lauryn Menard
be30af9f22 test-send-message: Update cross realm direct message test.
Set organization type as business when making realms for tests,
and get newly created users with delivery email.

Prep for changes to the default email visibility setting for new
realms based on organization type.
2025-07-08 09:30:39 -07:00
Lauryn Menard
dded5c3bad help: Remove instructions with relative links to settings overlay.
These links do not work for the general help center docs as there
is no Zulip organization for the relative link to go to. Instead
we link to other help center documentation that's relevant to the
context of these articles.
2025-07-08 09:28:40 -07:00
Sahil Batra
635cd1133c groups-ui: Fix members list not updating when creating groups.
On removing a user or group pill from input, the user or group
was not being removed from the table. This was because of
onPillRemove not being set for the pill widget as it was
removed by mistake while doing other changes in ec65dad063.
2025-07-08 09:27:17 -07:00
Alya Abbott
8a42845605 help: Add note about pasting plain URLs. 2025-07-07 18:46:51 -07:00
Lauryn Menard
c68881af10 help: Switch tab label for configure single channel notifications.
Follow up to #35103.
2025-07-07 18:46:13 -07:00
Mateusz Mandera
fe993032a6 validate_email_not_already_in_realm: Add kwarg for mirror dummies.
In user signup context, we are okay with there being an existing mirror
dummy user with the matching email - at the end of the signup, that
mirror dummy account will be activated and control of it given to the
user doing this signup.

However, in email change contexts (SCIM API and regular email change
flow), we can't change an account's email address to the address that
already belongs to an existing mirror dummy user.

To avoid subtle bugs like this, we make callers have to explicitly
specify whether existance of mirror dummies with the matching email
address is okay or not.
2025-07-07 17:15:08 -07:00
Mateusz Mandera
9abdb17d1f do_start_email_change_process: Don't revoke USED EmailChangeStatus objs.
We obviously shouldn't set such objects to REVOKED as that introduces
misleading information into our data. USED objects cannot be re-used, so
they can stay as they are.
2025-07-07 17:15:08 -07:00
Mateusz Mandera
2bfefe2ebd confirm_email_change: Use redirect-to-POST trick.
Just like with signup confirmation links, we shouldn't trigger email
change based on a GET to the confirmation URL - POST should be required.

So upon GET of the confirmation link, we serve a form which will
immediately be POSTed by JS code to finalize the email change.
2025-07-07 17:15:08 -07:00
Mateusz Mandera
32daab11c5 confirm_email_change: Mark the Confirmation used inside a transaction.
The get_object_from_key call should be included in the transaction - we
shouldn't modify the object if the rest of the function fails to
actually confirm the email change (e.g. due to IntegrityError occurring).
2025-07-07 17:15:08 -07:00
Karl Stolley
e43ee9dbbe compose: Correct low-attention logic for combined feeds. 2025-07-07 15:14:36 -07:00
Karl Stolley
04349a427f compose: Evaluate narrow against stream_id. 2025-07-07 15:14:36 -07:00
Vector73
c46272f009 stream_types: Rename stream_types.hbs to stream_permissions.hbs. 2025-07-07 09:50:50 -07:00
Vector73
f65fdb7bef stream_settings: Reorganize settings in subsections.
This commit reorganizes channel settings in the "Advanced
configurations" section into four subsections.

Fixes #34837.
2025-07-07 09:50:50 -07:00
Vector73
b2bd4500ab stream_settings: Reorder settings in advanced configuration section. 2025-07-07 09:50:50 -07:00
Aditya Kumar Kasaudhan
cc9d78328e users: Add SECURITY_SENSITIVE_USER_SETTINGS to UserBaseSettings.
This commit is a preparatory step for allowing organization owners to
reset user preferences, defines a set of sensitive user settings
that will be protected from resets by organization owners.
2025-07-07 09:48:25 -07:00