Commit Graph

195 Commits

Author SHA1 Message Date
Aman Agrawal
8207eaab55 left_sidebar: Refactor to support user's navigation view preference.
Co-authored-by: Aditya Chaudhary <aditya.chaudhary1558@gmail.com>
2025-08-04 18:33:36 -07:00
Evy Kassirer
18463b45a2 left_sidebar: Skip invisible rows in keyboard navigation.
Collapsed sections and inactive channel lists are not visible and so
should be ignored in keyboard naviation.
2025-07-28 10:28:01 -07:00
Evy Kassirer
9478525f15 left_sidebar: Remove #streams_header and related code.
This component no longer exists with the new design.

Everything removed here that's still relevant (unread counts, special
logic for spectator view) is added back, at the section/channel folder
layer, over the next several commits.
2025-07-28 10:28:01 -07:00
Anders Kaseorg
a29ed94e5b web: Switch to Zod mini API.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-21 16:40:17 -07:00
Evy Kassirer
c61943f002 search_suggestion: Show pills in search suggestions.
Fixes #34750.
2025-07-08 10:02:34 -07:00
Aman Agrawal
8f1f34b2ea common: Add a proper delay. 2025-07-02 11:50:47 +05:30
Sahil Batra
926716d9f2 custom-profile-fields: Fix handling manual date input.
This commit fixes the behavior when manually changing
the date input instead of selecting from the picker.

Changes done are-
- Users can enter date in various formats including the
one showed in the input like "June 20, 1999", "MM-DD-YYY",
and basically the formats which can be parsed by "Date".
- Fixed handling of invalid strings where we show
"Invalid date value" error message for some time without
sending the request to server.

Fixes #19936.
2025-07-01 13:31:08 -07:00
Aman Agrawal
072343a101 common: Make pm typeahead flake less common. 2025-07-01 04:26:33 -07:00
Anders Kaseorg
9dd4dc08fd dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-04 16:24:47 -07:00
Evy Kassirer
464b7f4540 compose_state: Rename private_message_recipient to clarify it stores emails.
This will add clarity as we move towards using ids more and emails
less.
2025-05-16 10:51:29 -07:00
Sayam Samal
a4549ffaf5 alert_words: Update label in the alert words removal status banner.
This commit displays the removed alert word in the error banner, and
bolds the alert word in both success and error banners.
2025-04-25 12:26:02 -07:00
Sayam Samal
3974ddf548 alert_words: Use banner to indicate alert words removal status.
This commit converts the alert words removal status alert to a banner
component.
2025-04-25 12:26:02 -07:00
Maneesh Shukla
a062d25aea personal-settings: Redesign buttons in personal settings.
- Changed Alert Words "Delete" button to a danger icon button.
- Updated Uploaded Files "Download" button to an info icon.
- Updated Uploaded Files "Delete" button to a danger icon.
- Changed Muted Users button to use `action-button-quiet-danger`.

Fixes: #34200.
2025-04-10 11:32:43 -07:00
Anders Kaseorg
ff4337eee5 eslint: Fix @typescript-eslint/prefer-nullish-coalescing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-04-09 15:46:56 -07:00
Sayam Samal
f7129ae550 tests: Fix admin.test.ts failing puppeteer test using waitForFunction. 2025-04-09 11:23:17 -07:00
Sayam Samal
e1acec52eb tests: Fix admin.test.ts puppeteer test case failing.
The puppeteer test case for checking the save discard widget button
states was failing sometimes as the button was being updated too soon.

Due to this, sometimes the assertion check would execute after the
button label has already been updated — resulting in mismatched results.
2025-04-09 11:23:17 -07:00
Sayam Samal
91efa998ee tests: Improve change signup announcements stream test in admin.test.ts.
This commit makes the test setup in
test_change_signup_announcements_stream consistent with those in
test_change_new_stream_announcements_stream and
test_change_zulip_update_announcements_stream.
2025-04-08 22:42:30 -07:00
evykassirer
1abd3332a6 settings: Replace two pane header classnames with a generic one. 2025-04-07 18:18:47 -07:00
Sayam Samal
47419fbfc3 settings: Update add/remove buttons on channel/group creation.
This commit updates the "Add" and "Remove" buttons in the channel/group
creation modal to use the action button component.

