Commit Graph

2626 Commits

Author SHA1 Message Date
Joelute 76024e479d alerts: Fix improper copied tooltip location in About Zulip Modal.
Previously when a user tries to click on the clipboard to copy the merge
base version info, the copied tooltip would appear in the wrong location
where the Zulip version is instead. This is caused by both clipboard
icon using the same Clipboard instance where the success event would only
display the tooltip at the Zulip version. These changes fixes this and
allows the clipboards to be independent of each other.
2023-11-07 13:17:55 -08:00
David Rosa b5351285b6 help: Document "Jitsi server URL" setting.
- Updates "Start a call", documents the "Jitsi server URL" setting,
  and links to it in a (?) from the relevant admin UI.
- Fixes misplaced include block for opening the compose box.

Fixes #26907.
2023-11-07 13:09:52 -08:00
N-Shar-ma ff5e389e9b compose: Allow pasting plainly, when Shift is held down, for Firefox.
We introduce a state variable `shift_pressed` for the purpose of
detecting whether the Shift key is pressed when pasting content. Only if
it is not, do we proceed with the default formatted paste behavior.

In Chrome, plain paste works out of the box for `Ctrl+Shift+V`, but in
Firefox, we need to handle it ourselves.
2023-11-07 11:39:06 -08:00
N-Shar-ma dac56b4d08 compose: Paste content into the compose box without adding any space.
We replace the call to `insert_syntax_and_focus` with a direct call to
`insert_and_scroll_into_view` when pasting content into the compose box,
which fixes the bug where leading and trailing spaces were added to any
pasted content.
2023-11-07 11:39:06 -08:00
N-Shar-ma 24e8119350 compose: Always retain `ol` tag when pasting content enclosed by it. 2023-11-07 11:39:06 -08:00
Aman Agrawal 25877114cf popover_menus: Move popoover to top if focused on text field.
Fixes #11448

Tested on Chrome, Firefox (iOS, Android) and Safari (iOS).
2023-11-07 11:31:10 -08:00
Aman Agrawal 75960bba16 emoji_picker: Don't autofocus search input on mobile.
Since focus on input elements on mobile opens keyboard which
changes window height, emoji popover can hide or scroll out of
view. To fix it, we don't focus on search input unless user
wants to when emoji popover is open.
2023-11-07 11:31:10 -08:00
Aman Agrawal 6e9da8ab2a popover_menus: Only take special care of references in message feed.
If the popover reference is in an overlay, the below check:
```js
elements_at_reference_position.some(
    (element) =>
        element.id === "navbar-fixed-container" ||
        element.id === "compose-content" ||
        element.classList.contains("sticky_header"),
)
```
would make the popover not appear if the reference was above them.

To make things simpler for us to check, we only handle popover
references inside message list which we know for sure will
always be below the elements checked above in stacking context.

Hiding popovers for other view is done good enough by
`data-reference-hidden` check that we don't need to manually
handle them.
2023-11-07 09:23:48 -08:00
Aman Agrawal a4b4b0ad38 popover_menus: Fix popovers not shown if reference is beside compose.
Since `#compose` occupies full width of the window, it is a
part of `elements_at_reference_position` if the reference is
under it.

Since `#compose-content` only occupies the part of window where
compose box is actually visible, we use it decide if the
popover should be hidden.
2023-11-07 09:23:48 -08:00
evykassirer 8cf436370c stream search: Always close search on Escape.
Fixes #27491.
2023-11-06 15:10:23 -08:00
evykassirer b51da3bb9a hotkey: Close text fields before closing sidebar.
Before this change, we'd try to close the sidebar before
closing text fields. This means if the user sidebar was
open with a text search in progress, pressing Escape
would close the full sidebar instead of closing search.

This change deprioritizes closing the sidebar, in favor
of closing input fields like search.

This also helps with #26717, because the sidebar seems to
be marked as open even when it's not an overlay, which
means pressing Escape will first "close" it (no visual
changes), before a second Escape would trigger closing
the search field. Ideally we differentiate between
situations where we are showing the sidebar as an
overlay and when we aren't, but that might be a more
involved change.
2023-11-06 15:10:23 -08:00
evykassirer ac0e03fe89 user search: Always close widget on escape instead of clearing first.
Fixes part of #27491
2023-11-06 15:10:23 -08:00
evykassirer a764a3e66f more topics: Escape clears input when input is focused.
Fixes part of #27491

