zulip/web/tests
apoorvapendse 6331a7c07a compose: Fix incorrect recipient logic for quote-reply.
Using the ">" hotkey to quote some selected
part of a single message sets the recipients
to be same as the recipients of "selected" message,
which is the message having the pointer instead
of the message we are selecting text to quote from.

This confusing behavior only happens with the ">"
hotkey and doesn't when using the "select part of a
message + use message actions popover menu option
to quote" flow, which sets the recipients correctly
to be the recipients of the message containing the
selection that is being quoted regardless of
where the pointer is.

This fix is meant to set the recipients to the
recipients of the selected message being quoted,
when opening the composebox, particularly to address
this odd ">" hotkey behavior.

This is applicable only when the composebox is
closed and there is no other focused textarea
we trying to quote into.

Also, in case of selecting multiple messages,
we only quote the entire message that is
under the pointer and the recipients will be set
to this message's recipients.

Fixes: #36989.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2026-01-08 10:43:06 -08:00
..
lib buddy_list: Introduce background_task for non awaited code. 2026-01-07 15:36:03 -08:00
templates popovers: Add hotkey hints support via a new handlebar template. 2024-04-11 15:57:24 -07:00
activity_init.test.cjs activity tests: Improve actual coverage. 2026-01-05 16:50:33 -08:00
activity_post.test.cjs activity tests: Improve actual coverage. 2026-01-05 16:50:33 -08:00
activity_ui.test.cjs buddy list: Extract buddy_list_presence module. 2026-01-05 16:50:33 -08:00
activity.test.cjs buddy_list: Introduce background_task for non awaited code. 2026-01-07 15:36:03 -08:00
alert_words_ui.test.cjs alert_words: Update label in the alert words removal status banner. 2025-04-25 12:26:02 -07:00
alert_words.test.cjs people: Remove is_current_user legacy helper. 2025-03-05 15:56:57 -08:00
background_task.test.cjs buddy_list: Introduce background_task for non awaited code. 2026-01-07 15:36:03 -08:00
blueslip_stacktrace.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
bot_data.test.cjs bot_settings: Add tabbed view for showing all and your bots. 2025-11-11 16:17:27 -08:00
browser_history.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
buddy_data.test.cjs buddy list: Show status-text in tooltips only if not already visible. 2025-11-18 09:27:56 -08:00
buddy_list.test.cjs buddy_list: Introduce background_task for non awaited code. 2026-01-07 15:36:03 -08:00
channel_folders.test.cjs stream-settings: Allow filtering streams by folder. 2026-01-06 15:41:07 -08:00
channel.test.cjs channel: Remove PATCH as POST workaround. 2025-05-05 12:13:00 -07:00
clipboard_handler.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
color_data.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
common.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
components.test.cjs components: Open tab when pressing "Enter" on a focussed tab. 2026-01-06 12:48:46 -08:00
compose_actions.test.cjs compose: Fix incorrect recipient logic for quote-reply. 2026-01-08 10:43:06 -08:00
compose_closed_ui.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
compose_fade.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
compose_paste.test.cjs compose_paste: Add turndown rule for divs to avoid extra newlines. 2025-12-09 11:46:29 -08:00
compose_pm_pill.test.cjs pills: Add function to update user's active status in PM compose. 2026-01-07 15:54:04 -08:00
compose_state.test.cjs compose_state: Separate private message get/set functions. 2026-01-06 15:52:54 -08:00
compose_ui.test.cjs compose_ui: Add shortcut for code spans. 2025-12-01 09:12:43 -08:00
compose_validate.test.cjs peer_data: Fix data fetches to handle errors more specifically. 2026-01-05 11:43:41 -08:00
compose_video.test.cjs compose_setup: Convert module to typescript. 2025-10-03 18:21:16 -07:00
compose.test.cjs reload: Remove event listeners to handle reload logic for compose. 2026-01-02 07:55:04 -08:00
composebox_typeahead.test.cjs emoji_picker: Add a "Frequently used" section in the emoji selector. 2025-12-17 10:51:51 -08:00
conversation_participants.test.cjs people: Optimize is_person_active. 2025-06-06 10:53:03 -07:00
demo_organizations.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
deprecated_feature_notice.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
direct_message_group_data.test.cjs node tests: Move direct_message_group_data test. 2026-01-05 16:50:33 -08:00
dispatch_subs.test.cjs message_actions: Add "Report message" action and settings UI. 2025-11-05 11:20:32 -08:00
dispatch.test.cjs node_tests: Remove unused giphy.ts esm mock. 2026-01-05 18:33:20 -08:00
drafts.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
echo.test.cjs eslint: Fix unicorn/no-immediate-mutation. 2025-11-01 07:24:57 -07:00
electron_bridge.test.cjs node tests: Move electron_bridge test. 2026-01-05 16:50:33 -08:00
emoji_picker.test.cjs emoji_picker: Improve algorithm for frequently used emojis. 2026-01-06 16:53:52 -08:00
emoji.test.cjs emoji: Remap ':smile' emoji and update the settings UI. 2025-04-07 17:34:52 -07:00
example1.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
example2.test.cjs message: Create new LocalMessage to fix type of transmit.send_message. 2025-10-01 16:38:55 -07:00
example3.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
example4.test.cjs settings_account: Add options for users to change their own role. 2025-12-09 22:34:34 -08:00
example5.test.cjs message: Create new LocalMessage to fix type of transmit.send_message. 2025-10-01 16:38:55 -07:00
example6.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
example7.test.cjs message: Create new LocalMessage to fix type of transmit.send_message. 2025-10-01 16:38:55 -07:00
example8.test.cjs tests: Add library function to create message lists. 2025-06-19 10:50:21 -07:00
fenced_code.test.cjs shared: Move fenced_code.ts to web/src. 2025-11-11 09:06:18 -08:00
fetch_status.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
filter.test.cjs filter: Use convert_suggestion_to_term to validate suggestions. 2026-01-07 10:28:31 -08:00
fold_dict.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
gear_menu_util.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
hash_util.test.cjs hash_util: Add get_link_hash. 2025-12-25 19:12:44 -08:00
hashchange.test.cjs hash_util: Canonicalize operator before processing. 2025-12-03 11:31:21 -08:00
hotkey.test.cjs keyboard: Add shortcut to open set status modal. 2026-01-05 11:25:31 -08:00
i18n.test.cjs muted_users: Introduce a "Hide" button for revealed messages. 2025-12-12 11:53:55 -08:00
input_pill.test.cjs pills: Add updatePill and getPillByPredicate methods. 2026-01-07 15:54:04 -08:00
internal_url.test.cjs shared: Move internal_url.ts to web/src. 2025-11-11 09:06:18 -08:00
keydown_util.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
lazy_set.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
left_sidebar_navigation_area.test.cjs channel_folders: Fix remaining test TODOs. 2025-09-25 17:31:21 -07:00
linkifiers.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
list_cursor.test.cjs channel_folders: Fix remaining test TODOs. 2025-09-25 17:31:21 -07:00
list_widget.test.cjs eslint: Fix unicorn/no-immediate-mutation. 2025-11-01 07:24:57 -07:00
markdown_parse.test.cjs eslint: Fix unicorn/no-immediate-mutation. 2025-11-01 07:24:57 -07:00
markdown.test.cjs shared: Move fenced_code.ts to web/src. 2025-11-11 09:06:18 -08:00
message_delete.test.cjs eslint: Fix unicorn/no-useless-collection-argument. 2025-11-01 07:24:57 -07:00
message_edit.test.cjs message: Make sure submessages is always defined. 2025-09-09 09:20:40 -07:00
message_events.test.cjs eslint: Fix unicorn/no-immediate-mutation. 2025-11-01 07:24:57 -07:00
message_flags.test.cjs web: Add parameters to API requests for empty topic name support. 2025-01-10 14:32:55 -08:00
message_list_data.test.cjs filter: Use excludes_muted_users similar to excludes_muted_topics. 2026-01-06 12:38:34 -08:00
message_list_view.test.cjs messages: Add muted user avatar and user name. 2025-12-04 13:08:03 -08:00
message_list.test.cjs message-view: Fix banner/bookend for private channel no content access. 2025-11-02 11:35:53 -08:00
message_store.test.cjs message_store: Remove extra properties when reifying a local message. 2025-11-24 10:34:11 -08:00
message_view.test.cjs hash_util: Canonicalize operator before processing. 2025-12-03 11:31:21 -08:00
muted_users.test.cjs eslint: Fix unicorn/no-array-sort. 2025-10-07 22:42:50 -07:00
narrow_local.test.cjs message_list_data: Rename all_messages function. 2025-12-08 11:18:20 -08:00
narrow_state.test.cjs filter: Return NarrowTerm instead of just operand. 2025-12-03 11:31:21 -08:00
narrow_unread.test.cjs filter: Only allow specific string values as operator. 2025-11-07 16:20:49 -08:00
navbar_alerts.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
navigation_views.test.cjs left_sidebar: Refactor to support user's navigation view preference. 2025-08-04 18:33:36 -07:00
notifications.test.cjs notifications: Avoid potential collisions in notification keys. 2025-11-25 09:53:37 -08:00
password.test.cjs eslint: Fix unicorn/no-immediate-mutation. 2025-11-01 07:24:57 -07:00
peer_data.test.cjs peer_data: Fix data fetches to handle errors more specifically. 2026-01-05 11:43:41 -08:00
people_errors.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
people.test.cjs tests: Use async/await for people test. 2025-12-30 09:29:21 -08:00
pill_typeahead.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
pm_conversations.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
pm_list_data.test.cjs pm_list: Hide conversations with deactivated users by default. 2025-11-24 09:35:07 -08:00
pm_list.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
poll_widget.test.cjs shared: Move poll_widget.ts to web/src. 2025-11-11 09:06:18 -08:00
popover_menus_data.test.cjs muted_users: Introduce a "Hide" button for revealed messages. 2025-12-12 11:53:55 -08:00
postprocess_content.test.cjs markdown: Place standalone inline images into galleries. 2025-11-26 15:24:42 -08:00
presence.test.cjs node tests: Improve/move sort_users test. 2026-01-05 16:50:33 -08:00
reactions.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
realm_playground.test.cjs typeahead: Replace code block language hint text with more clear options 2025-05-01 16:36:20 -07:00
recent_senders.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
recent_view.test.cjs hash_util: Move channel topic permalink to stream_topic_history. 2025-12-25 19:12:44 -08:00
reload_state.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
reload.test.cjs reload: Remove event listeners to handle reload logic for compose. 2026-01-02 07:55:04 -08:00
rendered_markdown.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
resolved_topic.test.cjs shared: Move resolved_topic.ts to web/src. 2025-11-11 09:06:18 -08:00
rtl.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
saved_snippets.test.cjs dropdown-widget: Pass aria-label for icon buttons in options. 2025-08-04 13:22:11 -07:00
scheduled_messages.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
scroll_util.test.cjs scroll_util: Account for $elem not direct child of scroll container. 2025-01-23 15:53:09 -08:00
search_suggestion.test.cjs search: Refactor to calculate description from single point of entry. 2026-01-05 11:47:40 -08:00
search.test.cjs search_pill: Force use of NarrowCanonicalTerm type. 2026-01-07 10:28:31 -08:00
server_events.test.cjs message: Differentiate between new local messages and server messages. 2025-10-01 16:38:55 -07:00
settings_bots.test.cjs bot-settings: Create bot_helper for bot settings. 2025-11-11 16:17:27 -08:00
settings_config.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
settings_data.test.cjs eslint: Fix unicorn/no-useless-collection-argument. 2025-11-01 07:24:57 -07:00
settings_emoji.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
settings_muted_users.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
settings_org.test.cjs stream-settings: Add permissions tab for stream settings. 2025-11-26 11:46:26 -08:00
settings_profile_fields.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
settings_realm_domains.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
settings_user_topics.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
spoilers.test.cjs tests: Remove unusual ‘this’ usage. 2025-02-26 16:20:47 -08:00
starred_messages.test.cjs message: Create new LocalMessage to fix type of transmit.send_message. 2025-10-01 16:38:55 -07:00
stream_create_subscribers_data.test.cjs stream: Allow non-admins to create channel without subscribing to it. 2025-01-29 12:36:10 -08:00
stream_data.test.cjs stream-settings: Add pending checks to can_access_stream_email. 2026-01-06 11:20:00 -08:00
stream_edit.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
stream_events.test.cjs stream-settings: Disable privacy element and topic creation setting. 2025-12-12 16:28:06 -08:00
stream_list_sort.test.cjs stream_list: Prioritize uncollapsed folders with n key. 2025-12-09 10:02:44 -08:00
stream_list.test.cjs stream_list: Maybe hide topic bracket after updating stream list. 2025-12-17 10:14:18 -08:00
stream_pill.test.cjs eslint: Fix unicorn/no-useless-collection-argument. 2025-11-01 07:24:57 -07:00
stream_settings_ui.test.cjs stream-settings: Allow filtering streams by folder. 2026-01-06 15:41:07 -08:00
stream_topic_history.test.cjs message: Create new LocalMessage to fix type of transmit.send_message. 2025-10-01 16:38:55 -07:00
submessage.test.cjs message: Make sure submessages is always defined. 2025-09-09 09:20:40 -07:00
support.test.cjs eslint: Fix unicorn/no-immediate-mutation. 2025-11-01 07:24:57 -07:00
templates.test.cjs compose: Use an icon for the mac command hotkey hint. 2025-01-06 11:29:38 -08:00
timerender.test.cjs time_zone_util: Replace with @date-fns/tz. 2025-11-24 14:47:02 -08:00
topic_generator.test.cjs tests: Rewrite topic navigation tests to handle channel folders. 2026-01-05 11:16:32 -08:00
topic_link_util.test.cjs topic_link_util: Add get_topic_link_content_with_stream_id. 2025-11-18 22:58:28 -08:00
topic_list_data.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
topic_list.test.cjs peer_data: Store subscriber counts off of the sub object. 2025-09-30 12:52:47 -07:00
transmit.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
typeahead_helper.test.cjs eslint: Fix unicorn/no-useless-collection-argument. 2025-11-01 07:24:57 -07:00
typeahead.test.cjs emoji_picker: Add a "Frequently used" section in the emoji selector. 2025-12-17 10:51:51 -08:00
typing_data.test.cjs message_edit: Show typing indicator for message editing. 2025-02-12 15:08:56 -08:00
typing_events.test.cjs tests: Use make_realm to create type-correct realm objects. 2025-08-28 11:35:07 -07:00
typing_status.test.cjs shared: Move typing_status.ts to web/src. 2025-11-11 09:06:18 -08:00
ui_util.test.cjs notifications: Render emoji in desktop notifications. 2025-02-23 10:57:09 -08:00
unread_ops.test.cjs modal: Add options for marking messages as read. 2025-07-10 17:57:25 -07:00
unread.test.cjs unread: Don't include archived channels in unread data. 2025-11-25 21:02:21 -08:00
upload.test.cjs compose_validate: Rename function to avoid confusion. 2025-11-04 17:10:10 -08:00
user_events.test.cjs user: Update pills and pm_list on deactivation. 2026-01-07 15:54:04 -08:00
user_group_pill.test.cjs people: Optimize is_person_active. 2025-06-06 10:53:03 -07:00
user_groups.test.cjs tests: Sync server_supported_permission_settings in example_settings. 2025-12-10 09:48:03 -08:00
user_pill.test.cjs pills: Add deactivated status when appending. 2026-01-07 15:54:04 -08:00
user_search.test.cjs peer_data: Fix data fetches to handle errors more specifically. 2026-01-05 11:43:41 -08:00
user_status.test.cjs web: Switch to Zod mini API. 2025-07-21 16:40:17 -07:00
user_topics_ui.test.cjs stream_data: Rename add_sub to add_sub_for_tests. 2025-09-30 12:52:47 -07:00
user_topics.test.cjs eslint: Fix unicorn/no-array-sort. 2025-10-07 22:42:50 -07:00
util.test.cjs activity tests: Improve actual coverage. 2026-01-05 16:50:33 -08:00
vdom.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
watchdog.test.cjs watchdog: Use Page Lifecycle API for unsuspend. 2026-01-06 09:17:31 -08:00
widgetize.test.cjs blueslip: Require record for more_info. 2025-01-02 17:30:40 -08:00
zblueslip.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00
zjquery.test.cjs tests: Rename the Node tests to *.cjs. 2024-11-13 09:18:56 -08:00