Commit Graph

61515 Commits

Author SHA1 Message Date
Sahil Batra 9a50fae25a group-settings: Update right pannel for user without creation permission.
This commit updates the right panel for groups to be same as we
have it for stream settings when the user does not have permission
to create groups.

Fixes part of #32212.
2024-11-05 11:14:02 -08:00
Sahil Batra 9b6cb5b9dc group-settings: Rename "Who can manage this group" setting label.
This makes the naming consistent with the realm setting for
managing all groups.
2024-11-05 11:14:02 -08:00
Sahil Batra d63ae11551 settings: Make separate section for organization group settings.
Fixes #32214.
2024-11-05 11:14:02 -08:00
evykassirer 2b636e64ec buddy_list: Make avatar display option only visible in dev. 2024-11-05 10:48:15 -08:00
evykassirer 99856327f0 buddy_list: Clicking avatar opens menu instead of using ... icon. 2024-11-05 10:48:15 -08:00
evykassirer ce7c3705f7 buddy_list: Don't go to DM narrow on avatar click.
This commit also moves styles from user-presence-link
onto selectable_sidebar_block, since the link is no
longer wrapping the whole block contents.

The `data-name` was also moved to the top level `<li>`
because it's used in pupeteer tests.
2024-11-05 10:48:15 -08:00
evykassirer 08e7c5feea buddy_list: Refactor click handlers to not rely on placement of user-presence-link. 2024-11-05 10:48:15 -08:00
evykassirer 94368dcf2b buddy_list: Add option to view avatar in buddy list.
Fixes #19999.

This change adds an option to show users' avatar and
status in the buddy list. Previous options are still
available in the settings menu.
2024-11-05 10:48:15 -08:00
evykassirer 774f230074 people: Cache gravatar url on person object. 2024-11-05 10:48:15 -08:00
evykassirer c39ae45d95 user_circles: Use background color instead of transparency.
This sets us up to layer the status bubbles over avatars.
2024-11-05 10:48:15 -08:00
Tim Abbott 77064a1726 api_docs: Document new message-link Markdown syntax. 2024-11-05 09:42:33 -08:00
Sayam Samal 62b24c6d92 user_card_popover: Fix unknown user_id in unsaved message user mentions.
Previously, the event handler was targeting the `event.target` element
instead of the `event.currentTarget` element. Due to event bubbling,
this lead to incorrect element being used to extract the `data-user-id`,
resulting in an error whenever a user mention was clicked in the
unsaved message in the message box or the drafts view.
2024-11-05 09:41:07 -08:00
PieterCK 7fc9fc32d1 avatars: Split email-based and user ID-based avatar endpoints.
Separate `avatars/<email_or_id>/medium?` endpoints into distinct
endpoints for email-based and user ID-based access. This change aligns
avatar endpoints with Zulip’s existing API path conventions (e.g., the
`users/` endpoint).
2024-11-05 09:06:17 -08:00
Lauryn Menard 10f03fce11 demo-orgs: Specify email input when rendering add email modal.
There are two inputs for the add email modal in demo organizations,
one to add the email address of the owner and one to update their
full name. We want the email input to be selected when the modal
is opened.
2024-11-05 08:57:35 -08:00
Lauryn Menard 7416e9c29c support: Consolidate logic for generating support URLs.
The build_support_url is a more generic function that's used in
the BillingSession framework and will generate the same URL for
these Zulip Cloud support requests.
2024-11-05 08:56:24 -08:00
Lauryn Menard 3ebc507ddb signups: Move logic for realm admin notification to corporate app.
As we would like to send similar notifications for other billing
state changes (for all BillingSession types), it makes sense to
move the logic for creating and sending these admin realm internal
messages to the BillingSession framework in the corporate app.

