Commit Graph

50962 Commits

Author SHA1 Message Date
Lauryn Menard cad2bc7628 api-changelog: Fix feature level 174 note.
Fix typo in API changelog feature level 174, and change "will"
to "may" about removing support for deprecated "private" value
for `type` parameter.
2023-04-21 08:32:19 -07:00
Sahil Batra c80807c962 compose: Fix "Shift+Tab" behavior for stream dropdown in compose box.
We now open the stream dropdown if a user presses "Shift+Tab" from
topic input in the compose box, instead of just changing the focus
to be on dropdown toggle button.
2023-04-20 16:09:55 -07:00
Tim Abbott f4dc5afe82 compose: Add brief comments documenting the modules. 2023-04-20 16:09:55 -07:00
evykassirer 0c706aeafc compose: Extract a compose_recipient module.
This helps reduce the amount of import cycles we have in the compose
code path following the migration to a fancier stream input.

`compose_closed_ui.initialize()` was moved further down in the
initialization order because it relies on the dropdown widget
to be defined.
2023-04-20 16:09:55 -07:00
evykassirer 5948671f92 compose: Improve responsiveness for compose recipient.
This allows the dropdown to display larger names, and also
overall improves the compose recipient experience on small
screens.
2023-04-20 16:09:55 -07:00
evykassirer 5ca73388c0 compose: Overflow long stream names with ellipsis in dropdown menu. 2023-04-20 16:09:55 -07:00
evykassirer 584d3c66a3 dropdown: Add ability to update items in dropdown widget.
This is needed for the compose stream dropdown widget,
which is also updated here. Now when a user is subscribed
or unsubscribed from a stream, or a stream is renamed, or
or a stream is deleted, the dropdown widget updates
accordingly. This fixes a regression of this functionality
that happened during the switch to the dropdown.
2023-04-20 16:09:55 -07:00
evykassirer 19a47a71d8 stream dropdown: Add a space after the stream icon.
This applies to several dropdowns, and matches the spacing of
the left sidebar.
2023-04-20 16:09:55 -07:00
evykassirer 02ae5818ae compose: Add privacy icons to the stream dropdown menu.
These were previously used in the input form field and
this commit removes the code that supported that and
replaces it by using existing dropdown_widget functionality
to display the icons in the compose dropdown.
2023-04-20 16:09:55 -07:00
evykassirer 8a2455a294 compose: Change stream field in composebox to be a dropdown.
Fixes #11832

This lets the user see more options than the three that appear
in the typeahead menu, and prevents them from inputting invalid
stream names.

This change replaces the input field with the dropdown, and
updates everything that referred to the classnames of the old
input field, so that they now get the data they need from the
new dropdown.
2023-04-20 16:09:55 -07:00
evykassirer 429f23fc4f click handler: Consolidate composebox-closing logic.
Previously, we stopped the composebox from closing on
in-composebox clicks by stopping propagation from the
composebox click handler. This was an issue because
we need to propagate the event to bootstrap in
situations like dropdown clicks. We can avoid closing
the composebox on in-composebox clicks by just checking
if the click is in the composebox.
2023-04-20 16:09:55 -07:00
evykassirer 32f75085cb dropdown hot key: Generalize enter behaviour for dropup as well as dropdown.
Also updated comment to more accurately represent that this isn't
only for the gear menu.
2023-04-20 16:09:55 -07:00
evykassirer 7f7845eb78 dropdown widget: Add method to replace list data.
This is a helpful prep commit for the upcoming compose
stream dropdown, which needs to change the list of
stream names when the user changes their stream subscriptions.
2023-04-20 16:09:55 -07:00
N-Shar-ma 3a64c8c0db compose: Change video call url text to "Join video call.".
Earlier it was "Click here to join video call".
2023-04-20 15:04:26 -07:00
alik-balika 67f82eb7b6
portico: Fix typo in development community page. 2023-04-20 14:59:48 -07:00
Joelute 567791e302 emails: Update remaining emails with "contact us" lines.
After merging #24423, it was found that there were still an email yet to be updated with the new lines introduced in that PR. This commit updates both the email and plain-text versions.
2023-04-20 14:58:09 -07:00
Joelute ee71255296 emails: Fix "contact us" line in plain-text versions of emails.
This is a continuation of #24260 where we have redrafted the "contact us"
line in various emails, but the plain-text versions of those emails remains
untouched. We want to also update those versions and ensure that they match
with our emails.

