discourse/plugins/chat/spec/system
Joffrey JAFFEUX 2d567cee26
FEATURE: thread pagination (#22624)
Prior to this commit we were loading a large number of thread messages without any pagination. This commit attempts to fix this and also improves the following points:

- code sharing between channels and threads:
Attempts to reuse/share the code use in channels for threads. To make it possible part of this code has been extracted in dedicated helpers or has been improved to reduce the duplication needed.

Examples of extracted helpers:
- `stackingContextFix`: the ios hack for rendering bug when momentum scrolling is interrupted
- `scrollListToMessage`, `scrollListToTop`, `scrollListToBottom`:  a series of helper to correctly scroll to a specific position in the list of messages

- better general performance of listing messages:
One of the main changes which has been made is to remove the computation of visible message during scroll, it will only happen when needed (update last read for example). This constant recomputation of `message.visible` on intersection observer event while scrolling was consuming a lot of CPU time.
2023-07-27 09:57:03 +02:00
..
admin DEV: make sure we don't load all data into memory when exporting chat messages (#22276) 2023-07-12 18:52:18 +04:00
chat/composer DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
chat_message FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
list_channels FEATURE: new jump to channel menu (#22383) 2023-07-05 18:18:27 +02:00
page_objects FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
reply_to_message FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
select_message FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
shortcuts DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
thread_list FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
thread_tracking DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
user_menu_notifications DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
user_status FEATURE: Use rich user status tooltip everywhere (#21125) 2023-07-03 11:09:41 -03:00
anonymous_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
archive_channel_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
bookmark_message_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
browse_page_spec.rb FEATURE: enable_public_channels site setting (#22565) 2023-07-13 10:00:25 +02:00
channel_about_page_spec.rb DEV: makes chat modals use the new <DModal /> component (#22495) 2023-07-10 13:43:33 +02:00
channel_info_pages_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
channel_members_page_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
channel_message_upload_spec.rb DEV: Refactor a little chat uploads 2023-07-24 11:13:57 +02:00
channel_settings_page_spec.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
channel_thread_message_echoing_spec.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
chat_channel_spec.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
chat_composer_draft_spec.rb FIX: Render excerpt HTML for chat replies and edit (#22559) 2023-07-13 09:44:56 +10:00
chat_composer_spec.rb DEV: Ensure browser network conditions is reset in system tests (#22404) 2023-07-04 13:22:58 +08:00
chat_message_onebox_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
chat_summarization_spec.rb DEV: makes chat modals use the new <DModal /> component (#22495) 2023-07-10 13:43:33 +02:00
closed_channel_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
create_channel_spec.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
dates_separators_spec.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
deleted_channel_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
deleted_message_spec.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
document_title_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
drawer_spec.rb DEV: prevents message actions to hide drawer's header (#22448) 2023-07-06 07:33:39 +08:00
edited_message_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
flag_message_spec.rb FIX: direct message channels can be flagged (#22134) 2023-06-16 11:04:59 +10:00
hashtag_autocomplete_spec.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
jit_messages_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
kick_user_from_channel_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
mention_warnings_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
message_errors_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
message_notifications_mobile_spec.rb FIX: Show mention count for channel list on mobile (#22682) 2023-07-19 16:24:01 +10:00
message_notifications_with_sidebar_spec.rb FIX: correctly makes dm creator to follow channel (#22470) 2023-07-06 21:42:19 +02:00
message_thread_indicator_spec.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
message_user_info.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
move_message_to_channel_spec.rb DEV: makes chat modals use the new <DModal /> component (#22495) 2023-07-10 13:43:33 +02:00
navigation_spec.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
new_message_spec.rb FEATURE: enable_public_channels site setting (#22565) 2023-07-13 10:00:25 +02:00
react_to_message_spec.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
read_only_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
removing_channel_spec.rb FIX: redirects to browse after removing last followed (#22563) 2023-07-14 08:26:18 +02:00
restore_message_spec.rb FIX: prevents user to restore message deleted by staff (#22571) 2023-07-13 10:16:15 +02:00
reviewables_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
send_message_spec.rb FIX: correctly makes dm creator to follow channel (#22470) 2023-07-06 21:42:19 +02:00
sidebar_navigation_menu_spec.rb UX: Remove section heading for community section (#22405) 2023-07-11 09:40:37 +08:00
sidebars_spec.rb FEATURE: enable_public_channels site setting (#22565) 2023-07-13 10:00:25 +02:00
silenced_user_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
single_thread_spec.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
transcript_spec.rb DEV: Fix or remove flaky chat specs (#22406) 2023-07-04 16:23:04 +10:00
unfollow_dm_channel_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
update_last_read.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
uploads_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
user_card_spec.rb DEV: makes user-card-chat-button uses glimmer (#22496) 2023-07-10 14:04:26 +02:00
user_chat_preferences_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
user_presence.rb FIX: correctly show unread and presence (#22441) 2023-07-05 21:01:23 +02:00
visit_channel_spec.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00