zulip/web/tests
Tim Abbott 8b8ab7fb9c 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.

(cherry picked from commit 4e2a282a1b)
2024-02-16 12:28:16 -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. 2024-01-05 10:32:54 -05: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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_closed_ui.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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-22 18:19:09 -08:00
compose_validate.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
composebox_typeahead.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
copy_and_paste.test.js compose: Fix bug where extra line breaks were pasted between blocks. 2023-11-17 08:55:55 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
drafts.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 top_navbar: Match navbar icons to left sidebar navigation. 2023-11-17 17:28:54 -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 stream settings: Include section for right panel in the URL. 2023-11-20 15:32:29 -08:00
hashchange.test.js settings: Rename default_view and escape_navigates_to_default_view. 2023-10-26 11:00:12 -07:00
hotkey.test.js hotkey: Fix emoji popover not triggered in a narrow width range. 2023-11-21 20:56:31 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 left_sidebar: Grid 'Back to streams' with unread count. 2023-11-21 09:16:43 -08:00
lightbox.test.js lightbox: Replace image with media. 2023-10-02 22:39:02 -07: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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51: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 markdown: Do not show mention pills for inaccessible users. 2023-12-07 19:34:07 -08:00
message_edit.test.js messages: Add support to allow bot-owners to delete messages. 2023-10-12 12:13:39 -07: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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 refactor: Rename is_search to is_keyword_search for clarity. 2023-11-13 08:09:03 -08:00
message_list_view.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
message_list.test.js narrow_state: Rename stream() to stream_name() which is more accurate. 2023-08-07 17:08:59 -07:00
message_store.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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-16 12:28:16 -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 narrow_state: Add stream_id() function. 2023-10-10 17:36:55 -07: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 compose: Add banner to go to conversation when replying in search view. 2023-11-28 16:55:05 -08:00
navbar_alerts.test.js notifications: Rename to desktop_notifications. 2023-10-06 16:22:40 -07:00
notifications.test.js desktop_notification: Fix bad rendering of math formulas. 2023-11-26 23:30:24 -08:00
password.test.js
peer_data.test.js peer_data: Remove over defensive assert_number function. 2023-07-17 10:37:29 -07:00
people_errors.test.js users: Do not pass unknown users data for webapp. 2023-12-07 19:34:07 -08:00
people.test.js tests: Fix “inaccesible” typo. 2023-12-12 12:13:51 -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 node-tests: Update references to "private message" and "PM". 2023-06-26 11:07:28 -07:00
pm_list.test.js left_sidebar: Use DM identifiers on DM containers. 2023-10-30 10:14:28 -07:00
poll_widget.test.js
popover_menus_data.test.js compose: Migrate empty_topic_placeholder to compose_state. 2023-10-02 17:45:27 -07:00
presence.test.js presence: Do not raise blueslip error for presence data of unknown user. 2023-11-29 12:01:37 -08:00
reactions.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
realm_playground.test.js requirements: Upgrade Python requirements. 2023-12-01 18:52:00 -08:00
recent_senders.test.js typeahead: Show @-topic typeahead whenever it might be possible to use. 2023-11-28 09:24:18 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 ts: Migrate bot_data.js to TypeScript. 2023-08-14 16:06:15 -07: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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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 support: Fix scrubbing realms if string_id is a number. 2023-03-27 10:07:41 -07: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 timerender: Use an explicit time zone for all rendering. 2023-11-28 16:54:00 -08:00
topic_generator.test.js hotkey: Fix go to unread unmuted or followed topic in muted stream. 2023-12-11 22:32:56 -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 topic_mentions: Add @topic mention typeahead. 2023-11-13 09:07:36 -08:00
typeahead.test.js sort_emojis: Prioritize perfect matches above all. 2023-11-14 12:13:22 -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
unread.test.js settings: Add option for followed topics to unread count badge setting. 2023-11-17 14:07:20 -08:00
upload.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -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-05 10:32:54 -05: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 topic_mentions: Fix the incorrect large @-mention notification warning. 2023-11-21 09:20:56 -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 widgetize: Move widget registration to new widgets module. 2023-10-06 13:17:51 -07:00
zblueslip.test.js
zjquery.test.js