Fixes: #25198.
2023-04-20 14:58:09 -07:00
David Rosa 93062b3ec4 help: Update Message formatting section and page on Mentions. 2023-04-20 10:42:49 -07:00
David Rosa b6b217681a help: Improve emoji and emoticon documentation. 2023-04-20 10:42:49 -07:00
Sahil Batra 6607db8a1c dropdown_list_widget: Fix fading transition during focus.
This commit sets the transition to "none" for the dropdown
list widget element during focus to remove a weird fade-in
effect. We have to set this to none as the existing CSS
sets transition for all button elements inside ".new-style"
div. This commit adds the CSS for select element too,
as both are using same CSS, but since there was no transition
effect for select elements before as well, we can do this
change safely.
2023-04-20 10:38:24 -07:00
Lauryn Menard e8c777a43c empty-narrow: Update banner for no starred messages.
Updates the empty narrow banner when there are no starred messages
for a more general use case. Previously, it indicated that the
user hadn't starred anything yet, which could be confusing for an
experienced user who had just cleared out their starred messages.
2023-04-20 10:37:53 -07:00
Lauryn Menard 3c88db9164 docs: Update development version warning text to be more explicit. 2023-04-20 10:37:30 -07:00
Alya Abbott 983c1e5318 help: Update /help/require-topics.
There is no longer a special permissions exception for adding a
topic to messages without one.
2023-04-19 20:28:29 -07:00
Alya Abbott e8dfe9eefd help: Update "Disable welcome emails" help page.
Drop unnecessary details about number and content of welcome emails,
which were no longer accurate.
2023-04-19 20:28:07 -07:00
Anders Kaseorg 77a669c15c e2e-tests: Replace deprecated page.waitForTimeout.
https://pptr.dev/api/puppeteer.page.waitfortimeout
https://nodejs.org/api/timers.html#timerspromisessettimeoutdelay-value-options

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 17:45:01 -07:00
Alya Abbott 303b7d6d9f help: Document new "Rename topic" option. 2023-04-19 17:11:02 -07:00
Ujjwal Aggarwal dcea17eb44 emails: Improve "contact us" line in onboarding emails.
Several onboarding emails sent to new users/organizations used the
same "contact us" language. Adds new macros for the "contact us"
line for Zulip Cloud and self-hosted realms to eliminate repetition.

The suitable macro for Zulip Cloud vs self-hosted organizations is
decided conditionally, by checking corporate_enabled.

Fixes #24260.
2023-04-19 17:09:17 -07:00
Prakhar Pratyush b366c37452 user_topics: Rename and refactor 'muted_topic_ui_row.hbs'.
This prep commit renames 'muted_topic_ui_row.hbs'
to 'user_topic_ui_row.hbs'.

This includes minor refactoring, as it is now the
template for rows with any visibility_policy,
not just MUTED.
2023-04-19 16:58:40 -07:00
Prakhar Pratyush ba3867bed6 user_topics: Rename and refactor 'get_muted_topics'.
This is a prep commit that renames 'get_muted_topics'
to 'get_user_topics_for_visibility_policy'.

The function is refactored to add support for
visibility policies other than MUTED.
2023-04-19 16:58:40 -07:00
Alex Vandiver c815dba368 install: Write out a zulip-git-version upon install. 2023-04-19 16:56:14 -07:00
Alex Vandiver 8ae167dc05 upgrade-zulip-from-git: We may need to fill in a zulip-git-version file.
Installs which are upgrading to current `main`, and are upgrading for
the very first time from an install which was originally from git,
have a `/home/zulip/deployments/current` which, unlike all later
upgrades, is not a `git worktree` of `/srv/zulip.git`, but rather a
direct `git clone` of some arbitrary URL.  As such, it does not have
an `upstream` remote, nor a cached `zulip-git-version` file.

This makes later attempts to determine the pre-upgrade revision of
git (for pre-deploy hooks) fail, as without a `zulip-git-version`
file, `ZULIP_VERSION` is insufficiently-specific (e.g. `6.1+git`), and
there is no guarantee the necessary tags exist either.

