Commit Graph

3045 Commits

Author SHA1 Message Date
Sahil Batra 75ceba6600 markdown: Do not show mention pills for inaccessible users.
This commit adds code to not show mention pills for inaccessible
users while local echoing the message and in the drafts UI.
2023-12-07 19:34:07 -08:00
Sahil Batra 55fd312379 typing_events: Do not show typing notifications for inaccessible users.
This commit adds code to not show typing notifications for inaccessible
users as the user would not have any information even if we show them
as the name shown would be "Unknown user".
2023-12-07 19:34:07 -08:00
Sahil Batra cd94837d6b drafts: Handle drafts with inaccessible users.
Inaccessible users are now shown as "Unknown user" in drafts UI.
2023-12-07 19:34:07 -08:00
Sahil Batra 4695661ebd user_group_popover: Handle unknown users in user group popovers.
Inaccessible users are shown as "Unknown user" in user group
popovers.
2023-12-07 19:34:07 -08:00
Sahil Batra 2364060a7c message_edit_history: Handle cases for messages edited by inaccessible user.
Inaccessible users are shown as "Unknown user" in message edit history
modal.
2023-12-07 19:34:07 -08:00
Sahil Batra fef833008f server_events_dispatch: Handle "realm_user/remove" event.
This commit adds code to handle "realm_user/remove" event which
is received when a guest loses access to a user.
2023-12-07 19:34:07 -08:00
Sahil Batra bd1d0e6b46 settings: Handle inaccessible users in muted users list.
Inaccessible users are shown as "Unknown user" in muted
users list.
2023-12-07 19:34:07 -08:00
Sahil Batra a3495d4103 compose: Consider inaccessible users as invalid recipients.
We do not allow users to send messages to inaccessible users.
We already do not show them in DM recipient typeahead and this
commit makes sure that an appropriate error is shown if user
somehow creates the pill for inaccessible user by typing the
email.
2023-12-07 19:34:07 -08:00
Sahil Batra 57c6d0323b read_receipts: Support inaccessible users in read receipts list.
Inaccessible users are shown as "Unknown users" in read receipts
list.
2023-12-07 19:34:07 -08:00
Sahil Batra abf7b9225f search: Do not show inaccessible users in search suggestions.
We do not show inaccessible users in search suggestions.
2023-12-07 19:34:07 -08:00
Sahil Batra 2da3bd2813 reactions: Handle reactions by inaccessible users.
Inaccessible user names are shown as "Unknown user" in the
reacted users list and tooltip.

This commit removes the call to `is_known_user_id` since we
may have reactions data from inaccessible users. And it is
fine to remove the `is_known_user_id` call anyways, because
it was added to ignore showing reactions from deactivated
users when the client did not have data about them, but now
the client has data about deactivated users.

So we anyways do not expect unknown user IDs in cases
other than inaccessible users for which we have to show
the reactions by showing their name as "Unknown user".

This commit also updates the comment for "is_known_user_id"
function accordingly.
2023-12-07 19:34:07 -08:00
Sahil Batra ce6dc40a42 markdown: Handle mention pill behavior for inaccessible users.
We do not update the name for mention pills of inaccessible users
and keep it same as it was in the message content, and we show
the "Unknown user" popover on clicking the pill.
2023-12-07 19:34:07 -08:00
Sahil Batra d67717c0d7 scheduled_messages: Handle scheduled messages to inaccessible users.
Inaccessible users are shown as "Unknown user" in the scheduled
messages list.
2023-12-07 19:34:07 -08:00
Sahil Batra 0fb89e41f6 compose: Show only groups with all accessible users in DM typeahead. 2023-12-07 19:34:07 -08:00
Sahil Batra 99f4f914e2 users: Handle UI for bots when bot owner is inaccessible. 2023-12-07 19:34:07 -08:00
Sahil Batra 2c331f0664 custom_profile_fields: Handle user type fields set to unknown users. 2023-12-07 19:34:07 -08:00
Sahil Batra 30910a3403 settings_emoji: Handle unknown users as emoji authors.
Inaccessible emoji authors are shown as "Unknown user" in
emoji list.
2023-12-07 19:34:07 -08:00
Sahil Batra 8376728218 popover: Update popovers shown for unknown users. 2023-12-07 19:34:07 -08:00
Sahil Batra 380ff91c0e users: Do not pass unknown users data for webapp.
This commit sets the client capability value to not pass
unknown users data in the webapp and also does some changes
to avoid errors while loading the web-app home page.