In the case that a channel with the specified name does not exist,
we now send direct messages to the admin realm administrators with
the channel, topic and message so that the information is not lost
and so that the channel for these messages can be created.
2024-11-05 08:56:24 -08:00
Prakhar Pratyush 9a40319bfc management: Add option to reset all the active realms to a level.
This commit adds a --reset-level optional argument to
send_zulip_update_announcements management command to
reset all the active realms to a given level.
2024-11-05 08:51:06 -08:00
Lauryn Menard 1dc7ad13a9 invite-modal: Move "invite_as" name attribute to select element. 2024-11-05 08:49:28 -08:00
Lauryn Menard 15f010d6c9 invite-modal: Update custom time input element.
Adds "custom-expiration-time-input" name to input element and orders
attributes in template for readability.
2024-11-05 08:49:28 -08:00
Lauryn Menard 62b365cb31 invite-modal: Add name attribute to custom time unit select element.
Reorders the select element attributes to be more readable.
2024-11-05 08:49:28 -08:00
Lauryn Menard 8d79adceed invite-modal: Remove unused "custom_time_choice" name and class.
In HTML, option elements do not use/have the "name" attribute, so
the custom time choice select options do not need it to be set.

The "custom_time_choice" class is not referenced anywhere else in
the codebase, so it can be removed to make this template more
readable.
2024-11-05 08:49:28 -08:00
Lauryn Menard 8c900ff0fb invite-modal: Move "expires_in" name attribute to select element.
The "name" attribute should be on the select element and not on
the nested option elements.
2024-11-05 08:49:28 -08:00
Lauryn Menard 3d5c72f762 invite-modal: Remove "expires_in" for attribute for custom time input.
The "for" attribute on this label meant that clicking the label moved
the focus to the select element above the custom time input element.
2024-11-05 08:49:28 -08:00
Tim Abbott c073e5adb4 migrations: Avoid following realm foreign key unnecessarily.
I encountered at least one scenario where the previous logic would
fail due to migration state confusion, but this could also be a bit
faster.
2024-11-04 23:07:43 -08:00
Tim Abbott 5571fb6a3e migrations: Fix migration 0617 case sensitivity bug. 2024-11-04 22:10:37 -08:00
Tim Abbott 9ac1d64138 devtools: Document how to send zulip_updates notices. 2024-11-04 16:59:06 -08:00
Alya Abbott eea2499e02 zulip updates: Add update about sidebars and file size limit. 2024-11-04 16:54:58 -08:00
Alya Abbott c08246c681 help: Document UI changes in right sidebar. 2024-11-04 16:39:39 -08:00
Karl Stolley 2e1ab1c470 unread_counters: Adjust hover styles for inbox, recent views. 2024-11-04 15:31:12 -08:00
Karl Stolley ee63e836f8 marker_icons: Reduce opacity to spec on follow, mention icons. 2024-11-04 15:31:12 -08:00
Karl Stolley 16b8c7562a compose: Update colors for draft popover. 2024-11-04 15:31:12 -08:00
Karl Stolley 62b17217f5 unread_counters: Place new colors and set prominent value as default. 2024-11-04 15:31:12 -08:00
Karl Stolley b44af63d47 left_sidebar: Update DM partners icon color. 2024-11-04 15:31:12 -08:00
Karl Stolley ccad062f3c left_sidebar: Disallow selection of unread counts. 2024-11-04 15:31:12 -08:00
sanchi-t c73985da17 icon: Replace trash icon with archive icon.
Updated the existing trash icon used for the archive
action with a proper archive icon to improve clarity
and match its intended purpose.
2024-11-04 13:48:52 -08:00
Kislay Udbhav Verma 5a24dad5f8 copy_and_paste: Transform message links to pretty syntax.
Similar to #29302, we transform zulip message links to
a pretty syntax and in case there are some problematic
characters (#30071), we generate a fallback markdown link.

Fixes #31920
2024-11-04 13:44:40 -08:00
Kislay Udbhav Verma fad7a3f4b4 topic_link_util: Make stream topic link syntax consistent.
We pad the `>` with spaces in the generated fallback link to make
it consistent with other places where the syntax is used.

Fixes part of #31920
2024-11-04 13:44:40 -08:00
Kislay Udbhav Verma 000cc7bcde markdown: Add support for a pretty syntax for message links.
Links to zulip messages can now be written as
`#**channel_name > topic_name @ message_id**.`
The `message_id` is replaced with `💬` in the rendered
message.

Fixes part of #31920
2024-11-04 13:44:40 -08:00
Kislay Udbhav Verma 65c9b249b7 markdown: Refactor classes handling stream topic links.
The classes StreamPattern and StreamTopicPattern both had a
separate copy of the function `find_stream_id` which did the same
thing. Since another Pattern will be added as a part of #31920, it
is a good idea to move that function into a superclass which is then
inherited by all the related patterns.

Fixes part of #31920
2024-11-04 13:44:40 -08:00
Sayam Samal efa5b3cce1 stream_popover: Handle no messages condition for a topic being moved.
Previously, when there were no messages in the topic being moved, the
banner in the move topic modal only showed a "Failed" error banner which
did not convey the actual error to the user. Also, a server call was
being made even when there were no messages in the topic being moved.

This commit explicitly handles the non-existent topic, prevents a call
to the server when the message_id is undefined, and displays a more
informative error banner to the user.
2024-11-04 13:25:10 -08:00
Harsh 858fdeee39 import: Add function to normalize messages to import.
This adds `normalize_body_for_import` to normalize messages from
third-party importers by removing NUL bytes and also updates import
test files data to test this.

Fixes #31930.
2024-11-04 12:22:30 -08:00
evykassirer d556c0e0a5 buddy_list: Move user link a bit left to line up with empty message.
More context here:
https://chat.zulip.org/#narrow/channel/101-design/topic/userlist.20avatar.20slow.20load/near/1974268
2024-11-01 17:04:53 -07:00
Tim Abbott 54b8a9233b groups: Clarify meaning of global admin setting.
The previous wording was ambiguous as to whether this permission means
the ability to administer all groups in the organization.
2024-11-01 17:03:32 -07:00
whilstsomebody ec43a66f26 update_ui: Standardize pencil icon color for todo and poll.
Ensure consistent pencil icon color for both todo and poll
features in hover and non-hover states across light and dark
themes.

Fixes #30339.
2024-11-01 16:45:17 -07:00
opmkumar b149d5fb70 refactor: Update on-change event to use custom-expiration-time-input.
Replaces custom-invite-expiration-time with custom-expiration-time-input
and custom-expiration-time-unit in the on-change event.
2024-11-01 16:41:58 -07:00
Prakhar Pratyush a34577f82e user_groups: Add savepoint=False to avoid creating savepoints.
add_subgroups_to_user_group and remove_subgroups_from_user_group
are already inside outer db transactions. This commit explicitly
adds 'savepoint=False' to avoid creating savepoints.
2024-11-01 16:41:15 -07:00
Prakhar Pratyush f351f94827 do_change_plan_type: Mark the transaction to not create savepoints.
This commit adds 'savepoint=False' to the transaction.atomic
decorators of do_change_plan_type as we don't intend to create
savepoints when the function is called inside an outer transaction.
2024-11-01 16:41:15 -07:00
Prakhar Pratyush c4f74f470d remote_server_post_analytics: Add durable=True to outermost transaction.
This commit adds 'durable=True' to the outermost transaction
in 'remote_server_post_analytics'.

It also adds 'savepoint=False' to inner transaction.atomic
decorator to avoid creating savepoint.

This is as a part of our plan to explicitly mark all the
transaction.atomic decorators with either 'savepoint=False' or
'durable=True' as required.

* 'savepoint=True' is used in special cases.
2024-11-01 16:41:15 -07:00
Prakhar Pratyush 3d597bb9b0 delete_message_backend: Add `durable=True` to the outermost transaction.
This commit adds 'durable=True' to the outermost transaction
in 'delete_message_backend'.

It also adds 'savepoint=False' to inner transaction.atomic
decorator to avoid creating savepoint.

This is as a part of our plan to explicitly mark all the
transaction.atomic decorators with either 'savepoint=False' or
'durable=True' as required.

* 'savepoint=True' is used in special cases.
2024-11-01 16:41:15 -07:00
Prakhar Pratyush 0fb5657131 transaction: Add durable=True to outermost transaction.atomic decorator.
This commit adds 'durable=True' to the outermost transactions
of the following functions:
* do_create_multiuse_invite_link
* do_revoke_user_invite
* do_revoke_multi_use_invite
* sync_ldap_user_data
* do_reactivate_remote_server
* do_deactivate_remote_server
* bulk_handle_digest_email
* handle_customer_migration_from_server_to_realm
* add_reaction
* remove_reaction
* deactivate_user_group

It helps to avoid creating unintended savepoints in the future.

This is as a part of our plan to explicitly mark all the
transaction.atomic decorators with either 'savepoint=False' or
'durable=True' as required.

* 'savepoint=True' is used in special cases.
2024-11-01 16:41:15 -07:00