While we can make fresh git installs set up an `upstream` and run
`./tools/cache-zulip-git-version` going forward (see subsequent
commit), that does not address the issue for deploys which already
exist.  For those, we must configure and fetch a `remote` in the old
checkout, followed by re-generating a cached `zulip-git-version`.

Fixes: #25076.
2023-04-19 16:56:14 -07:00
Alex Vandiver 96e42b8e81 upgrade-zulip-from-git: Extract code to set zulip upstream remote. 2023-04-19 16:56:14 -07:00
Sahil Batra 3853a8bf20 dropdown_list_widget: Do not underline the option text on focus.
We remove the underline on the text in the options on focus as
we already have a outline which is enough to show that the option
is focussed.
2023-04-19 16:54:13 -07:00
Sahil Batra 1505fc30d6 dropdown_list_widget: Update focus outline of toggle button.
This commit updates the focus outline of toggle button to be
same as that of select element.
2023-04-19 16:54:13 -07:00
Anders Kaseorg 66f762f4f4 eslint: Enable @typescript-eslint/strict configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg 60d49ae4a6 eslint: Fix @typescript-eslint/prefer-nullish-coalescing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg b280843e51 eslint: Fix @typescript-eslint/prefer-optional-chain.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg 5ac9b644eb eslint: Fix @typescript-eslint/prefer-return-this-type.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg 079b74e67e eslint: Fix @typescript-eslint/no-unnecessary-type-arguments.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg d958948f43 eslint: Fix @typescript-eslint/no-unnecessary-boolean-literal-compare.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg 61b72f5117 eslint: Fix @typescript-eslint/non-nullable-type-assertion-style.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg b9a28df63c eslint: Fix @typescript-eslint/consistent-indexed-object-style.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg cd5fba24e0 eslint: Fix @typescript-eslint/consistent-generic-constructors.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Anders Kaseorg 084771ce74 eslint: Fix @typescript-eslint/consistent-type-definitions.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-19 16:52:39 -07:00
Lalit ccbba1acb0 dialog_widget: Refactor `AjaxRequest` type and moved it to `types.ts`.
Changes `AjaxRequest` name to more clear one `AjaxRequestHandler`,
also moved this type to `types.ts` with a comment to move it into
`channel.js` once it migrates to typescript.
2023-04-19 16:43:27 -07:00
Lalit cfa92aa60b js: Break cyclic dependency between `reload,js` and `server_events.js`.
Removes direct dependency cycle between `reload.js` and `server_events.js`
by calling `reload.add_reload_hook(cleanup_event_queue)` from `server_events`
initialize function which registers a hook to run on reloading.

Created a function `call_hooks` which loops over all the registered hooks
and executes them on performing a reload.
2023-04-19 16:42:45 -07:00
Lalit 915b6cd9e7 js: Break cyclic dependency between `admin.js` and `settings.js`.
There was a direct dependency between `admin.js` and `settings.js` which
was due to the fact that we needed to call `build_page` of both modules
in each other's `launch` function.

This is solved by lifting those `build_page` calls up from both modules to
`hashchange.js` which is the module which calls the `launch` function
of both modules.
2023-04-19 16:41:49 -07:00
Hardik Dharmani 98176ddb57 left sidebar: Improve tooltip for show_all_private_messages.
Switch to a full keyboard-shortcut advertising tippy tooltip for
show_all_private_messages in left sidebar by adding a class
`.tippy-left-sidebar-tooltip` which adds tooltip with LONG_HOVER_DELAY
and default placement right with fallback placement equal to bottom.

Fixes part of #24311.
2023-04-19 16:21:17 -07:00
Hardik Dharmani bfdd9adaa4 tooltips: Add tippy tooltips for all_messages, recent_topics, and drafts.
Added tippy tooltips for all_messages, recent_topics, and drafts
in left sidebar by adding class `.tippy-left-sidebar-tooltip`
which add tooltips with LONG_HOVER_DELAY and default placement right
with fallback placement equal to bottom.

Fixes part of #24311
2023-04-19 16:16:08 -07:00
Hardik Dharmani de6bca9fc5 tooltips: Add new tippy tooltip class for left sidebar elements.
Added new tippy tooltips class `.tippy-left-sidebar-tooltip`
which add tooltips with `delay: LONG_HOVER_DELAY`, appended to body,
and default placement right with fallback placement equal to bottom.

Fixes part of #24311
2023-04-19 16:16:07 -07:00