We don't immediatley remove the input box, because there's
no existing UI for reopening the input box. (The input box
is always visible when the more topics view is visible.)

This commit makes the change of blurring and clearing the
input, instead of only blurring.
2023-11-06 15:10:23 -08:00
Aman Agrawal 1c03d5e5ce gear_menu: Don't show sponsorship link for orgs on paid plan. 2023-11-06 14:55:14 -08:00
Aman Agrawal 48c907e1a2 gear_menu: Show Zulip Cloud Plus for orgs on that plan.
Fixes #27525
2023-11-06 14:55:14 -08:00
Aman Agrawal e8c70a71d9 gear_menu: Show options based on sponsorship status.
Includes some additional tweaks for when to show various
billing related options.

Fixes #27524
2023-11-06 14:55:14 -08:00
Aman Agrawal 4fef63de52 sponsorship: Show error message for the field under the field. 2023-11-06 14:55:14 -08:00
Aman Agrawal b5fd5f2f5e sponsorship: Minor changes.
Wrap sponsored / sponsorship pending message in a white box.
Remove green heart.
2023-11-06 14:55:14 -08:00
Aman Agrawal ff5e1c3aee sponsorsihp: Make submitting the form work.
Includes various changes to make submitting the sponsorship form work.
2023-11-06 14:55:14 -08:00
Aman Agrawal 2466101fe1 sponsorship: Set width of elements like on support page. 2023-11-06 14:55:14 -08:00
Aman Agrawal 349f6f8ab8 sponsorship: Use new style for existing input fields. 2023-11-06 14:55:14 -08:00
Aman Agrawal 00df9c6c18 urls: Show sponsorship page on a new URL.
Fixes #27377

Replaced #sponsorship links with sponsorship/ links and in other
places liking gear menu.
2023-11-06 14:55:14 -08:00
Aman Agrawal 3ba0fe4349 sponsorship: Remove from billing and upgrade pages. 2023-11-06 14:55:14 -08:00
Aman Agrawal 48d0bedda9 left_sidebar_popovers: Show sidebar icon when visible.
Fixes #27508

Show sidebar icon when sidebar popover is visible so that
it tells users for which row popover is visible and also helps
tippy track when the reference of the popover so that it
can apply [data-reference-hidden] property appropriately.
2023-11-06 14:20:48 -08:00
Aman Agrawal 1a1c5863e4 ui_util: Import entire ui_util module. 2023-11-06 14:20:48 -08:00
Aman Agrawal 6dc17fab57 stream_popover: Extract functions to show sidebar menu icon. 2023-11-06 14:20:48 -08:00
Aman Agrawal eaf69dc9d5 left_sidebar: Employ existing left_sidebar_menu_icon_visible.
Seems like `left_sidebar_menu_icon_visible` had a regression where
its CSS was removed.

We use it show stream row icon when stream popover is visible.
2023-11-06 14:20:48 -08:00
Prakhar Pratyush 5697084832 css: Improve the css of popover used to change visibility policy.
This commit improves the CSS of popovers in the recipient bar,
recent conversations, and Inbox, which are used to change the
visibility policy.
2023-11-06 10:16:53 -08:00
N-Shar-ma 3a8aac8c67 compose: Remove formatting enclosing entire selection when pasting.
If the selection copied, is entirely within a single element, like text
within a heading (like `h1`) we discard this outermost element and only
convert the inner HTML to markdown.

However, we retain `pre` so a code block within it stays as is and does
not change into inline code, losing all its linebreaks.
2023-11-06 09:07:50 -08:00
roanster007 cf4b46d6f7 compose: Fix re-upload of files when upload fails.
Previously, when uploading of a file fails, the same file
couldn't be re-uploaded again without re opening the
compose box. This is because, the default behaviour of
uppy is that it won't allow re-upload of same files.

This could be fixed by removing the uploaded file when
the upload-error event is invoked for it.

