Commit Graph

57815 Commits

Author SHA1 Message Date
Mateusz Mandera eed98edb9d help: Document configuration of SCIM with Microsoft Entra ID. 2024-05-02 18:12:21 -07:00
N-Shar-ma 1ba3cda229 compose: Refactor recipient area to use grid layout instead of flexbox.
This is a prep commit for moving the narrow to compose recipients button
before the input, and also aids in the overall compose area redesign.
2024-05-02 14:28:04 -07:00
Tim Abbott 0a756c652c push_notifications: Shard mobile push notifications. 2024-05-02 14:25:10 -07:00
Alex Vandiver 572fbfe114 queue_processors: Pass the worker_num down into the class. 2024-05-02 14:25:10 -07:00
Alex Vandiver 952291e712 migrations: Clean up non one-to-one confirmations/invites.
These models should be one-to-one.  Various bugs in the past have
leaked violations in both directions; we clean them up such that every
PreregistrationUser which is not a multi-use invite has exactly one
Confirmation object associated with it.

Fixes: #22025
2024-05-02 14:23:04 -07:00
Alex Vandiver 594e2823a7 invites: Use transactions more consistently. 2024-05-02 14:23:04 -07:00
Alex Vandiver 9dfaa83aa8 invites: Remove invites worker, make confirmation object in-process.
The "invites" worker exists to do two things -- make a Confirmation
object, and send the outgoing email.  Making the Confirmation object
in a background process from where the PreregistrationUser is created
temporarily leaves the PreregistrationUser in invalid state, and
results in 500's, and the user not immediately seeing the sent
invitation.  That the "invites" worker also wants to create the
Confirmation object means that "resending" an invite invalidates the
URL in the previous email, which can be confusing to the user.

Moving the Confirmation creation to the same transaction solves both
of these issues, and leaves the "invites" worker with nothing to do
but send the email; as such, we remove it entirely, and use the
existing "email_senders" worker to send the invites.  The volume of
invites is small enough that this will not affect other uses of that
worker.

Fixes: #21306
Fixes: #24275
2024-05-02 14:23:04 -07:00
Alex Vandiver 512d53d01a invites: Stop adjusting invited_at on resends. 2024-05-02 14:23:04 -07:00
Alex Vandiver d863aa56de invites: Lock the realm when determining invitation counts.
This prevents users from hammering the invitation endpoint, causing
races, and inviting more users than they should otherwise be allowed
to.

Doing this requires that we not raise InvitationError when we have
partially succeeded; that behaviour is left to the one callsite of
do_invite_users.

Reported by Lakshit Agarwal (@chiekosec).
2024-05-02 14:23:04 -07:00
Alex Vandiver eef5d22944 invites: Make notify_invites_changed transaction-safe. 2024-05-02 14:23:04 -07:00
Alex Vandiver e48d5e4ad2 invites: Split out some functions from zerver.actions.invites.
This will avoid a circular dependency in future commits.
2024-05-02 14:23:04 -07:00
Tim Abbott afafd04bf9 message_fetch: Increase message history fetching numbers.
Now that we've greatly reduced unnecessary data fetches, we have
greater freedom to increase these values while still having good
performance.
2024-05-02 13:59:19 -07:00
Tim Abbott a7a89dcc72 message_fetch: Remove on-idle backfill behavior.
This only every did a single extra fetch, and now that this fetch is
in the same direction as our main fetching sequence, no longer is
meaningfully different from just specifying a different value of
consts.maximum_initial_backfill_size.
2024-05-02 13:55:17 -07:00
roanster007 f999de2de2 message_edit: Fix local echo of message edit.
Previously, when a message is edited, it is locally echoed with its
pre-edit content.

This is because previously, when we tried to render the edited
message of the edit box during local echo, in order to update
the content, flags, and is_me_message properties of the message
object with that of those returned is markdown.render(), we used
the spread operator and created a new message object, and updated
the existing message object with this new one.