This commit only does some basic webapp changes to not show
inaccessible users in sidebar and we would need need more
changes to make the web-app work as expected which will be
done in further commits.
2023-12-07 19:34:07 -08:00
Karl Stolley 8d76231dda portico: Hide Cloud-plan buttons for self-hosters. 2023-12-07 19:19:21 -08:00
Anders Kaseorg 202d00ebc6 dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-07 14:29:32 -08:00
Aman Agrawal 2165486c88 upgrade: Allow showing downgrade success message for legacy server. 2023-12-07 13:55:39 -08:00
Aman Agrawal 825986ac3a billing: Allow legacy servers to cancel upgrade. 2023-12-07 13:55:39 -08:00
Aman Agrawal 00b7424d11 legacy_server_login: Restyle page. 2023-12-07 13:55:39 -08:00
Prakhar Pratyush 25899b1f7e left_sidebar: Decrease follow-icon opacity. 2023-12-07 11:54:36 -08:00
Sahil Batra 3d181a8ee1 settings: Remove "User groups" panel from settings overlay.
The "User groups" panel is now removed from settings overlay
and we instead use new "#groups" UI.

This commit also makes some changes to tests to ensure coverage
for pill_typeahead.js which was previously done by
settings_user_group_legacy.test.js. We have still not got
complete coverage on user_pill.ts as we have removed
settings_user_group_legacy.test.js, but we just add the file
to EXEMPT_FILS list for now and will handle it in future.

Fixes #28012.
2023-12-07 06:35:38 -08:00
Sahil Batra d43244313d user_groups: Fix joining user group when group row not visible.
There was a bug when a user tries to join user group if the
there was not a corresponding group row in left panel.
This happend when a user tried to open group settings page
from group popover.

This commit fixes the bug by adding code to check whether the
group row is present before calling the functions to show or
hide the loading spinners.
2023-12-07 06:35:38 -08:00
Sahil Batra a3af0250a0 compose: Do not include deactivated users for group as DM recipient.
We do not select deactivated members of group as DM recipient when
selecting a user group as option from typeahead.
2023-12-07 06:35:38 -08:00
Sahil Batra c4ec18bc61 popovers: Improve user group popovers.
This commit updates the user group popovers to change the icon
and text of ".manage-group" option to match what we have in
gear menu and also change the heading and ".manage-group"
option to be left-aligned.
2023-12-07 06:35:38 -08:00
Sahil Batra a97cf5d107 user_groups: Do not show deactivated users in members list.
This commit adds code to now show deactivated users in the
members list in "#groups" UI and the user group popover.
2023-12-07 06:35:38 -08:00
Sahil Batra 381670d2b6 user_group_popover: Fix scrollbar present outside the popover.
We already had the code to override the margin but it was not
being applied due to CSS specificity. This commit fixes it.

Due to this change, there was too much space on the left of
member names, so this commit also decreases the left padding.
2023-12-07 06:35:38 -08:00
Sahil Batra 34fd68c6b2 user_group_popover: Hide "Manage group" option for guests.
We do not allow guests to access the "#groups" UI.
2023-12-07 06:35:38 -08:00
Sahil Batra 7d217f2ede group_settings: Make new "#groups" UI accessible.
We now add a "Group settings" option in the gear menu to open
the new "#groups" UI and the "Manage group" option in user
group popover also opens the new UI.
2023-12-07 06:35:38 -08:00
Prakhar Pratyush bbfcb2dcb3 banner: Make banner about automatic follow/unmute topics one-time only.
Fixes: #27847.
2023-12-06 18:19:20 -08:00
Prakhar Pratyush 83bd9955e3 events: Add 'onboarding_steps' event deprecating 'hotspots'.
Earlier, the event sent when an onboarding step (hotspot till now)
is marked as read generated an event with type='hotspots' and
'hotspots' named array in it.

This commit renames the type to 'onboarding_steps' and the array
to 'onboarding_steps' to reflect the fact that it'll also contain
data for elements other than hotspots.
2023-12-06 18:19:20 -08:00
Prakhar Pratyush ac8af3d6de urls: Add a new endpoint for hotspot and deprecate the old one.
This commit adds a new endpoint 'users/me/onboarding_steps'
deprecating the older 'users/me/hotspots' to mark hotspot as read.

We also renamed the view `mark_hotspot_as_read` to
`mark_onboarding_step_as_read`.