Fixes part of #33027.
2025-04-03 17:33:09 -07:00
apoorvapendse
11028d5244 copy: Use a global copy event listener.
This attempts to use a global copy event listener instead of
triggering the copy handler on Ctrl+C, as this is more robust way to
use browser APIs, including not intefering if end users choose to
remap copying keys on their keyboard.

This has various beneficial side effects, including copying from other
Markdown elements like the preview or drafts UI using the same code as
copying from the message feed.

Fixes: #33949.
2025-03-19 10:07:32 -07:00
ahmedgulabkhan
c0b3fb1bbe user-settings: Update icon for deactivating user or bot.
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2025-03-17 10:52:25 -07:00
ahmedgulabkhan
50582b72b6 user-settings: Update icon for reactivating user.
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2025-03-17 10:52:25 -07:00
Prakhar Pratyush
5f3896710f onboarding_steps: Add 'navigation_tour_video' for new users.
This commit adds a one-time modal to display navigation tour
video to new users.

Includes an `NAVIGATION_TOUR_VIDEO_URL` server-setting to specify
the video's URL. When set to None, the modal is not displayed.

Fixes #29304.
2025-03-13 14:38:16 -07:00
Prakhar Pratyush
c70a3ffb0a populate_db: Mark onboarding steps as seen for existing users.
This commit updates populate_db to mark all onboarding steps as seen
for existing users to avoid unnecessary popups during development.

Developers should create a new user in development environment
to test the onboarding steps.
2025-03-13 14:38:16 -07:00
Maneesh Shukla
d0be7ec9f0 organization_settings: Restyle remaining sea-green button to action-button-quiet-brand.
Fixes part of #33130.
2025-03-11 14:08:34 -07:00
whilstsomebody
6c6d5fbb6a people: Use Intl.ListFormat rather than .join(",").
Fixes: #26936

Co-authored by: CIC4DA <dhruv.jain9100@gmail.com>
2025-03-04 16:58:23 -08:00
ImDooMLorD
6dea58623c errors: Standardize "already in use" error messages.
Updates these error messages to have "X is already in use." format,
e.g., "Channel name is already in use." and "Name is already in use."

Fixes #33629.
2025-03-04 16:10:25 -08:00
Anders Kaseorg
a309bbe121 eslint: Fix unicorn/consistent-assert.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-02-26 16:20:47 -08:00
apoorvapendse
8b9ba36465 copy_and_paste: Split copy and paste.
Note that the puppeteer tests only tested
copying whereas the node tests only tested
pasting, which is why the puppeteer tests
for pasting and node tests for copying are
absent after this split.
2025-02-26 13:15:50 -08:00
Lauryn Menard
79224b0149 puppeteer-navigation: Use more specific view selector.
Updates the selector for the channel narrow and combined feed
in this puppeteer test to be more specific than the message feed
container, which is what the check for the direct message view
already does in this test.
2025-01-29 15:00:23 -08:00
Shubham Padia
34ade0d9a2 realm: Add ability to set can_add_subscribers_group in frontend.
The setting is not used anywhere yet either on the frontend or the
backend, we are just adding the ability to change the value of the realm
setting. We have also removed the ability to set
`invite_to_stream_policy` in this commit while it continues being used
to check permissions.
We have changed the label of the setting from `Who can add users to
channels` to `Who can subcribe users to channels` and label_parens_text
as `in addition to organization administrators` as discussed in
https://chat.zulip.org/#narrow/channel/101-design/topic/Can.20subscribe.20other.20users.20on.20user.20profile/near/2039825
2025-01-22 12:33:58 -08:00
Sahil Batra
9682e35584 settings: Show avatar by default in right sidebar for new orgs.
This commit sets the default for user_list_style to
USER_LIST_STYLE_WITH_AVATAR so that the organization
level defaults for new users of this setting is set
to show avatar in right sidebar for new orgs.
2025-01-09 09:19:22 -08:00
Anders Kaseorg
58822372d5 typos: Fix typos caught by typos and mwic.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-24 19:15:36 -08:00
Anders Kaseorg
d78902fac3 e2e-tests: Move test credentials to a JSON file.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-01 22:14:35 -08:00
Aman Agrawal
11153eb2c8 settings: Wait for settings overlay to close.
Since pressing `escape` key closes flatpickr and settings overlay
at the same time, we need to wait for the settings to be not
visible.