This was misconverted, since edit_locally() method already has a
fully-rendered message object to start with, and is just doing a
rerendering, it should be mutating what message it received, rather
than constructing a new local variable.
2024-05-02 13:51:15 -07:00
nimishmedatwal d73a5d06c0 compose(typeahead): Remove text color change on hover.
Fixes #29842.
2024-05-02 13:47:47 -07:00
Karl Stolley 165df5f1f6 message_header: Build message_header.css from zulip.css header styles. 2024-05-02 13:38:58 -07:00
Alya Abbott a302278987 contributor docs: Extend help center writing style documentation. 2024-05-02 13:37:44 -07:00
Sayam Samal 8fb7ab84e6 help: Update documentation on switching themes.
As a follow up to commit ad013a9, this updates the /help/dark-theme
docs to describe the newer way to switch themes via the theme switcher,
located in the Personal Menu.

This replaces the documentation on switching themes via
"Personal Settings".

Fixes #29550.
2024-05-02 13:34:09 -07:00
Sayam Samal 4394e87ef1 popovers: Move from global popover min-width to per-popover basis.
This removes the common min-width being used across all popovers and
instead sets the min-width according to a popover's requirements.

This allows for greater control over the popovers since we have a
variety of use cases for them — which a single common min-width cannot
accommodate.
2024-05-02 13:31:37 -07:00
Karl Stolley 6325ef4896 message_row: Pull message-edit selectors out of .message_row selector. 2024-05-02 13:27:02 -07:00
Karl Stolley b5f3702de0 message_row: Pull .locally-echoed selectors out of .message_row stack. 2024-05-02 13:27:02 -07:00
Karl Stolley c5740f101f message_row: Pull .messagebox-content out of .message_row stack. 2024-05-02 13:27:02 -07:00
Karl Stolley 08c02ada1a message_row: Extract and flatten .messagebox selectors. 2024-05-02 13:27:02 -07:00
Prakhar Pratyush b17a006bf0 data_import: Remove gitter data import tool.
Gitter broke their older API as part of being integrated
into Matrix.

Their announcement blog says:
"Anything left using the Gitter APIs will need to be
updated to use the Matrix API"

This commit drops the legacy Gitter import tool and
we plan to build a new one for Matrix in future.
2024-05-02 13:25:25 -07:00
Anders Kaseorg eed2413514 unread: Fix addition to unread_mention_topics sets.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-05-02 13:23:40 -07:00
luska44 1038a3a35b
info overlays: Update the to-do list example to match documentation.
Fixes: #29832.
2024-05-02 12:52:58 -07:00
Prakhar Pratyush d7a9523170 compose_banner: Replace the close button with "Got it" button.
For onboarding banners, we replace the close button with
"Got it" button.

Also, the banner is marked as read for the user only after
the "Got it" button is clicked. Earlier it was marked as read
as soon as it was displayed.
2024-05-02 12:48:22 -07:00
Prakhar Pratyush a35b922f05 banner: Remove the stale 'banner-contains-button' class. 2024-05-02 12:48:22 -07:00
Lalit 0a66fada64 input_pill: Use "input" event handler for `textInputHook`.
Register our `onTextInputHook` to be called on "input" events so that
the hook receives the updated text content of the input unlike the "keydown"
event which does not update the text content before running the hook.
2024-05-02 12:01:30 -07:00
Tim Abbott dd29edb3ad i18n: Update translation data from Transifex.
This is the first version with the stream=>channel rename completed.
2024-05-02 10:50:24 -07:00
Tim Abbott 9bf91d5e1b i18n: Generate legacy stream translation files.
Generated using tools/i18n/create-legacy-stream-translations, which we
also delete in this commit as it will never be run again.
2024-05-02 10:50:24 -07:00
Lauryn Menard d651441f66 i18n: Add scripts for web app legacy "stream" string translations.
Adds tools/i18n/create-legacy-stream-translations to create a
`legacy_stream_translations.json` file for every non-English
language locale that will serve as the legacy translations for
the stream to channel rename.