Reason: Our plan is to make this endpoint flexible to support
other types of UI elements not just restricted to hotspots.
2023-12-06 18:19:20 -08:00
Sayam Samal 027df67fdc help_link_widget: Replace blue with inherit color on hover in dark mode.
This is a follow up commit to 2f1ea2fe4e,
for dark mode. The previously mentioned commit fixed the issue of help
link widget turning to blue instead of inheriting the color in light
mode only.
2023-12-06 11:22:44 -08:00
Lauryn Menard ea725aaaf3 support: Handle missing current licenses data for support views. 2023-12-06 11:01:26 -08:00
Lauryn Menard d079a13760 support: Use shared template for current plan details on support views.
Moves the section in support views for any current plan details
to a new template: `templates/analytics/current_plan_details.html`.

Also, updates the PlanData dataclass to have a boolean that checks
if the current plan tier is the self-hosted legacy plan.
2023-12-06 11:01:26 -08:00
Sahil Batra 578f9fb77e typing_events: Remove unnecessary code.
There is no need to set name field for event.sender since we
do not use it anywhere.
2023-12-06 00:09:53 -08:00
Sahil Batra 3697df1971 realm: Allow enabling restricted user access for guests only on plus plans.
This commit adds code to not allow Zulip Cloud organizations that are not
on the Plus plan to change the "can_access_all_users_group" setting.

Fixes #27877.
2023-12-06 00:09:53 -08:00
Tim Abbott 244b150920 portico: Fix buggy plans gradient in light theme. 2023-12-06 00:02:47 -08:00
Aman Agrawal 8d9a7679bc plans: Show buttons as per current context.
Also show correct tab based on remote / cloud user.
2023-12-05 23:44:29 -08:00
Aman Agrawal 49908ba166 sponsorship: Populate sponsorship page with correct context.
Fixes sponsorship page to work for remote realm and server.
2023-12-05 23:44:29 -08:00
Sayam Samal bcc58edfda hotspots: Fix misplaced onboarding hotspots.
We rename "intro_gear" to "intro_personal" because after the menu
was split into help menu, main menu and personal menu, the "Settings"
option now resides inside the personal menu.

Fixes #27878.
2023-12-05 17:37:47 -08:00
Tim Abbott 937abb8ba2 compose: Fix broken voice call button.
This CSS class was accidentally lost in
82895ff535.
2023-12-05 13:10:46 -08:00
Lauryn Menard ba3279e959 support: Add remote realm stub to remote server information.
Adds a small section for any remote realms attached to the remote
server in the support view.
2023-12-05 12:48:42 -08:00
Lauryn Menard 9f8fe7989a support: Add current plan information for remote servers.
For remote servers with a current legacy customer plan,
only the plan name, status and end date are displayed.
2023-12-05 12:48:42 -08:00
Mateusz Mandera 250b52e3dc remote_billing: Add a "confirm login" page in RemoteRealm auth flow. 2023-12-05 11:34:57 -08:00
Karl Stolley 2ea37a54a6 portico: Update plans tab on other pages.
This adds the new tabs from /plans to:

* /for/business
* /self-hosting

And it isolates legacy styles to preserve the tabs on
/for/education

Fixes: #28013
2023-12-05 11:09:41 -08:00
Sayam Samal 35ddb994e9 stream_settings: Fix cursor not being disabled due to specificity issue. 2023-12-04 16:38:19 -08:00
Sayam Samal 2f1ea2fe4e help_link_widget: Fix blue on hover by inheriting the text color instead.
In this commit, we add css to help link widgets so that they can inherit
the color property on hover,

Changing `.help_link_widget` selector to `a.help_link_widget` allows
us to increase the specificity of the selector, thus enabling us to
override the on hover property set by the bootstrap classes.
2023-12-04 16:38:19 -08:00
Sayam Samal 68ccb022ca push_notifications: Add help links to mobile notifications options.
Fixes #27830.
2023-12-04 16:38:19 -08:00
Sayam Samal 44fa30e481 css: Add `.help_link_widget` class to consolidate help widget styling. 2023-12-04 16:38:19 -08:00
Sayam Samal db753f7f90 notification_settings: Remove extra param being sent to checkboxes.
The show_push_notifications_tooltip param is not being used inside
`web/templates/settings/settings_checkbox.hbs` and thus should not be
passed.
2023-12-04 16:38:19 -08:00
Sayam Samal e09761c0f9 notification_settings: Disable push notification opts when not configured. 2023-12-04 16:38:19 -08:00
Sayam Samal c7e2306380 notification_settings: Add banner when push notification not configured. 2023-12-04 16:38:19 -08:00
Sayam Samal e2485b7ee8 notification_settings: Add tooltip to checkboxes in the triggers table. 2023-12-04 16:38:19 -08:00
Sayam Samal c01e9b8071 notification_settings: Move tooltip from help icon to "Mobile" heading. 2023-12-04 16:38:19 -08:00
Sayam Samal 14bb8708c6 stream_settings: Move tooltip from help icon to label and checkbox. 2023-12-04 16:38:19 -08:00
Sayam Samal 885cb8dab9 push_notification: Reword from "configured" to "enabled" in tooltip. 2023-12-04 16:38:19 -08:00
Sayam Samal 31cc47cbd7 settings: Migrate mobile notification tooltips to a common template. 2023-12-04 16:38:19 -08:00
N-Shar-ma 15b3ad7466 compose: Show tooltip instantly for a `.disabled-on-hover` button.
We have some delay for tooltips for all compose buttons, but we now show
tooltips instantly for buttons that are disabled on hover, to emphasize
that the button is disabled, and why.
2023-12-04 16:26:53 -08:00
N-Shar-ma ab3650343f compose: Fix bug where poll button was disabled on opening compose box.
On opening the compose box right after closing it with some text in it,
the poll button would wrongly be disabled.

