This commit restyles the "Deactivate organization" button in the
organization profile and account_settings page. The button is now styled
as a action-button-quiet-danger.
Fixes part of #33130.
This commit restyles the profile, account and privacy settings buttons
as follows:
- "Preview profile": action-button-quiet-brand
- Pencil for email editing: icon-button-brand
- "Change your password": action-button-quiet-brand
- "Deactivate account": action-button-quiet-danger
- "Manage your API key": action-button-quiet-brand
Fixes part of #33130.
This commit restyles the profile, account and privacy settings buttons
as follows:
- "Add a new bot": action-button-quiet-brand
- "Add alert word": action-button-quiet-brand
Fixes part of #33130.
This is just a bug fix based on observation that we would only
be updating rows that are rendered and not all of them. This can
potentially lead to rows being rendered twice but is hard
to observe since newly updated topics usually are the top of the
recent view.
We don't always know about every user id. So, our code should
reflect the same.
Fixed by refactoring the function to use User object a function
parameter and let the called get the user object if possible.
This reduces duplicate calculation to get user object too.
Previously, via commit ecf557eab9, the
logic for the click action on the input field was added to the typeahead
to aid with the interaction when the user changes the position of the
cursor — targeted at the compose box where there could be multiple
instances of typeahead.
This commit adds an option to disable the rendering of typeahead when
the user navigates within the input element via clicks — suitable for
single input elements where we don't expect multiple typeaheads.
Updates delete_fixed_price_plan to use the same structure as
configure_fixed_price_plan. If there is a customer plan and it's
billable, then we delete the configured CustomerPlan object. If
there is no customer plan or it's a complimentary access plan, we
delete the configured CustomerPlanOffer object.
Instead of showing the "None" empty message, just hide the whole section
instead. Notably this uses the total user counts and not the number of users
rendered, so it's possible we'll still show the sections when they're partially
loaded or if they have inactive users (in which case we'd show the "view more"
links).
The exception is the "THIS CHANNEL" section which we always want to show,
since it can be confusing to see other sections without this section
present. More conversation on that here:
https://chat.zulip.org/#narrow/channel/101-design/topic/right.20sidebar.20design.20tweaks/near/2099241
- Restructure the introductory content to be more focused on the
overview.
- The bottom content was a stale duplicate of the bottom of the
installer page, dating from when this was a required step after
running the installer.
- Most of the longer-form sections were duplicates of sections of
either the installer page or the introductions of dedicated pages on
the topic. Remove these in favor of new entries in the popular
settings area.
- Mention storage as a popular setting to configure.
- Remove deleted Twitter integration from popular settings list.
We don't yet have the documentation that would allow organization
administrators to make decisions about what value to use for this
experimental setting.
This is more consistent with how other URLs work in Zulip.
Replaces `/message_edit_typing` with `/messages/{message_id}/typing`.
The `message_id` parameter, previously passed in the request body,
is now included in the URL path.
Although, currently there are no scenarios where we are using
bulk_access_messages for edit. But we might do so in the future, and
it's better to have an explicit argument called is_modiying_message in
that case, so that the person making that change makes a conscious
decision of setting that property.
This is valuable so that one is forced to explicitly make a decision
on what is correct when adding new callers. Past experience tells us that
not having to explicitly show the decision leads to people introducing
security bugs in PRs that the maintainer has to catch in review, and our
goal for access control code should be that security bugs are hard to write.
Fixes#33688.
We did not add any checks for `message_edit_typing` since it is not
possible to get to that state in the UI for an archived channel's
messages.
Fixes part of #33688.
This is valuable so that one is forced to explicitly make a decision
on what is correct when adding new callers. Past experience tells us that
not having to explicitly show the decision leads to people introducing
security bugs in PRs that the maintainer has to catch in review, and our
goal for access control code should be that security bugs are hard to write.
Fixes part of #33688.
This is a follow-up commit to d1de4457dc,
which had set the font-size for the alert popups to --base-font-size-px.
This removes that line of code, as it was pointed out by Tim Abbott
that the web/styles/alerts.css file was also being shared with portico
through the web/src/bundles/common.ts bundle, but the
--base-font-size-px variable doesn't exist there.
Removing the font-size property from the alert box doesn't affect its
styling since it still inherits the `--base-font-size-px` from the body
in the Zulip Web App.
Tests were failing due to credit usage being capture in the next
month instead of current if the current time is last day of the
month. To fix this, we mock current time to not be the last day
of any month.
The clipboard.write API requires new permissions and can throw
NotAllowedError under certain circumstances in the browser (and always
in the current version of Zulip Desktop).
Signed-off-by: Anders Kaseorg <anders@zulip.com>