Commit Graph

57124 Commits

Author SHA1 Message Date
Prakhar Pratyush de53e372dd onboarding: Don't show introduce zulip view modals to existing users.
We don't want to show one-time modals introducing 'Inbox' and
'Recent conversations' views to existing users.

When a user views a modal, we mark it as read by storing a row
in the 'OnboardingStep' model. Once marked as read, the user will
no longer see the modal.

This commit adds a migration to create
two rows per user (mark them as read) in OnboardingStep model.
2024-03-19 09:32:59 -07:00
Prakhar Pratyush ad3603c0aa onboarding: Show one-time modal to introduce recent conversations view.
To improve onboarding experience, this commit adds a
one-time modal which introduces the recent conversations view.

Users see this one-time modal on visiting the recent
conversations view.

Fixes #29073.
2024-03-19 09:32:59 -07:00
Prakhar Pratyush 9a7634d527 onboarding: Show one-time modal to introduce inbox view.
To improve onboarding experience, this commit adds
a one-time modal which introduces the inbox view.

Users see this one-time modal on visiting the inbox view.

Fixes part of #29073.
2024-03-19 09:32:59 -07:00
Prakhar Pratyush c9d25b2a95 stripe: Redirect to /plans if plans downgraded on /billing page visit.
When a customer with plan's status 'DOWNGRADE_AT_END_OF_FREE_TRIAL'
visits /billing page on the free-trial end date before the invoice
cron runs, the 'make_end_of_cycle_updates_if_needed' downgrades the
plan.

Earlier, when such a customer visited /billing page in this time window
it resulted in an assertion error.

This commit fixes the incorrect behaviour by redirecting to '/plans'
page in such cases.
2024-03-19 09:25:07 -07:00
Lauryn Menard 3418ec8055 dev-community: Document chat.zulip.org linkifier for flutter project. 2024-03-19 09:21:29 -07:00
Tim Abbott a33c68026c message_edit_history: Fix display of unknown private streams.
Previously, if such a stream were in certain positions in message edit
history, it would incorrectly be displayed as the empty string.
2024-03-18 17:26:28 -07:00
Mahhheshh e7adde96e0 message_edit: Reimplement message history modal as an overlay.
We redesign the message history modal to make it look similar to the
drafts and scheduled messages, using the shared styling/rendering
logic for that those existing elements to have a less goofy widget.

Fixes #28695.
2024-03-18 17:26:28 -07:00
Tudor Stefan Pagu 3324721eb7 tooltip: Hide scroll button tooltip on transition.
Fix a bug where the tooltip for the scroll
to bottom button would remain visible after the
button disapeared, if the user was hovering over
the button as it was dissapearing, without moving
their mouse. Now, the tooltip dissapears when
the button finishes the visibility transition.

Fixes #28656
2024-03-18 16:46:57 -07:00
Aman Agrawal 631aa1aac5 css: Wrap CSS related to hiding columns in `default-sidebar-behaviour`.
We might wrap more elements in future but this this is enough for
testing that nothing breaks right now.

Use `git show -w` for the real changes.
2024-03-18 15:28:03 -07:00
Aman Agrawal c643d0c0ae css: Specify for columns where it is located.
Navbar and app share same class for sidebar, so it is important
that we specify which one we are referring to if we are not referring
to both of them.
2024-03-18 15:28:03 -07:00
Aman Agrawal 803092f9f0 ui_init: Add a class to `body` to specify the current sidebar state. 2024-03-18 15:28:03 -07:00
Aman Agrawal ea85e526fb css: Specify to which `.column-middle` the styles is applied.
We use `#navbar-middle` and `.app-main .column-middle` specifically
to apply styles to those elements.
2024-03-18 15:28:03 -07:00
Aman Agrawal 4c6164ad49 ui_init: Remove unused dropdown menu code.
We migrated from bootstrap dropdown to use tippy. This change should
have been removed as part of that change.
2024-03-18 15:28:03 -07:00
Aman Agrawal 9ee11afb7e css: Remove min-width styles on app.
We always want to render Zulip at maximum available width with a
max-width.
2024-03-18 15:28:03 -07:00
Aman Agrawal df50c305ae css: Merge media queries. 2024-03-18 15:28:03 -07:00
Aman Agrawal 47acfc0bae css: Remove unused classes.
While they might be useful, it create a potential for elements
that we want to display on wide widths for a setting like
hide user list but was bugged due to a css class like this.
2024-03-18 15:28:03 -07:00
Aman Agrawal 341c25d087 css: Use variables for border colors in sidebars.
This is important step to fix a bug related to making sure css
for `.column-right` doesn't apply in navbar but only `.app-main`.
2024-03-18 15:28:03 -07:00
Alya Abbott 23dae53f1c help: Clarify that the whole organization must be on the same plan. 2024-03-18 14:49:38 -07:00
Sohaib-Ahmed21 d145aba3a5 hotkeys: Shift + M work in recent conversations and inbox.
Earlier, the Shift + M shortcut only functioned in messages to
mute/unmute topics in the messages section.