This is now fixed by ensuring to reset the button state on opening the
compose box.
2023-12-04 16:26:53 -08:00
roanster007 b676df0efe stream_settings: Fix stream settings dropdown of user profile.
Previously, when the user modal is opened, and a stream is
selected from the streams tab, and then, when a new tab
is selected and you navigate back to this streams tab and
try to pick a new stream, it wouldn't allow you to do so.

This is because, preivously once a stream is picked,
and you go out of the tab and come back, then the
previous object of the subscribe widget was invalidated
and a new object was created. However, the options
still corresponded to the old object. Hence, the error.

This is fixed by checking out if a stream widget object
exists, before creating a new one. The object is cleared
out from the on_user_profile_hide method.

This error is not seen for other tabs even though they
reconstruct their entire tabs when re-visited
without saving previous state is that they don't make
modifications to the user profile from the modal itself.
They rather open some other modal to do it.
Hence, they don't need to store any state for their objects,
and hence no need to retain it.
their state.

Fixes #27422
2023-12-04 16:06:48 -08:00
roanster007 bd6886929a user_profile: Move the widget clearing logic to open hook of modals.
Previously, the logic for clearing of user_streams_list_widget
was present in a separate method, calling which would  clear
out the object. However, there is no guarantee that this
method would always be called, but it is essential for us to
clear out our object every time we close the modal.

Hence, we move this to a new on_user_profile_hide method,
which is provided as a call back to the modals.open hook
so that the object is cleaned out everytime we close the
modal.
2023-12-04 16:06:48 -08:00
N-Shar-ma 43d0965555 popover: Improve computation of elements at reference elements.
So far, we were only considering elements at the the reference element's
bounding box top-left corner, to check if the reference element was
covered by other elements. This led to a bug where the popover wouldn't
show up even if a very small part of the reference element was covered.

Now we consider elements that are at both the top-left and bottom-right
of the reference element's bounding box, as those covering the reference
element.
2023-12-04 16:03:29 -08:00
Karl Stolley f020f9eee0 pygments: Place Default (light) and Monokai (dark) schemes.
These were generated and captured from the following commands:

$ pygmentize -f html -S default

$ pygmentize -f html -S monokai
2023-12-04 13:03:34 -08:00
Karl Stolley 6696a47d3d pygments: Place GitHub-style red and green for diffs. 2023-12-04 13:03:34 -08:00
Karl Stolley 78d767c1ee pygments: Place Quansight Labs accessible GitHub themes. 2023-12-04 13:03:34 -08:00
Karl Stolley 1c88cc481c pygments: Isolate non-color Zulip custom styles. 2023-12-04 13:03:34 -08:00
Karl Stolley 7817e358f4 markdown: Place redesigned colors and borders on code spans and blocks.
Prior to merging, this commit and others in the PR should be adjusted
and squashed for a cleaner history.

Co-Authored-By: Vlad Korobov <terpimost@gmail.com>
2023-12-04 13:03:34 -08:00
Karl Stolley 6d4f852dc4 markdown: Remove background colors from code blocks.
It appears as though we're still setting a background color,
but that is only to push back against the background set by
Pygments.