Fixes #27495
2023-11-06 08:53:56 -08:00
Karl Stolley a2ae715226 left_sidebar: Align no-alpha variable for light mode unreads. 2023-11-04 12:50:46 -07:00
Aman Agrawal ac8ad111de recent_view: Handle topics_widget being undefined.
update_load_more_banner can still be called from message_fetch
before topics_widget is defined.
2023-11-04 12:23:48 -07:00
Aman Agrawal 8ea49aa5b5 recent_view: Remove unnecessary call to update_load_more_banner.
Since we are already updating load more banner after each
render in ListWidget, we don't need to call it separately.
2023-11-04 12:23:48 -07:00
N-Shar-ma 5c73744aca compose: Fix bug where pasted content would only go to the compose box.
This commits ensures that we pass in the correct context (compose box
or a message being edited) when pasting content.
2023-11-03 14:49:58 -07:00
Aman Agrawal 826f25744d scroll_bar: Hook to window resize event instead of ResizeObserver.
ResizeObserver isn't supported for Safari iOS versions we support.

We support iOS Safari ≥ 12.2 but ResizeObserver support requires
iOS Safari >=13.4. So if they're on iOS Safari >= 12.2 and < 13.4,
it crashes.
2023-11-03 10:24:36 -07:00
Karl Stolley 322b06b364 left_sidebar: Ensure mark as read vdots follows home view.
Regardless of which home view a user selects, it will have a
hoverable vdots menu and the option to mark all as read.
2023-11-03 10:08:37 -07:00
Karl Stolley 2e4bd4639f left_sidebar: Update order and unreads when switching home views. 2023-11-03 10:08:37 -07:00
Karl Stolley 9226e8bdca left_sidebar: Use grid or flexbox to order selected home view. 2023-11-03 10:08:37 -07:00
Karl Stolley 5d2d8f9215 left_sidebar: Add logic and styles to show unreads on selected home view. 2023-11-03 10:08:37 -07:00
Karl Stolley 4759fc9f69 left_sidebar: Prepare home views with selection logic, unread counts. 2023-11-03 10:08:37 -07:00
Aman Agrawal 00d00036fe recent_view: Don't show load more banner until all rows are rendered.
Fixes #27365
2023-11-03 10:02:17 -07:00
Aman Agrawal 556b61d778 list_widget: Add method to check if all items are rendered. 2023-11-03 10:02:17 -07:00
Aman Agrawal 339f85c308 compose_tooltips: Don't show tooltip on focus.
Fixes #27383
2023-11-03 10:01:21 -07:00
Karl Stolley 14ef3a5464 left_sidebar: Display dark-mode condensed unreads without alpha. 2023-11-03 09:33:06 -07:00
Aman Agrawal 666ac2c445 user_card_popover: Fix reactivate user button not working.
Fixes #27459
2023-11-03 08:47:04 -07:00
Aman Agrawal c2d45e4cf7 emoji_picker: Stop propagating enter keypress to message.
Similar to emoji_picker.process_keypress, process_enter_while_filtering
should have a stopPropagation.
2023-11-03 08:46:15 -07:00
Aman Agrawal 8b5110d218 popover_menus: Hide popover for which the reference element is hidden. 2023-11-02 16:27:18 -07:00
Aman Agrawal c3eb17a411 popover_menus: Do early return if possible. 2023-11-02 16:27:18 -07:00
Aman Agrawal 434d156cbc personal_menu_popover: Don't make clear status tooltip interactive.
There is no need for that tooltip to be interactive.
2023-11-02 16:27:18 -07:00
Aman Agrawal bee8ce4e56 popover_menus: Don't hide on scroll / resize.
Tippyjs is equipped to handle reference element moving from
its initial position so that the popover moves / changes
along with the reference / window size.
2023-11-02 16:27:18 -07:00
Nehal Sharma d08d287431
compose: Disallow hotkeys when dropdowns (like stream pickers) are open.
When the focus is inside a dropdown, we do not consider any key strokes
to be hotkeys.  This prevents the user from accidentally triggering an
action while trying to type into the dropdown search / filter.

This aims to fix the bug where on pressing a character key that is also
a hotkey, the hotkey action would be triggered, even if the focus was
inside the stream picker dropdown.

