discourse/plugins/chat/spec/system
Andrei Prigorshnev 62f423da15
DEV: Redesign chat mentions (#24752)
At the moment, when someone is mentioning a group, or using here or 
all mention, we create a chat_mention record per user. What we want 
instead is to have special kinds of mentions, so we can create only one 
chat_mention record in such cases. This PR implements that.

Note, that such mentions will still have N related notifications, one 
notification per a user. We don't expect we'll have performance 
problems on the notifications side, but if at some point we do, we 
should be able to solve them on the side of notifications 
(notifications are handled in jobs, also some little delays with 
the notifications are acceptable, so we can make sure notifications 
are properly queued, and that processing of every notification is 
fast enough to make delays small enough).

The preparation work for this PR was done in fbd24fa, where we make 
it possible for one mention to have several related notifications.

A pretty tricky part of this PR is schema and data migration, I've explained 
related details inline on the migration files.
2024-01-17 15:24:01 +04:00
..
admin DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
chat/composer DEV: Remove unnecessary js: true options from specs (#24463) 2023-11-20 17:22:14 +01:00
chat_message PERF: cook message in background (#24227) 2023-11-06 15:45:30 +01:00
list_channels FIX: set channels tab as default on mobile chat footer (#25296) 2024-01-17 17:12:55 +08:00
page_objects FEATURE: Mobile Chat Footer Redesign (#25161) 2024-01-16 14:29:33 +08:00
reply_to_message DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
select_message FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
shortcuts DEV: Refactor chat specs related to message creation 2023-08-31 11:21:23 +02:00
thread_list DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
thread_tracking DEV: skip two flakey specs (#24965) 2023-12-19 09:27:09 +01:00
user_menu_notifications DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
user_status DEV: Remove assertion causing test to be flaky (#25069) 2023-12-29 13:23:16 +08:00
admin_sidebar_navigation_spec.rb DEV: Change enable_admin_sidebar_navigation to group setting (#25159) 2024-01-09 09:06:27 +10:00
anonymous_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
archive_channel_spec.rb PERF: cook message in background (#24227) 2023-11-06 15:45:30 +01:00
bookmark_message_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
browse_page_spec.rb FIX: set channels tab as default on mobile chat footer (#25296) 2024-01-17 17:12:55 +08:00
channel_members_page_spec.rb UX: Chat info area back button + styling tweaks (#24966) 2023-12-19 16:28:07 +01:00
channel_message_upload_spec.rb DEV: Fix various rubocop lints (#24749) 2023-12-06 23:25:00 +01:00
channel_settings_page_spec.rb UX: chat channel info area > classname changes (#24954) 2023-12-18 22:09:47 +01:00
channel_thread_message_echoing_spec.rb DEV: makes every spec use new messages helper (#23163) 2023-08-21 16:31:58 +02:00
chat_channel_spec.rb DEV: Redesign chat mentions (#24752) 2024-01-17 15:24:01 +04:00
chat_composer_draft_spec.rb FEATURE: implements drafts for threads (#24483) 2023-11-22 11:54:23 +01:00
chat_composer_spec.rb DEV: Fix flaky network-based upload spec (#23286) 2023-08-28 12:59:22 +08:00
chat_footer_spec.rb FIX: set channels tab as default on mobile chat footer (#25296) 2024-01-17 17:12:55 +08:00
chat_message_creator_spec.rb UX: improves search of message creator 2023-11-13 22:03:47 +01: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: Remove unnecessary js: true options from specs (#24463) 2023-11-20 17:22:14 +01: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 DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
deleted_channel_spec.rb PERF: cook message in background (#24227) 2023-11-06 15:45:30 +01:00
deleted_message_spec.rb DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
document_title_spec.rb DEV: Remove superfluous js: true metadata (#21960) 2023-06-07 09:26:58 +08:00
drawer_spec.rb DEV: implements <Chat::Navbar /> (#24917) 2023-12-18 17:49:58 +01:00
edited_message_spec.rb DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
flag_message_spec.rb UX: enhances chat copy features (#23770) 2023-10-04 16:14:37 +02:00
hashtag_autocomplete_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
invite_users_to_channel_spec.rb FIX: ensures users can open channel invites (#24067) 2023-10-24 18:51:33 +02: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 FEATURE: Chat global mention warnings (pre-send & post-send) (#22764) 2023-08-22 15:54:35 -05:00
message_errors_spec.rb DEV: ensures we have error message before message check (#24647) 2023-11-30 10:55:05 +01:00
message_notifications_mobile_spec.rb FIX: set channels tab as default on mobile chat footer (#25296) 2024-01-17 17:12:55 +08:00
message_notifications_with_sidebar_spec.rb PERF: cook message in background (#24227) 2023-11-06 15:45:30 +01:00
message_thread_indicator_spec.rb DEV: improves reliability of delete/restore/update specs (#24265) 2023-11-07 11:34:35 +01:00
message_user_info_spec.rb DEV: Fix RSpec/SpecFilePathSuffix / enable 3 chat spec files (#24750) 2023-12-06 22:25:11 +01: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 FIX: set channels tab as default on mobile chat footer (#25296) 2024-01-17 17:12:55 +08:00
react_to_message_spec.rb DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08: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 DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
reviewables_spec.rb FIX: 500 error when reviewable has a missing message (#25113) 2024-01-03 11:49:54 -03:00
send_message_spec.rb DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
separate_sidebar_mode_spec.rb FIX: prevents setPanel to also set separated mode (#23227) 2023-08-24 18:21:28 +02:00
sidebar_navigation_menu_spec.rb DEV: correctly uses link to message endpoint in spec (#24652) 2023-11-30 19:33:41 +01:00
sidebars_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06: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: Capture and log AR debug logs on GitHub actions for flaky tests (#25048) 2023-12-27 14:40:00 +08:00
thread_preview_spec.rb DEV: improves reliability of delete/restore/update specs (#24265) 2023-11-07 11:34:35 +01:00
transcript_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
unfollow_dm_channel_spec.rb DEV: Remove the use of Capybara::Session#quit (#24978) 2023-12-20 13:20:14 +08:00
update_last_read_spec.rb DEV: Fix RSpec/SpecFilePathSuffix / enable 3 chat spec files (#24750) 2023-12-06 22:25:11 +01:00
uploads_spec.rb DEV: skip flaky upload spec for large image thumbnails (#24745) 2023-12-06 19:08:56 +08:00
user_card_spec.rb DEV: Fix random typos (#24756) 2023-12-06 22:25:26 +01:00
user_chat_preferences_spec.rb FIX: correctly check chat tab is present (#23200) 2023-08-23 13:06:29 +02:00
user_threads_spec.rb FEATURE: my threads page (#24771) 2023-12-11 07:38:07 +01:00
visit_channel_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00