However, code blocks in mention messages get the same color
background as ordinary messages, preserving contrast on syntax
highlighting.
2023-12-04 13:03:34 -08:00
Karl Stolley 78d4232fc4 markdown: Present code spans without borders. 2023-12-04 13:03:34 -08:00
Karl Stolley 2811f2fe0f markdown: Implement redesigned Markdown code styles.
Fixes a part of #22022.
2023-12-04 13:03:34 -08:00
Karl Stolley f1a5fffae9 markdown: Express Markdown code/pre colors as CSS vars.
This ensures that all colors (text, background, and border) are
explicitly declared for Markdown-rendered pre elements, even when
the colors replicate values already declared, e.g., with Pygments.
2023-12-04 13:03:34 -08:00
Karl Stolley a8612ee9bc markdown: Remove unreachable color properties. 2023-12-04 13:03:34 -08:00
N-Shar-ma 4d590f1f93 compose: Make the Preview button the first, and Upload files the second.
We exchange the positions of the preview and upload buttons to make the
preview button the first one, as the preview button is different from
the other buttons in that it does not manipulate the contents of the
ompose box.
2023-12-04 13:00:35 -08:00
Aman Agrawal 00f4f8cb04 billing: Use PATCH requests for update plan for remote instances.
This fixes the update requests for billing frequency and other
requests not working on billing page for cloud customers.
2023-12-04 12:36:24 -08:00
Aman Agrawal 1a063986e3 billing: Render page for legacy server scheduled for upgrade. 2023-12-04 12:36:24 -08:00
Aman Agrawal f22ccd3125 stripe: Render upgrade page for remote servers on legacy plan. 2023-12-04 12:36:24 -08:00
Karl Stolley c651c4f668 icons: Place new log-in and log-out icons across UI. 2023-12-04 12:11:00 -08:00
Karl Stolley c3adfa2679 top_navbar: Apply current icon styles to narrow login icon. 2023-12-04 12:11:00 -08:00
Karl Stolley d85dd6bf2b top_navbar: Set new spectator button styles. 2023-12-04 12:11:00 -08:00
Karl Stolley b53836de03 top_navbar: Allow spectator items to participate in flexbox. 2023-12-04 12:11:00 -08:00
Tim Abbott f6c7eaf1e5 models: Add push_notifications_enabled & corresponding end_timestamp.
Add two fields to Realm model:
*push_notifications_enabled
*push_notifications_enabled_end_timestamp

Co-authored-by: Prakhar Pratyush <prakhar@zulip.com>
2023-12-04 07:08:39 -08:00
Aman Agrawal 895d76f6f0 hello: Add getapp badge on landing page. 2023-12-03 20:43:07 -08:00
Anders Kaseorg ec44722252 timerender: Move display_time_zone fallback to initialize.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-03 20:05:25 -08:00
Aman Agrawal a59245e932 billing: Make various buttons on billing page work.
We pass billing_base_url to the template and use it to construct
session specific URLs. Also, add corresponding function on server
to support them.
2023-12-03 15:15:04 -08:00
Aman Agrawal f942bbd70f stripe: Show tier information correctly on billing and upgrade page. 2023-12-03 15:15:04 -08:00
Lauryn Menard 4250e9c1c9 support: Update remote server customer default discount.
Adds ability to update the default discount for a customer attached
to a remote server via the remote server support view.
2023-12-03 14:27:07 -08:00
Lauryn Menard 6621de6f07 analytics: Add copy email button for remote server support view. 2023-12-03 14:27:07 -08:00
Lauryn Menard 0679bc044a corporate: Make references to billing modality consistent.
The "send_invoice" and "charge_automatically" strings used by stripe
for the `collection_method` are referred to both as the "billing
method" and "billing modality" in the billing code.

Because we send this as data to stripe as either `collection_method`
or `billing_modality`, renames any references that are any form of
"billing method".
2023-12-03 14:27:07 -08:00
Karl Stolley 4987600edc message_edit: Don't hide spinner on save success.
Hiding the spinner confusingly flashes the Save button before the
edit view closes. This just prevents that from happening, so that
the sign of success is the rendered, edited message.
2023-12-03 10:32:43 -08:00
Karl Stolley 780d60a9ee left_sidebar: Remove tabindex from correct home-view element. 2023-12-03 08:44:54 -08:00
Karl Stolley 0e4dfa04b3 top_navbar: Contain stream, description elements. 2023-12-03 08:40:45 -08:00
evykassirer 875b7f1377 padded widget: Unabbreviate content_sel to content_selector. 2023-12-03 08:39:07 -08:00
Anders Kaseorg 1efc6efd23 requirements: Upgrade Python requirements.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-01 18:52:00 -08:00
Karl Stolley 871054bd1e plans_page: Allow different max-widths on cloud, self-hosted panes. 2023-12-01 15:12:31 -08:00
Karl Stolley 5eb86f3fbb plans_page: Add responsive non-JS plan-pane scrolling. 2023-12-01 15:12:31 -08:00