zulip/web/tests
Tim Abbott 7d4ec1f93b narrow: Open compose box before rendering main message feed.
As discussed in the new comments, we had a bug where the
system-initiated animated scroll that happens when the compose box
opens as a result of narrowing would race with the internal
rerendering that occurs when the message_fetch request asking the
server for additional data returns.

The correct fix for this is just to open the compose box, if we're
going to do so, before setting the user's scroll position in the
narrowing/rendering process.

This ends up being a UI improvement (in that the compose box is
available for typing a bit earlier) as well as avoiding both the risk
of this race as well as the bad UX of adjusting the user's scroll
position multiple times as part of entering the view.

This does not address an as-yet-unknown bug wherein the animated
scroll that occurs when opening the compose box, when racing with a
background rerender, results in a bogus ending scroll position, though
it's easy to see how that might occur given that rerendering does
clear the DOM briefly.
2024-02-01 12:27:46 -08:00
..
lib node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
templates
activity.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
alert_words.test.js
alert_words_ui.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
blueslip_stacktrace.test.js
bot_data.test.js models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
browser_history.test.js settings: Rename default_view and escape_navigates_to_default_view. 2023-10-26 11:00:12 -07:00
buddy_data.test.js ts: Migrate `user_status` module to TypeScript. 2023-10-30 11:10:47 -07:00
buddy_list.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
channel.test.js ui_report: Reuse `channel.xhr_error_message` function in `error` method. 2023-08-31 13:47:16 -07:00
color_data.test.js
common.test.js hotkey: Correct Mac equivalent of Alt and handle exceptions separately. 2024-01-25 10:51:25 -08:00
components.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose.test.js markdown: Remove wrapper around get_topic_links. 2024-02-01 12:12:06 -08:00
compose_actions.test.js refactor: Initialise state variables to undefined instead of false. 2024-01-14 18:11:26 -08:00
compose_closed_ui.test.js filter: Remove incorrect check for `All messages` view. 2024-01-15 12:26:24 -08:00
compose_fade.test.js compose_state: Make get_or_set accept a full selector. 2023-11-02 14:06:04 -07:00
compose_pm_pill.test.js users: Add "(guest)" to names for guest users. 2023-10-12 12:06:10 -07:00
compose_state.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_ui.test.js compose: Revamp and improve test suite for compose formatting buttons. 2024-01-12 15:48:53 -08:00
compose_validate.test.js compose: Fix duplicate warning banners for the same private stream. 2024-01-09 10:44:43 -08:00
compose_video.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
composebox_typeahead.test.js typeahead: Prefer word boundary matches to arbitrary substring matches. 2024-01-29 17:24:11 -08:00
copy_and_paste.test.js turndown: Paste single line of code as inline code in markdown. 2024-01-14 15:36:38 -08:00
deprecated_feature_notice.test.js
dispatch.test.js settings: Rename settings_display to settings_preferences. 2024-01-12 15:33:16 -08:00
dispatch_subs.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
drafts.test.js markdown: Don't mutate the message in apply_markdown/render. 2024-02-01 12:12:06 -08:00
echo.test.js markdown: Remove wrapper around get_topic_links. 2024-02-01 12:12:06 -08:00
emoji.test.js
emoji_picker.test.js emoji: Fallback to Google Modern for unsupported new Twitter emoji. 2023-11-28 23:46:49 -08:00
example1.test.js docs: Add missing spaces around code spans. 2023-12-14 00:05:44 -08:00
example2.test.js
example3.test.js narrow_state: Rename stream() to stream_name() which is more accurate. 2023-08-07 17:08:59 -07:00
example4.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example5.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example6.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example7.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example8.test.js typing_events: Do not show typing notifications for inaccessible users. 2023-12-07 19:34:07 -08:00
fenced_code.test.js
fetch_status.test.js
filter.test.js filter: Use Intl.ListFormat rather than .join(", "). 2024-01-17 13:43:17 -08:00
fold_dict.test.js
gear_menu_util.test.js gear_menu: Extract version_display_string into a util library. 2023-10-18 22:02:38 -07:00
hash_util.test.js notifications: Collapse blockquotes and "user said" paragraphs. 2024-01-30 17:22:20 -08:00
hashchange.test.js filter: Use terms instead of operands. 2024-01-02 16:24:53 -08:00
hotkey.test.js hotkey: Introduce hotkey Alt+P to toggle preview for compose box. 2024-01-25 10:51:25 -08:00
i18n.test.js settings: Add "Automatically follow topics where I'm mentioned" setting. 2023-12-11 23:26:11 -08:00
input_pill.test.js emoji: Remove number as possible type for emoji_code. 2024-01-28 14:17:15 -08:00
internal_url.test.js
keydown_util.test.js
lazy_set.test.js lazy set: Increase code coverage. 2023-10-31 16:06:07 -07:00
left_sidebar_navigation_area.test.js filter: Remove incorrect check for `All messages` view. 2024-01-15 12:26:24 -08:00
lightbox.test.js lightbox: Use rows module to query message_row elements. 2024-01-18 08:31:48 -08:00
linkifiers.test.js Revert "linkifiers: Match JS implementation to server implementation." 2023-11-16 14:59:48 -08:00
list_cursor.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
list_widget.test.js list_widget: Remove get. 2023-12-26 17:30:33 -08:00
markdown.test.js markdown: Remove wrapper around get_topic_links. 2024-02-01 12:12:06 -08:00
markdown_parse.test.js markdown: Remove wrapper around get_topic_links. 2024-02-01 12:12:06 -08:00
message_edit.test.js tests: Fix incorrect reference to page_params.sent_by_me. 2024-01-01 17:37:50 -08:00
message_events.test.js topic_mentions: Rename wildcard_mentioned to stream_wildcard_mentioned. 2023-11-10 11:06:26 -08:00
message_fetch.test.js narrow: Use message list id to track message lists in DOM. 2024-01-18 08:31:48 -08:00
message_flags.test.js js: Rename top_left_corner.js to left_sidebar_navigation_area.js. 2023-07-24 13:02:28 -07:00
message_list.test.js filter: Remove incorrect check for `All messages` view. 2024-01-15 12:26:24 -08:00
message_list_data.test.js filter: Remove incorrect check for `All messages` view. 2024-01-15 12:26:24 -08:00
message_list_view.test.js narrow: Use message list id to track message lists in DOM. 2024-01-18 08:31:48 -08:00
message_store.test.js message_store: Only allow number for message_id. 2024-01-19 17:54:07 -08:00
muted_users.test.js
narrow.test.js refactor: Initialise state variables to undefined instead of false. 2024-01-14 18:11:26 -08:00
narrow_activate.test.js narrow: Open compose box before rendering main message feed. 2024-02-01 12:27:46 -08:00
narrow_local.test.js
narrow_state.test.js filter: Remove incorrect check for `All messages` view. 2024-01-15 12:26:24 -08:00
narrow_unread.test.js
navbar_alerts.test.js notifications: Rename to desktop_notifications. 2023-10-06 16:22:40 -07:00
notifications.test.js notifications: Collapse blockquotes and "user said" paragraphs. 2024-01-30 17:22:20 -08:00
password.test.js
peer_data.test.js stream_data: Avoid undefined return from is_user_subscribed. 2023-12-23 15:36:05 -08:00
people.test.js people: Remove string type for user_id. 2024-01-19 17:54:07 -08:00
people_errors.test.js people: Remove string type for user_id. 2024-01-19 17:54:07 -08:00
pill_typeahead.test.js settings: Remove "User groups" panel from settings overlay. 2023-12-07 06:35:38 -08:00
pm_conversations.test.js
pm_list.test.js pm_list: Remove not needed narrow_state mock. 2024-01-18 08:31:48 -08:00
pm_list_data.test.js emoji: Remove number as possible type for emoji_code. 2024-01-28 14:17:15 -08:00
poll_widget.test.js
popover_menus_data.test.js actions_popover: Remove unused parameter `narrowed`. 2024-01-18 08:31:48 -08:00
presence.test.js presence: Remove paranoid handling of falsy timestamps. 2023-12-23 15:36:05 -08:00
reactions.test.js reactions: Remove view namespace. 2024-01-28 14:17:15 -08:00
realm_playground.test.js pygments_data: Move data to typescript. 2024-01-24 17:06:03 -08:00
recent_senders.test.js message_util: Convert module to typescript. 2024-01-05 10:47:12 -08:00
recent_view.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
reload.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
reload_state.test.js
rendered_markdown.test.js rendered markdown: Assert data-user-group-id is always defined. 2024-01-19 17:54:07 -08:00
resolved_topic.test.js
rtl.test.js
scheduled_messages.test.js compose_banner: Display time for messages with < 5 mins scheduled time. 2023-11-10 09:20:15 -08:00
scroll_util.test.js
search.test.js filter: Use terms instead of operands. 2024-01-02 16:24:53 -08:00
search_suggestion.test.js filter: Use terms instead of operands. 2024-01-02 16:24:53 -08:00
server_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_bots.test.js settings: Do not use bootstrap tabs in bots panel. 2024-01-25 14:28:48 -08:00
settings_config.test.js notification_settings: Add tooltip to checkboxes in the triggers table. 2023-12-04 16:38:19 -08:00
settings_data.test.js users: Do not pass unknown users data for webapp. 2023-12-07 19:34:07 -08:00
settings_emoji.test.js
settings_muted_users.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_org.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_profile_fields.test.js settings_profile_fields: Fix early read of page_params. 2024-01-01 17:39:10 -08:00
settings_realm_domains.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_user_topics.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
spoilers.test.js rendered_markdown: Convert module to typescript. 2024-01-19 17:54:07 -08:00
starred_messages.test.js js: Rename top_left_corner.js to left_sidebar_navigation_area.js. 2023-07-24 13:02:28 -07:00
stream_create_subscribers_data.test.js
stream_data.test.js streams: Add API endpoint to get stream email. 2023-11-16 13:25:33 -05:00
stream_edit.test.js
stream_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_list.test.js unread: Use some clearer variable names. 2023-12-17 10:14:11 -08:00
stream_list_sort.test.js
stream_pill.test.js
stream_search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_settings_ui.test.js hash_util: Extract hash_parser.ts. 2023-10-01 16:55:21 -07:00
stream_topic_history.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
submessage.test.js
support.test.js templates: Move support templates to /templates/corporate/support. 2024-01-30 10:06:48 -08:00
templates.test.js
time_zone_util.test.js time_zone_util: Avoid relying on timeZoneName: "longOffset". 2023-11-29 09:57:10 -08:00
timerender.test.js refactor: Don't use today arg from render_now in timerender tests. 2024-01-18 08:32:30 -08:00
topic_generator.test.js topic_generator: Convert module to typescript. 2024-01-28 14:20:45 -08:00
topic_list_data.test.js topic_list: Update the order of "Followed" topics in the muted stream. 2023-09-11 17:55:37 -07:00
transmit.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
typeahead.test.js typeahead: Prefer word boundary matches to arbitrary substring matches. 2024-01-29 17:24:11 -08:00
typeahead_helper.test.js typeahead: Prefer word boundary matches to arbitrary substring matches. 2024-01-29 17:24:11 -08:00
typing_data.test.js muted_users: Hide muted typists in streams. 2023-10-10 17:36:55 -07:00
typing_events.test.js typing_events: Do not show typing notifications for inaccessible users. 2023-12-07 19:34:07 -08:00
typing_status.test.js typing_notifications: Send ajax requests for stream typing too. 2023-10-10 17:36:55 -07:00
ui_util.test.js notifications: Collapse blockquotes and "user said" paragraphs. 2024-01-30 17:22:20 -08:00
unread.test.js unread: Return consistent data structure in unread_count_info_for_stream. 2023-12-22 16:18:50 -08:00
upload.test.js narrow: Use message list id to track message lists in DOM. 2024-01-18 08:31:48 -08:00
user_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
user_group_pill.test.js user_group_pill: Add test coverage for `append_user_group`. 2023-07-17 10:38:24 -07:00
user_groups.test.js user_groups: Fix live-update of data when renaming groups. 2023-12-10 15:20:07 -08:00
user_pill.test.js user_pill: Add support to not allow adding inaccessible users manually. 2024-01-03 11:04:35 -08:00
user_search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
user_status.test.js ts: Migrate `user_status` module to TypeScript. 2023-10-30 11:10:47 -07:00
user_topics.test.js user_topics: Pop `user_topics` from `page_params`. 2023-09-11 10:57:38 -07:00
util.test.js util: Defining common formatter function 2024-01-17 13:43:17 -08:00
vdom.test.js left_sidebar: Use dm-list class. 2023-10-30 10:14:28 -07:00
watchdog.test.js watchdog: Handle exception in `callback`. 2023-11-19 15:04:58 -08:00
widgetize.test.js narrow: Use message list id to track message lists in DOM. 2024-01-18 08:31:48 -08:00
zblueslip.test.js
zjquery.test.js