zulip/web/tests
Tim Abbott 4e2a282a1b 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:03:30 -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_ui.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
alert_words.test.js
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_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
compose.test.js refactor: Initialise state variables to undefined instead of false. 2024-01-14 18:11:26 -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_subs.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
dispatch.test.js settings: Rename settings_display to settings_preferences. 2024-01-12 15:33:16 -08:00
drafts.test.js refactor: Initialise state variables to undefined instead of false. 2024-01-14 18:11:26 -08:00
echo.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
emoji_picker.test.js emoji: Fallback to Google Modern for unsupported new Twitter emoji. 2023-11-28 23:46:49 -08:00
emoji.test.js ts: Convert emoji.js to TypeScript. 2023-04-05 10:29:01 -07: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 refactor: Extract message_feed_loading module from message_scroll. 2023-05-14 11:24:31 -07:00
filter.test.js filter: Use Intl.ListFormat rather than .join(", "). 2024-01-17 13:43:17 -08:00
fold_dict.test.js eslint: Fix unicorn/prefer-spread. 2023-03-02 12:16:56 -08:00
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_parse.test.js Revert "linkifiers: Match JS implementation to server implementation." 2023-11-16 14:59:48 -08:00
markdown.test.js pygments_data: Move data to typescript. 2024-01-24 17:06:03 -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_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_list.test.js filter: Remove incorrect check for All messages view. 2024-01-15 12:26:24 -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 i18n: Localize date and time displays across the app. 2023-02-26 17:43:47 -08:00
narrow_activate.test.js narrow: Open compose box before rendering main message feed. 2024-02-01 12:03:30 -08:00
narrow_local.test.js message_list: Extract visibly_empty helper method. 2023-05-03 18:40:59 -07:00
narrow_state.test.js filter: Remove incorrect check for All messages view. 2024-01-15 12:26:24 -08:00
narrow_unread.test.js narrow: Add frontend support for dm: narrow and /dm/... URL. 2023-04-25 09:07:08 -07:00
narrow.test.js refactor: Initialise state variables to undefined instead of false. 2024-01-14 18:11:26 -08:00
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_errors.test.js people: Remove string type for user_id. 2024-01-19 17:54:07 -08:00
people.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 node-tests: Update references to "private message" and "PM". 2023-06-26 11:07:28 -07:00
pm_list_data.test.js emoji: Remove number as possible type for emoji_code. 2024-01-28 14:17:15 -08:00
pm_list.test.js pm_list: Remove not needed narrow_state mock. 2024-01-18 08:31:48 -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_state.test.js
reload.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
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 refactor: Move simplebar helper functions from ui to scroll_util. 2023-04-26 12:59:08 -07:00
search_suggestion.test.js filter: Use terms instead of operands. 2024-01-02 16:24:53 -08:00
search.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_sort.test.js refactor: Rename stream_sort.js to stream_list_sort.js. 2023-04-25 10:05:59 -07:00
stream_list.test.js unread: Use some clearer variable names. 2023-12-17 10:14:11 -08:00
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_helper.test.js typeahead: Prefer word boundary matches to arbitrary substring matches. 2024-01-29 17:24:11 -08:00
typeahead.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