Fixes #27492.
2023-11-02 16:08:36 -07:00
Sayam Samal 0c04246723 stream_settings: Remove muted notice string for muted streams.
The muted notice string "Muted streams don't show up in "All messages"
or generate notifications unless you are mentioned." doesn't properly
explain the behavior of muted streams.

A user can still get notifications for muted streams if they follow a
topic in the stream. This is because the followed topics global
settings will override the stream notifications settings.

Fixes #27274.
2023-11-02 14:07:44 -07:00
Sayam Samal 67fd391e3d stream_settings: Add a `?` link to "/help/mute-a-stream".
Fixes part of #27274.
2023-11-02 14:07:44 -07:00
Sayam Samal 9f70c531a8 stream_settings: Move "Mute stream" to the top of Notification settings.
In this commit, we move the "Mute stream" option to the top of the
notification settings, since the action of muting a stream works
in conjunction with the other notification settings.

We also rename `is_notification_setting` to
`has_global_notification_setting` which better defines the purpose of
the function and now use `is_notification_setting` only to check which
options we need to show under the "Notification settings" section.

This allows us to accommodate the "Mute stream" option under the
"Notification settings" section without affecting the functionality of
the other notification options.

Fixes part of #27274.
2023-11-02 14:07:44 -07:00
Anders Kaseorg 2e3a8afe2a tests: Add missing $ prefix to jQuery object parameter.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 14:06:04 -07:00
Anders Kaseorg b3fa7b15fc compose_state: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 14:06:04 -07:00
Anders Kaseorg d6be353299 compose_state: Make get_or_set accept a full selector.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 14:06:04 -07:00
Pratik daa34685c3 stream_edit: Enable notification settings for muted streams.
This commit allows the user to change notification settings even though
the stream is muted and adds a line of text in stream settings and
notification settings.

Fixes #27272.
2023-11-02 13:57:56 -07:00
N-Shar-ma a01d670fb2 turndown: Improve pasting experience, focused on pasting Zulip messages.
Turned off and tested escaping with `/` (for now).

Added support + tests for:
- headings.
- strikethrough.
- nested lists.
- code blocks.