Adds tools/i18n/update-for-legacy-translations to manage adding
the legacy translations for any stream/channel strings that we'd
like to maintain existing translations for, which are defined in
LEGACY_STRINGS_MAP.
2024-05-02 10:50:24 -07:00
Tim Abbott 1d73a85a92 i18n: Update translation data from Transifex.
This commit is effectively an archive of the final strings on
Transifex prior to the stream=>channel transition.
2024-05-02 10:50:24 -07:00
Aman Agrawal da675cb641 support: Send demo request emails to sales@ email. 2024-05-02 09:46:59 -07:00
Aman Agrawal 7a3d564b41 sidebar_ui: Fix right sidebar acting as an overlay even on wide width.
When user search is active, right sidebar was acting as an overlay
since "expanded" class was incorrectly added to it whenever user
started a search.
2024-05-02 09:44:55 -07:00
Lauryn Menard db03369ac2 zulip-view-modal: Update translated strings for stream/channel rename. 2024-05-01 10:29:20 -07:00
Tim Abbott d1921aed26 zulip_updates: Fix typo. 2024-04-30 18:13:18 -07:00
Alya Abbott 89717e767f updates: Add update message (level=3). 2024-04-30 17:53:44 -07:00
Karl Stolley 0b68a1ee42 message_row: Flatten unread_marker selectors. 2024-04-30 17:35:36 -07:00
Karl Stolley 1695b8c240 unread_marker: Handle offset entirely through CSS variables. 2024-04-30 17:35:36 -07:00
Lauryn Menard 141e1d4c90 streams-settings: Update ID of overlay container element.
This commit renames ID of the container element of streams settings
overlay to channels_overlay_container for the stream to channel
rename.
2024-04-30 14:44:12 -07:00
Lauryn Menard ee84b277ec hash-util: Rename stream_edit_url to channels_settings_edit_url.
Renames the hash_util.stream_edit_url function so that it's clearer
this is for the settings overlay hash and for the stream to channel
rename.
2024-04-30 14:44:12 -07:00
Lauryn Menard 8e953d9896 streams-settings-overlay: Update hash for stream to channel rename.
Updates the base hash for the streams setting overlay to be
"channels" instead of "streams".

Because there are Welcome Bot and Notification Bot messages that
would have been sent with the "/#streams" hash, we will need to
support parsing those overlay hashes as an alias for "/#channels"
permanently.

Part of the stream to channels rename project.
2024-04-30 14:44:12 -07:00
Lauryn Menard 21ba90c0ff message-view-header: Use hash_util to generate stream settings link.
Updates the streams settings URL in the message view header to be
generated with hash_util.stream_edit_url, which correctly encodes
the stream name in the URL.
2024-04-30 14:44:12 -07:00
Lauryn Menard 00b572b808 compose-typeahead-test: Update confusing test string.
Replaces test string that used "#streams", but was not referring to
or testing anything related to the streams settings overlay.
2024-04-30 14:44:12 -07:00
N-Shar-ma b36cdfda0a compose: Remove the `message_too_long` banner.
Since the banner only repeated what the disabled Send button's and the
limit indicator's tooltips already said, it was redundant and has been
removed.
2024-04-30 14:16:10 -07:00
N-Shar-ma bfbf4f6f68 compose: Redesign limit indicator to show remaining characters count.
Additionally, the text colors have been updated for both light and dark
themes, it starts showing when 900 or less characters are left, as 999
was too soon, and has a tooltip to show the maximum characters limit.

Fixes: #28706.
2024-04-30 14:16:10 -07:00
Vector73 de90d0acdf message_delete: Update "first_message_id" on message deletion.
We now "first_message_id" of the stream on the deletion of the first
message that was sent to it. This results in 1 extra query when any
stream message is deleted and 3 extra queries when the first message
sent to any stream is deleted.

Fixes #28877.
2024-04-30 14:15:22 -07:00
Anders Kaseorg 31c7b2bfd7 stripe: Add assertions to fix errors flagged by mypy 1.10.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-04-30 13:58:24 -07:00
Anders Kaseorg b195dc5a89 stripe: Add missing stripe_customer_id assertions.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-04-30 13:58:24 -07:00