This commit enables the Shift + M shortcut to work in recent
conversations and the inbox. It achieves this by utilizing the
existing function toggle_topic_visibility_policy in user_topics_ui.
The focused row message of the recent_view_ui is passed to mute/unmute the
selected topic in the recent_view_ui, and the same process
is applied to the inbox_ui but the logic of muting/unmuting the topic
is kept in inbox_ui which uses function toggle_topic_visibility_policy
in user_topics_ui.

The function toggle_topic_visibility_policy is called in both
cases based on specific conditions to prevent the shortcut from
affecting other parts of the page, thus avoiding errors.

Fixes #27741.
2024-03-18 10:42:17 -07:00
Kislay Verma 454f2f2d95 compose: Fix unresolve button for empty topics.
When composing to an empty topic, only the compose box topic is
changed to remove the tick-prefix from it.

Fixes #29182.
2024-03-15 18:00:10 -07:00
Robert Dyer 32c8d89eeb docs: Cleanup setup-recommended.md.
For consistency, using `console` instead of `bash` to show commands to run, and dropping the name "christie" from examples.
2024-03-15 17:37:34 -07:00
Robert Dyer e367718283 docs: Refactor setup-recommended into includable files. 2024-03-15 17:37:34 -07:00
Robert Dyer 4d337cfc0d docs: Add dependency on sphinx_design.
Adds a dependency on "sphinx_design" for the docs system.  Allows
supporting tabs inside the developer documentatoin.  This is a
preparation commit for later refactoring of the OS-specific setup
documentation.
2024-03-15 17:37:34 -07:00
Anders Kaseorg 0d30ae8f44 requirements: Fix Python 3.12 issue in pip._vendor.pkg_resources.
76ef30913d

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-15 17:37:11 -07:00
Pratik Chanda 0c8845cec5 group_settings: Fix group settings panel title not updating.
Earlier in group settings, clicking a non participating group from
"all groups" and then clicking "your group" would reset the right
panel but the panel title would remain same as that of the non
participating group.

This commit fixes the behaviour and resets the panel title to
default.
2024-03-15 17:22:10 -07:00
Pratik Chanda a504753961 stream-settings: Fix right panel resetting on filter change.
Earlier in stream settings, filtering for streams by search stream
name would reset the right panel to default if a stream was selected
from stream row.

This commit fixes the behaviour by keeping the stream open in right
panel in stream settings even on any filter change.
2024-03-15 17:22:10 -07:00
Pratik Chanda f96ad02454 stream-settings: Fix stream settings panel title not updating.
Earlier in stream settings, clicking an unsubscribed stream in "all
streams" tab and then clicking subscribed tab, the right panel would
reset but the panel title and url hash would remain same as that of
the unsubscribed stream.

This commit fixes the behaviour and resets the panel title and url
hash to default.

Fixes zulip#28465.
2024-03-15 17:22:10 -07:00
Alex Vandiver bfe4017663 katex_server: Add Prometheus metrics. 2024-03-15 15:34:12 -07:00
Alex Vandiver c13e3dee24 katex: Replace subprocess call with minimal external service.
Replace a separate call to subprocess, starting `node` from scratch,
with an optional standalone node Express service which performs the
rendering.  In benchmarking, this reduces the overhead of a KaTeX call
from 120ms to 2.8ms.  This is notable because enough calls to KaTeX in
a single message would previously time out the whole message
rendering.