Improved handling of:
- links (custom and raw, ignored when wrapping a single image).
- images (now pasted in Zulip's link like syntax).
- custom emojis.
- LaTeX (no garbage symbols, unformatted plain text is pasted)

Added tests for emojis.

Known concerns:
- External images aren't handled anymore by upload.js -- is this a bug?
- Tables lose their formatting on paste.
2023-11-02 13:52:30 -07:00
N-Shar-ma 7c10775e96 markdown: Add `zulip-code-block` class to code blocks.
We add this class to code blocks so that we can easily detect them in
`copy_and_paste.js` in the next commit.
2023-11-02 13:52:30 -07:00
evykassirer bbfe1c7e30 sidebar_ui: Move initializing functions to module file. 2023-11-02 12:23:25 -07:00
Karl Stolley c56bd24715 left_sidebar: Attach navigation Tippies to <li> elements.
This corrects a likely long-standing bug where nav tippies appear
over the navigation box. With the gridded DM rows having corrected
the placement of DM Tippies, this commit brings the nav Tippies in
league with those.
2023-11-02 09:56:29 -07:00
Karl Stolley 6784dee775 left_sidebar: Align 'more conversations' and 'back to streams'. 2023-11-02 09:56:29 -07:00
Karl Stolley 65ed4d0ac2 left_sidebar: Provide inline-grid layout for DM row status emoji. 2023-11-02 09:56:29 -07:00
Karl Stolley b50a09f99e left_sidebar: Set vertical alignment on 22px-tall DM row. 2023-11-02 09:56:29 -07:00
Karl Stolley 4e03209c76 left_sidebar: Establsh CSS Grid on DM rows. 2023-11-02 09:56:29 -07:00
Anders Kaseorg a0656a6c56 inbox_util: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 08:36:44 -07:00
Anders Kaseorg 9ed74cbfcd inbox_util: Remove unused get_dm_key function.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 08:36:44 -07:00
Anders Kaseorg 519a2af2a4 stream_color: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 08:36:44 -07:00
Anders Kaseorg 8208776b47 stream_color: Remove unused container argument to spectrum-colorpicker.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 08:36:44 -07:00
Anders Kaseorg 341ba92f23 stream_settings_api: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 08:36:44 -07:00
Anders Kaseorg 1c5321e57f stream_settings_api: Adjust set_stream_property usage.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-02 08:36:44 -07:00
Sahil Batra bb15b2d708 users: Send "update" events when deactivating or reactivating users.
We now send "realm_user/update" (and "realm_bot/update" for bots)
events with "is_active" field when deactivating and reactivating
users, including bots.

We would want to use "remove" event for a user losing access
to another user for #10970, so it is better to use "update"
event for deactivation as we only update "is_active" field
in the user objects and the clients still have the data for
deactivated users.

Previously, we used to send "add" event for reactivation along
with complete user objects, but clients should have the data
for deactivated users as well, so an "update" event is enough
like we do when deactivating users.
2023-11-02 08:31:12 -07:00
Anders Kaseorg 5dc9b060d2 compose_pm_pill: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-01 21:39:05 -07:00
Anders Kaseorg b8acfe08a4 user_pill: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-11-01 21:39:05 -07:00
Prakhar Pratyush 8e2264b585 hotkey: Add 'narrow to next unread followed topic' hotkey.
This commit adds a 'Shift + N' keyboard shortcut, which is
used to narrow to the next unread followed topic.

Fixes part of #27323.
2023-11-01 17:37:41 -07:00
Lauryn Menard 784c599c7b integrations: Use stream ID for incoming webhook URL generated in modal.
Instead of using the stream name for the incoming webhook URL that is
generated in the web-app, we used the stream ID instead.

Also, limits the streams listed in the dropdown widget to streams that
the bot owner has permission to post in.
2023-11-01 16:15:23 -07:00
Aryan Bhokare 646128db9e
ts: Migrate ‘user_sort.js’ to TypeScript.
Also fixes a bug in the people.ts User; `delivery_email` is never undefined.
2023-11-01 11:19:30 -07:00
Sahil Batra c756259094 settings: Use server_supported_permission_settings in webapp.
Since we now get the configuration for group permission settings
from server, we can directly use that in webapp instead of
defining it again.
2023-11-01 10:42:56 -07:00
Alex Vandiver 9f0008372c message_fetch: opts.msg_list can be undefined.
See also 69e10b4dae.

Even though opts.msg_list can be undefined, we still want to retry
loading messages for it since our code needs that data regardless
of opts.msg_list being undefined.
2023-10-31 23:33:37 -07:00
Aman Agrawal cd48ee2152 recent_view: Fix error when user has no messages.
If the user has no messages, `message_list_data` can be empty,
so, in that case, we just use the current oldest_message_timestamp.

The bug can also be reproduced if the last 400 messages were
in a muted topic for the user and we process recent_view_message_list_data
before all messages data.

We still process the remaining logic in `set_oldest_message_date` to
update has_found_newest/oldest.
2023-10-31 22:34:11 -07:00
evykassirer 1f8db236f5 buddy list: Rename user_presences to buddy-list-users-matching-view.
This switches to our preferred dash-separated classnames
instead of underscore-separated, and also updates the
classname to be differentiable from users that aren't
part of the current narrow.

Until the next commit that splits the buddy list, the
name is a bit inaccurate since it still contains all
the users.
2023-10-31 16:06:07 -07:00
evykassirer beead8e614 lazy set: Increase code coverage.
This was pvreviously covered by tests for the buddy list.

We shouldn't rely on other code to complete code coverage
for this module. In the future it would be good to add
more tests to the lazy set tests to directly cover lazy
set functionality.
2023-10-31 16:06:07 -07:00
roanster007 e2a6d0f4b2 input_pill: Fix backspace behavior on selecting text from start.
This commit fixes the behavior of trying to remove the selected
text when selection is made from start in stream membership
input and compose box dm using backspace button.

Previously the selected text was not removed if no typeahead
was shown for the text and it instead removed the last pill.

Now we remove the selected text and not any input pills on
pressing the backspace button irrespective whether tyepeahead
is shown or not.

This commit updated the code to remove pill only when there is no
other text or when the pointer is at start of input but its selection
 length is 0, in the input and let it follow the default behavior in
cases when there is any text (other than user pills) in the input
to fix the bug.
2023-10-31 15:13:27 -07:00
N-Shar-ma ad26247247 compose: Add a placeholder "is …" for the `/me` slash command.
Fixes: #27399.
2023-10-31 12:32:03 -07:00
evykassirer 2f6d3605d9 recent view: Rename topic to conversation. 2023-10-31 10:28:55 -07:00
evykassirer 83e0f8bd33 recent view data: Rename get to get_topics. 2023-10-31 10:28:55 -07:00
evykassirer f786b10403 recent view: Import module instead of separate functions. 2023-10-31 10:28:55 -07:00
Anders Kaseorg 05d8a65f75 user_status: Remove useless number coercion for object keys.
There’s no such thing as a numeric object key in JavaScript.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-30 13:30:47 -07:00
Anders Kaseorg 9989365fe8 user_status: Use unknown, not object, for unvalidated type.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-30 13:30:31 -07:00
Karl Stolley 3f5764e5ba navbar: Correct for alpha background on unread dot's border.
This is a case where the use of alpha channels in HSL color values
shows its limits.

The use of an alpha channel is necessary for the background
elements for the top navbar elements, because they sit over the
top of the navbar's bottom border (actually an inset shaddow).

However, it's impossible to use the alpha-channel based color on
elements like the unread dot, where the border actually sits on
top of the element itself--meaning that the effect would be a
larger dot with an imperceptibly darker ring around it.

What this commit does is use a technique suggested by Anders
Kaseorg for using CSS's `color-mix()` functional notation to
calculate an opaque version of the alpha color for use on
elements that do not or cannot directly take the color with
the alpha channel.

See CZO discussion:
https://chat.zulip.org/#narrow/stream/6-frontend/topic/alphas.20in.20color.20definitions/near/1670102
2023-10-30 11:25:12 -07:00
Lalit Kumar Singh dcf45da09c ts: Migrate `user_status` module to TypeScript.
Also removed an defensive if check from `emoji.ts` since it is not
needed now that we have `emoji.ts` converted to TypeScript.
2023-10-30 11:10:47 -07:00
Aman Agrawal e1960670ca hello: Make logos more visible in light theme. 2023-10-30 11:05:02 -07:00
Karl Stolley 825a7106c6 left_sidebar: Use DM identifiers around direct-messages list. 2023-10-30 10:14:28 -07:00
Karl Stolley dcd891a176 left_sidebar: Use dm-list class. 2023-10-30 10:14:28 -07:00
Karl Stolley 01ca3e119b left_sidebar: Use DM identifiers on DM containers. 2023-10-30 10:14:28 -07:00
Karl Stolley f496b40cd6 left_sidebar: Use DM identifiers on DM list items. 2023-10-30 10:14:28 -07:00
Karl Stolley 9062c75481 left_sidebar: Use DM identifiers on DM row box. 2023-10-30 10:14:28 -07:00
Karl Stolley a175c3829c left_sidebar: Clean up DM list structures and selectors.
This adds some temporary styles to preserve the DM row layout
as-is, but that will be removed as part of the grid implementation.
2023-10-30 10:14:28 -07:00
xoldyckk 8b3f8d77b0 zform validation: Migrate validation logic to zod.
Migrated zform validation logic to make use of zod schema.
2023-10-27 16:14:51 -07:00
Aman Agrawal 2d033c94d9 recent_view: Fix user unable to focus change_visibility_policy icon.
`recent_view_focusable` class should be set on element whose
children can receive focus as per

`$topic_row.find(".recent_view_focusable").eq(col).children().trigger("focus")`
2023-10-27 13:26:36 -07:00
Lalit 151d51acfa input_pill: Remove over defensive if checks for `create` function.
We should remove this overly defensive code and remove the `undefined`
type from the return type of this function to avoid handling unexpected
`undefined` values in the downstream code.
2023-10-27 13:11:37 -07:00
Karl Stolley 01392a57dd left_sidebar: Resize scroll container when toggling condensed views. 2023-10-27 12:07:49 -07:00
evykassirer 0a33598f65 compose fade: Add test for want_normal_display. 2023-10-26 18:33:53 -07:00
evykassirer 6563e621fd buddy list: Simplify argument to get_data_from_keys. 2023-10-26 18:33:53 -07:00
Tim Abbott e560519dba portico: Fix new organization form focus scrolling.
Now that the "new organization" form is quite tall, we were seeing
this autofocus logic causing the browser to automatically scroll to
the middle of the form (to reach the first editable input), which felt
like a pretty bad user experience.
2023-10-26 16:27:35 -07:00
Tim Abbott a379fbe442 portico: Inline common.autofocus.
This was only called from a single code path.
2023-10-26 16:27:35 -07:00
Vector73 e442a9d11e user_profile: Sort arguments to "render_user_profile_modal". 2023-10-26 13:17:28 -07:00
Vector73 6dd7efae85 user_profile: Fix alignment and color of edit icon. 2023-10-26 13:17:28 -07:00
Vector73 4a4b8dff99 user_profile: Add deactivated user indicator in the profile header.
Fixes: #26861
2023-10-26 13:17:28 -07:00
Sahil Batra c9fccf476a settings: Rename default_view and escape_navigates_to_default_view.
This commit renames default_view and escape_navigates_to_default_view
settings to web_home_view and web_escape_navigates_to_home_view in
database and API to match with our recent renaming of user facing
strings related to this.

We also rename the variables, functions, comments in code and class
names and IDs for elements related to this.
2023-10-26 11:00:12 -07:00
Tim Abbott 67dbaaff91 input_pill: Fix backspace with selected text.
The logic added in b57ebe717e introduced
a different bug, namely that if you had selected text in the input,
Backspace would delete the input pill itself, not your selected text.

Fix this, without re-introducing the old bug, by checking explicitly
if there's a range selected before inspecting anchorOffset.

Also improve the comments.

Fixes #19544.
2023-10-26 10:41:45 -07:00
Karl Stolley 61aa55df79 navbar: Clean up unecessary userlist-toggle cruft. 2023-10-26 10:28:02 -07:00
Karl Stolley a9421f6ba0 navbar: Use new purple icon color with left-sidebar toggle.
This also implements the same hover and focus-visible styles
as icons on the righthand side of the navbar.
2023-10-26 10:28:02 -07:00
Karl Stolley 1f0e9b4587 sidebars: Correct display at small mobile sizes.
This fixes a state where the expanded left sidebar appears under
the navbar at the smallest mobile views.

It also provides a stop-gap fix for the right sidebar's USERS
heading, making it align better (but certainly not perfectly)
with the left sidebar's.
2023-10-26 10:28:02 -07:00
Karl Stolley 105729ce66 navbar: Simplify unread logic on left-sidebar toggle indicator.
This removes former animation logic as well as counts, as the
redesign calls only for showing an unread dot in the presence
of unreads.

Fixes: #27357
2023-10-26 10:28:02 -07:00
Karl Stolley 8ee764382b navbar: Show left-sidebar-style unread dot on streams toggle. 2023-10-26 10:28:02 -07:00
Karl Stolley 4409663e69 navbar: Handle streams-toggle alignment with dimensions, flexbox. 2023-10-26 10:28:02 -07:00
Anders Kaseorg 37f0a3b41b eslint: Forbid unchecked casts in TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-26 09:54:30 -07:00
Anders Kaseorg 2f95c55df4 list_widget: Fix unsafe unchecked casts in generic comparators.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-26 09:54:30 -07:00
Anders Kaseorg a53231a1ae settings_muted_users: Fix sorting users by date muted.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-26 09:54:30 -07:00
evykassirer ba568adc2e recent_view_util: Rename is_rt_visible to is_view_visible.
This avoids the less readable abbreviation.
2023-10-25 17:35:00 -07:00
Sayam Samal bbf4792d81 right_sidebar: Drop keyboard shortcuts button from right sidebar.
Fixes: #27381.
2023-10-25 16:43:49 -07:00
Anders Kaseorg ba895b64ef stats: Remove unchecked casts of Plotly data.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg a145a6adfa realm_playground: Remove unchecked cast in sort_pygments_pretty_names_by_priority.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg 787ca02c6e messages_overlay_ui: Remove unchecked casts of HTMLElement objects.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg 31db313a46 list_widget: Add missing CSS escaping and remove unchecked cast.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg 043b43f044 typing_status: Remove unchecked casts in same_recipient.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg 9c9c453d5a web: Remove unchecked casts of event objects.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg 1da729e49f web: Remove unchecked casts of jQuery .val().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg da80661592 e2e-tests: Remove unchecked casts of DOM objects.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Anders Kaseorg af8465b7fd billing: Replace unchecked keyof casts with Zod schemas.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-10-25 13:08:36 -07:00
Aman Agrawal 18a165fa97 personal_menu: Indicate no status text in italics.
If user has only set emoji as status, we show a placeholder
text to indicate no status text has been set.

Fixes #27362
2023-10-25 11:09:08 -07:00
Aman Agrawal 75aa91a39f user_card_popover: Fix clear link not working.
Incorrectly migrated in 87c87ed41f.
2023-10-25 11:09:08 -07:00
Karl Stolley 3385d5862b left_sidebar: Include right-hand padding on topic, nav labels. 2023-10-25 09:53:05 -07:00
Aman Agrawal af653572a1 recent_view_ui: Return if the list is empty.
Since we now have empty text message as a table row,
`$topic_rows.length === 0` no longer works to test if the
table is empty.
2023-10-25 09:52:23 -07:00
Karl Stolley 4fac53e35c left_sidebar: Restore and note positioning context for unread dots. 2023-10-25 08:17:11 -07:00
Tim Abbott db05d7ef0c css: Revert sidebar-menu-icon specificity change.
3ac0c3c401 incorrecly removed
specificity declarations needed to prevent that CSS from applying to
the right sidebar, which hasn't been properly prepared for this
change.
2023-10-24 16:23:30 -07:00
Aman Agrawal 464aff1f21 make_my_home_view: Show view name in bold. 2023-10-24 16:16:56 -07:00
Aman Agrawal 2f33fad5df left_sidebar: Add popover to make different views default.
Fixes #27324
2023-10-24 16:16:56 -07:00
Aman Agrawal 7f124500fa inbox_popover: Add option to make it the default view. 2023-10-24 16:16:56 -07:00
Aman Agrawal ce804fc37a navbar: Remove userlist unread count. 2023-10-24 13:57:27 -07:00
Aman Agrawal 6f6a53c909 help-menu: Center align keyboard shortcut hint. 2023-10-24 13:06:11 -07:00
Karl Stolley 1a18faaf02 left_sidebar: Increase size of condensed icons. 2023-10-24 12:29:45 -07:00
Karl Stolley 3ac0c3c401 left_sidebar: Correctly align vdots across all rows.
This brings modern alignment methods to all vdots instances,
including in views, streams, and topic rows.

This also aligns the vdots in the condensed view row with
all the others in the left sidebar.
2023-10-24 12:29:45 -07:00
Karl Stolley 21908b7a9e left_sidebar: Vertically align all vdots. 2023-10-24 12:29:45 -07:00
Karl Stolley 528f494d41 left_sidebar: Establish filter rows as grids. 2023-10-24 12:29:45 -07:00
Karl Stolley 56eaf9b153 left_sidebar: Place redesign icons in expanded views. 2023-10-24 12:29:45 -07:00
Animesh Biswas 7da9ca771f
settings: Change bot-type question to help center link.
In the "Add a new bot" modal, there was '?' next to the bot type field
that was confusingly showing a tooltip describing incoming webhooks,
regardless of the bot type have been selected.

The tooltip is removed from the '?' and it is linked to the help center
article explaining all the different bot types.

Fixes #27047.
2023-10-24 10:08:13 -07:00
David Rosa 56ccaa571e settings: Update topic notifications help center links.
- Updates the `?` link on "Topic notifications" and "Topic settings"
  to go to the new /help/topic-notifications page.
- Adds links to /help/follow-a-topic and /help/mute-a-topic.

Fixes #27297.
2023-10-23 18:37:41 -07:00