If we don't wait for the settings overlay to close, the next test
could think the settings overlay is already open and continue with
its tests which can easily become flaky.
2024-11-21 21:34:04 +05:30
joseph
4ab519214a test: Ensure input field is visible before attempting to click on it.
There is an case of flakiness in the test where we attempt to click on
an input field before it's even visible. Make sure the input field is
visible before attempting to click on it.
2024-11-19 18:37:02 -08:00
Aman Agrawal
666c1e1d95 settings: Fix flaky test.
We wait for settings overlay to be fully visible before
running rest of the tests. Without this, tests were flaky due
to settings overlay not being present when running tests.
2024-11-19 16:14:58 +05:30
Sayam Samal
0158768a91 settings: Rename btn -> button in #add-custom-profile-field-btn.
This commit is a part of the efforts to rename btn-related classes
and variables to align with Zulip's no-abbreviations policy and
streamline the search results.
2024-11-14 12:03:36 -08:00
Sayam Samal
15cc27af6e settings: Rename btn -> button in JS variables.
This commit is a part of the efforts to rename btn-related classes
and variables to align with Zulip's no-abbreviations policy and
streamline the search results.
2024-11-14 12:03:36 -08:00
Anders Kaseorg
26c72bf7ec test-js-with-puppeteer: Run with node --experimental-strip-types.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 09:18:56 -08:00
Anders Kaseorg
ec3177c834 web: Add explicit extensions to imports.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 09:18:56 -08:00
evykassirer
d8a4ca38ab stream_sidebar_row: Remove title for channel name. 2024-11-11 16:41:30 -08:00
evykassirer
cb6c60ef7a stream_create: Fix puppeteer test flake from modal reopening.
In 245357c868 we added a redirect
after stream creation, to go to the stream feed. This means
the stream settings modal was closed partway through the tests.
This caused a flake where when the modal was reopened it was
not always open by the time we fetched the stream name.

The main fix in this commit is changing the classname for
the stream in the modal to be more specific (`stream-name`
can also be found in the left sidebar in many places) and
waiting for it to be visible again before getting text from
it.

More discussion here:
https://chat.zulip.org/#narrow/channel/43-automated-testing/topic/stream.20create.20puppeteer.20failure/near/1976724

Co-authored-by: Anders Kaseorg <anders@zulip.com>
2024-11-08 14:12:24 -08:00
evykassirer
ce7c3705f7 buddy_list: Don't go to DM narrow on avatar click.
This commit also moves styles from user-presence-link
onto selectable_sidebar_block, since the link is no
longer wrapping the whole block contents.

The `data-name` was also moved to the top level `<li>`
because it's used in pupeteer tests.
2024-11-05 10:48:15 -08:00
evykassirer
b7b2930760 buddy_list: Redesign top of right sidebar.
Fixes #31974.
2024-10-31 16:29:49 -07:00
Aman Agrawal
b895e9dc6f realm_creation: Let user choose their org type. 2024-10-20 18:17:04 -07:00
Lauryn Menard
d3987f611c urls: Generate narrow links in frontend with "channel" operator.
Fixes #30385.
2024-10-11 17:00:23 -07:00
Anders Kaseorg
ba8b9a445b eslint: Fix unicorn/prefer-node-protocol.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-10-08 16:54:15 -07:00
Aman Agrawal
777f6be88f puppeteer: Fix incorrectly passed false value to check narrow change.
This caused another CI flake.

Also, added a comment to the only other place where we pass false
explicitly explaining why.
2024-10-07 16:07:08 -07:00
Aman Agrawal
dae2a68ad9 puppeteer: Fix flaky wait for narrow change after sending a message.
This flake was happening since `wait_for_fully_processed_message`
only checks if the `star` icon is displayed on the message but
doesn't check for current narrow or waits for the narrow to
change.

Since narrow is changed to the message narrow after sending a
message. If we don't wait for narrow to change, this narrow change
can make the `get_current_msg_list_id` call return true for the
wrong narrow change. Which causes message list id of the wrong
message list to be returned and hence we cannot locate this
message list id.

To fix it, we check if sending this message will cause a narrow
change and if true, we wait for the narrow to change before
checking if the message is visible.
2024-10-07 14:17:02 +05:30