The service is optional because he majority of deployments do not use
enough LaTeX to merit the additional memory usage (60Mb).

Fixes: #17425.
2024-03-15 15:34:12 -07:00
Alex Vandiver 5fd38f15a6 webpack: Support limiting to only one config name. 2024-03-15 15:34:12 -07:00
Alex Vandiver c7e92ee2f3 outgoing_http: Support fractional-second timeouts. 2024-03-15 15:34:12 -07:00
Alex Vandiver 1cba83f9c5 settings: Use bool-ish get_config on postgresql.missing_dictionaries. 2024-03-15 15:34:12 -07:00
Alex Vandiver 0f70ab7679 config: Use logic from zulip_tools, to support bools. 2024-03-15 15:34:12 -07:00
Alex Vandiver b36f389e9e zulip_tools: Make default default_value be None, not "". 2024-03-15 15:34:12 -07:00
Alex Vandiver f9f9392b93 zulip_tools: Unify get_config and get_config_bool using overloads. 2024-03-15 15:34:12 -07:00
Alex Vandiver 0ff1fb2e21 zulip_tools: Support non-lowercase true values.
This matches the ruby implementation.
2024-03-15 15:34:12 -07:00
Alex Vandiver 3905416a0e zulip_tools: Fix path to zulipconf.rb.
This was moved in 16aa7c0923.
2024-03-15 15:34:12 -07:00
Alex Vandiver e0cf82a526 email-mirror-postfix: Use get_config_bool, instead of checking "true". 2024-03-15 15:34:12 -07:00
Anders Kaseorg 959e51fe58 tests: Replace unneeded override_rewire uses by whole-module mocks.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-15 17:29:47 -04:00
afeefuddin 15db564246 search_suggestion: Convert module to TypeScript. 2024-03-15 13:10:34 -07:00
afeefuddin 611b28e308 search_suggestion: Rename invalid to incompatible_patterns. 2024-03-15 13:10:34 -07:00
afeefuddin 089e363313 search_suggestion: Rename huddle to huddle_emails. 2024-03-15 13:10:34 -07:00
Roshan Jagadish 20e44997e2
types: Migrated add_stream_options_popover to TypeScript.
The migration requires some new assert statements as well as a change
in how the `return undefined` case is spelled to match the types declared by 
Tippy upstream.
2024-03-15 13:02:20 -07:00
Anders Kaseorg 45cfa42469 tests: Avoid override_rewire for bootstrap_typeahead.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-15 12:56:03 -07:00
Prakhar Pratyush 421400c651 corporate: Fix 'get_next_billing_cycle' for scheduled fixed-price plan.
No renewal ledger entry exists for a scheduled fixed-price plan.

Earlier, when a customer with scheduled fixed-price plan
visited the billing page, the 'get_next_billing_cycle' function
raised an assertion error as no renewal ledger entry exists.

We don't need the ledger entry to determine the next billing
cycle in this case, so we move the code block which determines
the last_renewal time within the else conditional i.e. where it
is needed.

The scheduled plan has NEVER_STARTED status and the
next_invoice_date set to end date of the current plan.
We use this info to determine the next billing cycle.
2024-03-15 12:31:57 -07:00
Mahhheshh 1c48ed0a1c stream picker: Remove stream colorblock.
To achive this the `stream_header_colorblock` div was removed from
`dropdown_widget_with_stream_colorblock.hbs` template. this change made
the file name irelevenet so it was necessary to rename the file to
`dropdown_widget_wrapper.hbs`. After removing the html strcuture for
colorblock from templates the css for colorblock was also removed.
followed by the javascript which was used to add colorblock to the
stream picker. After removing javascript tests were updated.
Fixes: #28796.
2024-03-15 11:11:04 -07:00
evykassirer db24df488c typeahead: Convert from a jQuery plugin to a normal exported function. 2024-03-15 10:05:44 -07:00
Karl Stolley bb114ed525 settings: Set light- and dark-mode color on field hints. 2024-03-15 09:58:33 -07:00
Aman Agrawal 3b4abc94ee stripe: Revive an old test case for payment method. 2024-03-15 08:39:46 -07:00
Aman Agrawal 26a92f5d66 stripe: Add more context to some comments. 2024-03-15 08:39:46 -07:00