Commit Graph

3801 Commits

Author SHA1 Message Date
Anders Kaseorg 85d5669a4a web: Fix selectors to correspond with annotated types.
TypeScript does not check that these annotations are consistent with
the given selector strings.  We need to ensure that ourselves for
runtime safety.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-19 13:14:27 -07:00
Anders Kaseorg 548805dff9 realm_logo: Fix selector for image_upload_widget.hbs migration.
Commit 548107632c (#15333) should have
updated this but didn’t.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-19 13:14:27 -07:00
Joydeep Bhattacharjee d99238526d widgetize: Convert module to typescript. 2024-03-19 12:12:23 -07:00
Joydeep Bhattacharjee 94cd67b90f poll_widget: Fix ExtraData type. 2024-03-19 12:12:23 -07:00
Joydeep Bhattacharjee 2842945e6d ts: Replace all occurance of widgetize.js with widgetize.ts. 2024-03-19 12:12:23 -07:00
Anders Kaseorg f530f6749c sentry: Delay reading current_user and realm until they’re available.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-19 11:57:05 -07:00
shashank-23002 b74dabfaa4 alert_words: Highlight overlapping alert words more accurately.
This fixes a bug where alert words that are contained in another alert
word would have only the smaller alert word highlighted.

Note that it does not handle weirder cases, like "one two" and "two
three" being alert words; "two three" will always be highlighted, and
not "one"; this is probably fine in practice.

Fixes: #28415
Co-Authored-By: danieldotcomcoder <daniel_shdeed@hotmail.com>
2024-03-19 11:20:16 -07:00
shashank-23002 ebafe4d08f alert_words: Reuse set_alert_words to better share code. 2024-03-19 11:20:16 -07:00
afeefuddin 417d4b3a8a integration_url_modal: Convert module to TypeScript. 2024-03-19 09:38:22 -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
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
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
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
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
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
N-Shar-ma ef5cdff9d9 settings: Scroll save button into view when a change made needs saving.
Whenever a setting that needs confirmation to save is tweaked, and the
save button is not visible, we scroll it into view, to ensure the user
does not mistake it for an automatically saved change and misses saving
their change.

Fixes: #29290.
2024-03-14 17:31:39 -07:00
Tim Abbott 252a03790a condense: Fix accidentally deleted function call.
42dd55df42 incorrectly deleted this.
2024-03-14 17:12:14 -07:00
Aman Agrawal c84b9cbc97 upgrade: Allow payment by invoice. 2024-03-14 16:43:52 -07:00
Sahil Batra 12e298dd4c settings: Add description below name field.
This commit adds description text below the name field in
profile settings panel mentioning how the field will be used.

Fixes #29226.
2024-03-14 10:53:36 -07:00
Sahil Batra 0ac0f95ee8 register: Add description below name field.
This commit adds description text below the name field
mentioning where the field will be used.

Fixes part of #29226.
2024-03-14 10:53:36 -07:00
Sahil Batra 74ab3d2cbe webapp: Rename "Full name" field to "Name".
This commit renames "Full name" field in profile settings,
"Edit user" form and in the email modal for demo orgs to
"Name".

Fixes part of #29226.
2024-03-14 10:53:36 -07:00
Aman Agrawal 9846c4c476 inbox_row: Don't show topic visibility toggle button by default.
We emulate the same behaviour of hiding topic visibility button
by using opacity if for default topic visibility state.
2024-03-14 10:15:49 -07:00
N-Shar-ma f4d58f1ba6 compose: Show counter inside Drafts button for the current recipient.
Now we show the number of drafts that are addressed to the current
recipient selected in the compose box, if any, in the Drafts button
within parentheses (whether it is next to the Send button, or in the
Send options popover), and explain that it is the number of drafts for
this conversation in the tooltip.

Fixes: #28696.
2024-03-13 16:53:45 -07:00
N-Shar-ma 6ec04c2469 drafts: Refactor function to have a default value for its 1 parameter.
For function `filter_drafts_by_compose_box_and_recipient` since the set
of drafts to filter from is almost definitely going to always be all
drafts, we make the required drafts parameter optional with the default
value of all drafts.

This is a prep commit for the next commit which will use this function.
2024-03-13 16:53:45 -07:00
N-Shar-ma d491c7d53c typeahead: Fix bug where change event was not triggered post selection.
This fixes a regression introduced in the commit making typeahead undo
friendly, d88ce61801.

This fixes the bug where selecting a topic via keyboard in the compose
recipient area did not update the fade.
2024-03-13 16:53:45 -07:00
Sahil Batra 2296c0b717 settings: Do not pass JQuery object to check_property_changed.
The function check_property_changed is called at two places - we
pass elem as HTML object in one call and JQuery object in another.

We should make it consistent and we now pass HTML object in both
the calls as that would be better when we would convert
settings_components file to typescript.
2024-03-13 13:34:57 -07:00