Commit Graph

5678 Commits

Author SHA1 Message Date
evykassirer 6ff793590f bootstrap_typeahead: Fix bug on select with no active item.
This bug was introduced in d9f25d01a1
It's possible that `find(".active")` returns `undefined` here.
2024-08-21 16:07:37 -07:00
Karl Stolley 562e6d6802 global_times: Allow global times to display inline. 2024-08-21 16:02:33 -07:00
Karl Stolley 02161582fd mentions: Allow mentions to display inline. 2024-08-21 16:02:33 -07:00
Aman Agrawal 580b9e9dae navbar: Remove signup button.
This allows log in button in navbar for spectators to have more space
to be displayed in different languages without being truncated.
Login page already has 2 buttons for user to sign up from.
2024-08-21 12:02:59 -07:00
Sahil Batra 6718ff5166 user_groups: Make bottom margin for setting consistent with streams.
This commit increases the gap between group setting elements to make
it same with what we have for stream settings.
2024-08-21 10:30:25 -07:00
Sahil Batra 688def19ab user_groups: Fix showing tooltip for disabled settings.
Preivously, the tooltip was shown only for first element
since initialize_disable_btn_hint_popover only added the
tooltip to first element. And then after d9f25d01a1, there
was an error shown as initialize_disable_btn_hint_popover
asserted that only single element list was passed.

This commit fixes it by calling initialize_disable_btn_hint_popover
for each setting element. Similarly the code to destroy the
tooltip on enabling the setting elements is called for each
element.
2024-08-21 10:30:25 -07:00
afeefuddin be9d879682 settings_bots: Convert module to TypeScript. 2024-08-21 08:28:40 -07:00
afeefuddin 4b89d0ff06 state_data: Add realm_bot_creation_policy type. 2024-08-21 08:28:40 -07:00
afeefuddin 5579700920 list_widget: Make filter_value optional in render_empty_list_message_if_needed. 2024-08-21 08:28:40 -07:00
Aman Agrawal 7f38c95384 dropdown_widget: Fix click event being triggered multiple times.
Reset event handlers attached to the dropdown widget and by removing
it from DOM.

User is unlikely to use the same dropdown multiple times, even if
they do, the operation is fast.
2024-08-20 09:56:59 -07:00
Aman Agrawal 82d3058b53 dropdown_widget: Remove unused instance property. 2024-08-20 09:56:59 -07:00
evykassirer d9f25d01a1 web: Use util.the for accessing element of single-item lists. 2024-08-20 09:48:15 -07:00
evykassirer 113de14547 message_edit: Remove TODOs to parse more data that we don't need.
I'd thought maybe we want to make sure they were in sync, but we don't
need to parse the full data structure.
2024-08-20 09:48:15 -07:00
Lauryn Menard b52b1bcca8 support: Consolidate sponsorship forms for remote and Zulip Cloud views.
In the Zulip Cloud support view, adds a "Realm management" section
for support actions that are specific to that view, (e.g., changing
an organization's type or deactivating an organization).

Moves the note about emailing organization owners when a full
sponsorship is approved for Zulip Cloud Standard to the success
message for that action, which mirrors the remote server/realm
support view.
2024-08-20 09:45:49 -07:00
Lauryn Menard c152061ef2 support: Consolidate margin bottom CSS rule for forms. 2024-08-20 09:45:49 -07:00
Karl Stolley 485428db86 rendered_markdown: Approximate non-alpha dark mode table border color. 2024-08-20 09:34:07 -07:00
Ujjawal Modi 2e67d88a20 user_groups: Update code to check whether user can edit a user group.
Earlier there was only a realm level setting for configuring
who can edit user groups. A new group level setting is also added
for configuring who can manage that particular group.
Now, a user group can be edited by a user if it is allowed from
realm level setting or group level setting.

This commit make changes in frontend to also use group level setting
in determining whether a group can be edited by user or not and disables
changing the group settings when group cannot be edited by user.
2024-08-20 09:28:05 -07:00
Ujjawal Modi d32f30cedc user_groups: Add function for determining group creation permissions.
Earlier in frontend there was a single function to determine whether
user can create and edit user groups.
This commit adds a separate function for determining group creation
permissions.
2024-08-20 09:28:05 -07:00
Ujjawal Modi 3f24dd1049 user_groups: Allow setting and changing can_manage_group.
This commit adds a group level setting can_manage_group in
`#groups` overlay. This setting can be set while creating a
new user_group and can be changed for existing groups.
2024-08-20 09:28:05 -07:00
Ujjawal Modi 20229d0d3d user_groups: Add can_manage_group field to user_group object.
This commit adds can_manage_group field in user_group
object in frontend and also adds code to update the field
value from server events.
2024-08-20 09:28:05 -07:00
Ujjawal Modi 2505813359 user_groups: Add can_manage_group field to UserGroup objects.
This commit make changes in code to include can_manage_group
field to UserGroup objects passed with response of various endpoints
including "/register" endpoint and also in the group object
send with user group creation event.
2024-08-20 09:28:05 -07:00
evykassirer b1198785be message_edit: Convert module to typescript. 2024-08-19 16:33:04 -07:00
evykassirer d5eb997242 feedback_widget: Allow undo opts to be undefined.
There's existing logic that assumes `on_undo` can be `undefined`.
(see the `opts.on_undo === undefined` if clause)

This commit updates some types to let it actually be `undefined`,
which it is in `message_edit`, which we're about to convert to
typescript.
2024-08-19 16:33:04 -07:00
evykassirer b2400496fd rows: Consistently pass JQuery to `get_closest_row`.
This was inconsistent before, with `message_edit` using JQuery
elements, and `compose_popover` and the definition of
`get_closest_row` using HTMLElements.
2024-08-19 16:33:04 -07:00
evykassirer f393f35e1b message_edit: Rename message list to specify it holds message ids. 2024-08-19 16:33:04 -07:00
evykassirer bcb5c664ac message_edit: Add missing required attribute for StreamWildcardOptions. 2024-08-19 16:33:04 -07:00
Alya Abbott 97707ae9e2 help: Tweak keyboard navigation docs for combined and DM feeds. 2024-08-19 16:14:01 -07:00
roanster007 e22a0c7f73 user_group_settings: Disable dropdown if no permission to update it.
Previously, even when a user doesn't have permission to edit
a user group, the dropdown for the group permission settings
was not disabled, and is possible for a user to change the values.

This commit disables the dropdown of the user group permission
settings, in case user doesn't have permission to edit the settings.
2024-08-19 10:28:59 -07:00
roanster007 fc5a5c7113 dropdown_widget_label: Add wrapper around `dropdown_widget`.
This commit adds a wrapper around the "dropdown_widget" of
"dropdown_widget_label".

This wrapper is primarily added so as to be able to show tippy
tooltips over the dropdowns in case they are disabled, since
we can not assign tippy instances to disabled buttons.
2024-08-19 10:28:59 -07:00
afeefuddin e746c8899b user_profile: Set original_values in show_user_profile. 2024-08-19 10:16:15 -07:00
Alex Vandiver 00dfb60f5b avatars: Mark as lazy-loaded.
Similar to the previous commit, defer loading avatar images until they
are actually likely to be seen.
2024-08-16 14:33:25 -07:00
Alex Vandiver 2f2803431d thumbnails: Mark images as lazy-loaded.
Setting `loading=lazy`[^1] tells the browser to defer loading the
image until it is near enough to the viewport to merit loading.  This
can save a great deal of image fetching.

[^1]: https://html.spec.whatwg.org/multipage/urls-and-fetching.html#lazy-loading-attributes
2024-08-16 14:33:25 -07:00
Aman Agrawal 029839ea21 puppeteer: Use a robust method to verify if we switched narrow.
Just verifying that a `message-list` is rendered is not enough to
ensure that we are in the correct narrow. We need to check
if we are narrowed to the correct message list id.

This prevents CI from failing unexpectedly.
2024-08-16 14:00:24 -07:00
Shubham Padia 72bbf8b152 user_card_popover: Pass correct popover element for person picker.
Fixes #31345.
We were using `e.target` as the popover element for the person picker
which meant that the popover would either open just beside the user's
image or the user's name text, both of which would cover the close icon.
The popover element is now the entire pill by using `e.currentTarget`.
2024-08-16 13:59:42 -07:00
Karl Stolley f55feae0ea search: Reset default iOS button styles. 2024-08-16 13:58:50 -07:00
Tim Abbott 8c6d61f4a6 node tests: Improve documentation for message_list_view test. 2024-08-15 18:24:43 -07:00
evykassirer 9b78cc3240 message_list: Reduce _RENDER_WINDOW_SIZE to 250.
The message feed can take long enough to render that
users are locked out of clicking things for a second
or so. This has become especially an issue since we
updated the search bar logic to refresh the message
feed as search terms are added to the search bar.

More details on CZO here:
https://chat.zulip.org/#narrow/stream/101-design/topic/search.20narrow.20live.20update
2024-08-15 18:15:51 -07:00
evykassirer 5607d840e5 message_list_view: Add test helper to calculate move ranges. 2024-08-15 18:15:50 -07:00
evykassirer 039037e64f message_view: Use stream id instead of name for activate_stream_for_cycle_hotkey. 2024-08-15 17:16:22 -07:00
evykassirer 6f4b009c90 topic_generator: Use stream id instead of stream name. 2024-08-15 17:16:22 -07:00
evykassirer 5cc5659010 stream_data: Remove unused home_view_stream_names. 2024-08-15 17:16:22 -07:00
evykassirer 90cced31af stream_data: Remove is_stream_muted_by_name to favor stream ids. 2024-08-15 17:16:22 -07:00
evykassirer fd5112fbb2 message_list: Use stream id instead of name in update_trailing_bookend. 2024-08-15 17:16:22 -07:00
evykassirer 7203244015 stream_data: Fix return type of stream_info.get.
We can definitely be looking up stream ids that don't map to
anything. All callers already assume it can be undefined.
2024-08-15 17:16:22 -07:00
evykassirer 9dab566d10 filter: Canonicalize operator before creating parsed term.
We decide what operators are valid when parsing a term by
calling `operator_to_prefix`, but `operator_to_prefix` calls
`canonicalize_operator`, so we need to call `canonicalize_operator`
on the operand we return from `parse`, or else we might end up
with an invalid operator in a parsed term.

Fixes this bug:
https://chat.zulip.org/#narrow/stream/9-issues/topic/valid.20search.20terms.20in.20uppercase.20followed.20by.20.3A.20throwing.20error
2024-08-15 17:13:36 -07:00
Shubham Padia 620970c46d user_group_popover: Show popover on group mention in drafts overlay.
Fixes #31102.
It would be good to have defined the event listener in
`user_group_popover.js` to keep everything in one place, but since direct
event handlers were getting invoked before delegated event handlers, we
had to define direct event handlers in the launch function of drafts
overlay ui.
2024-08-15 16:28:55 -07:00
Shubham Padia 29809ea61b user_group_popover: Show popover on all .messagebox user group mention.
Show user group popover for scheduled messages overlay, compose box
preview, message edit preview, message edit history.
`.messagebox` was chosen as the selector since that was the nearest
parent class that was common for all of the above.

This commit won't work for drafts overlay since drafts has a direct
event listener which receives the event before our delegated event
listener.

This commit also adds an explicit `cursor: pointer` to
`user-group-mention`.
2024-08-15 16:28:53 -07:00
Shubham Padia 2b3a41be58 user_card_popover: Show popover on all .messagebox user mention.
Show user card popover for scheduled messages overlay, compose box
preview, message edit preview, message edit history.

`.messagebox` was chosen as the selector since that was the nearest
parent class that was common for all of the above.

`@all` does not have a popover and that's why it will have the same
pointer as its parent element. We also introduce a new class called
`.user-mention-all` for managing css rules specific to that mention.
2024-08-15 16:28:08 -07:00
Shubham Padia d983d0ec2e user_card_popover: Show popover on user mention in drafts overlay.
We introduce `has_message_context` as an additional argument to
`toggle_user_card_popover_for_message`. `has_message_context` is set to
false for all messages that have not been sent yet i.e. drafts and in
the future commits: scheduled messages, compose box, edit message box.

It would be good to have defined the event listener in
`user_card_popover.js` to keep everything in one place, but since direct
event handlers were getting invoked before delegated event handlers, we
had to define direct event handlers in the launch function of drafts
overlay ui.
2024-08-15 16:23:26 -07:00
Shubham Padia 0cede4cca6 user_card_popover: Remove unused user `undefined` check.
This was introduced in 3c7e470cfb, and
since the comment said it should never happen, it felt safe enough to
remove.

The `message` argument has also been replaced with `sender_id` since
that is the only property we need from the message now. This will
become useful in adding support for these popovers to compose box where
the message object will not be present but there would be a sender_id.
2024-08-15 16:23:26 -07:00