discourse/plugins/chat/spec/system
Martin Brennan b6c5a2da08
FEATURE: Initial chat thread unread indicators (#21694)
This commit adds the thread index and individual thread
in the index list unread indicators, and wires up the message
bus events to mark the threads as read/unread when:

1. People send a new message in the thread
2. The user marks a thread as read

There are several hacky parts and TODOs to cover before
this is more functional:

1. We need to flesh out the thread scrolling and message
   visibility behaviour. Currently if you scroll to the end
   of the thread it will just mark the whole thread read
   unconditionally.
2. We need to send down the thread current user membership
   along with the last read message ID to the client and
   update that with read state.
3. We need to handle the sidebar unread dot for when threads
   are unread in the channel and clear it based on when the
   channel was last viewed.
4. We need to show some indicator of thread unreads on the
   thread indicators on original messages.
5. UI improvements to make the experience nicer and more
   like the actual design rather than just placeholders.

But, the basic premise around incrementing/decrementing the
thread overview count and showing which thread is unread
in the list is working as intended.
2023-05-25 09:56:19 +02:00
..
chat/composer/shortcuts DEV: various improvements to devex on chat (#21612) 2023-05-17 17:49:52 +02:00
chat_message FIX: correct link on original message (#21415) 2023-05-08 09:10:10 +02:00
list_channels DEV: Switch to data attributes to represent sidebar section name (#20771) 2023-03-23 13:09:45 +08:00
page_objects FEATURE: Initial chat thread unread indicators (#21694) 2023-05-25 09:56:19 +02:00
reply_to_message DEV: various improvements to devex on chat (#21612) 2023-05-17 17:49:52 +02:00
shortcuts UX: implements draft threads (#21361) 2023-05-05 08:55:55 +02:00
thread_list FEATURE: Initial chat thread unread indicators (#21694) 2023-05-25 09:56:19 +02:00
thread_tracking FEATURE: Initial chat thread unread indicators (#21694) 2023-05-25 09:56:19 +02:00
user_menu_notifications DEV: various improvements to devex on chat (#21612) 2023-05-17 17:49:52 +02:00
user_status DEV: attempts to move all Jobs.run_immediately! at top (#19688) 2023-01-03 11:32:27 +01:00
anonymous_spec.rb DEV: start glimmer-ification and optimisations of chat plugin (#19531) 2022-12-21 13:21:02 +01:00
archive_channel_spec.rb DEV: removes very frequent flakey spec (#21696) 2023-05-23 17:45:10 +02:00
bookmark_message_spec.rb PERF: applies optimisations on chat-live pane (#20532) 2023-03-06 16:42:11 +01:00
browse_page_spec.rb UX: implements draft threads (#21361) 2023-05-05 08:55:55 +02:00
channel_about_page_spec.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
channel_info_pages_spec.rb FIX: cancel fetching messages after channel change (#21689) 2023-05-23 16:01:47 +02:00
channel_members_page_spec.rb DEV: more resilient spec (#21436) 2023-05-08 21:10:57 +02:00
channel_message_selection_spec.rb FIX: messages selection with shift + click (#21506) 2023-05-11 17:52:53 +02:00
channel_message_upload_spec.rb DEV: Uncomment chat upload system specs (#20859) 2023-03-28 10:55:01 -04:00
channel_selector_modal_spec.rb DEV: converts models to native classes (#21418) 2023-05-08 18:24:41 +02:00
channel_settings_page_spec.rb DEV: /channel -> /c chat route rename (#19782) 2023-01-27 09:58:12 -03:00
channel_thread_message_echoing_spec.rb UX: implements draft threads (#21361) 2023-05-05 08:55:55 +02:00
chat_channel_spec.rb DEV: implements initial messages component (#21727) 2023-05-24 19:28:54 +02:00
chat_composer_draft_spec.rb FIX: improves draft for channels (#21724) 2023-05-24 15:36:46 +02:00
chat_composer_spec.rb FIX: improves draft for channels (#21724) 2023-05-24 15:36:46 +02:00
chat_message_onebox_spec.rb FIX: attempts to make cooking less order dependent (#21253) 2023-04-26 16:50:38 +02:00
closed_channel_spec.rb REFACTOR: Fix pluralized strings in chat plugin (#20357) 2023-02-20 10:31:02 +01:00
create_channel_spec.rb DEV: Speed up chat plugin system tests (#21399) 2023-05-05 08:16:23 +08:00
dates_separators_spec.rb FIX: prevents subscribing with an old id (#21509) 2023-05-11 22:27:48 +02:00
deleted_channel_spec.rb DEV: start glimmer-ification and optimisations of chat plugin (#19531) 2022-12-21 13:21:02 +01:00
deleted_message_spec.rb DEV: implements initial messages component (#21727) 2023-05-24 19:28:54 +02:00
document_title_spec.rb UX: displays channel title in document title (#21242) 2023-04-26 09:09:07 +02:00
draft_message_spec.rb FIX: do not show infinite loading state on draft with new users (#20582) 2023-03-08 15:21:20 +01:00
drawer_spec.rb DEV: converts models to native classes (#21418) 2023-05-08 18:24:41 +02:00
edited_message_spec.rb DEV: various improvements to devex on chat (#21612) 2023-05-17 17:49:52 +02:00
flag_message_spec.rb DEV: rework the chat-live-pane (#20519) 2023-03-03 13:09:25 +01:00
hashtag_autocomplete_spec.rb FIX: Do not cook icon with hashtags (#21676) 2023-05-23 09:33:55 +02:00
jit_messages_spec.rb FIX: Do not preview chat channels to read-only users (#21700) 2023-05-24 14:05:20 +02:00
kick_user_from_channel_spec.rb FEATURE: Auto-remove users without permission from channel (#20344) 2023-03-22 10:19:59 +10:00
mention_warnings_spec.rb PERF: applies optimisations on chat-live pane (#20532) 2023-03-06 16:42:11 +01:00
message_errors_spec.rb FIX: do not display the message content when it errors (#21008) 2023-04-06 19:32:21 +02:00
message_notifications_mobile_spec.rb UI: chat composer step 2 (#21641) 2023-05-22 17:00:50 +02:00
message_notifications_with_sidebar_spec.rb DEV: implements initial messages component (#21727) 2023-05-24 19:28:54 +02:00
message_thread_indicator_spec.rb UX: implements draft threads (#21361) 2023-05-05 08:55:55 +02:00
message_user_info.rb FIX: correctly show user info (#21023) 2023-04-07 20:08:31 +02:00
move_message_to_channel_spec.rb FIX: cancel fetching messages after channel change (#21689) 2023-05-23 16:01:47 +02:00
navigation_spec.rb DEV: Speed up chat plugin system tests (#21399) 2023-05-05 08:16:23 +08:00
react_to_message_spec.rb FEATURE: Add an emoji deny list site setting (#20929) 2023-04-13 15:38:54 +08:00
read_only_spec.rb REFACTOR: Fix pluralized strings in chat plugin (#20357) 2023-02-20 10:31:02 +01:00
reviewables_spec.rb FIX: correctly use types for reviewables type (#21333) 2023-05-02 14:21:14 +02:00
sidebar_navigation_menu_spec.rb UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +02:00
sidebars_spec.rb DEV: start glimmer-ification and optimisations of chat plugin (#19531) 2022-12-21 13:21:02 +01:00
silenced_user_spec.rb UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +02:00
single_thread_spec.rb DEV: various improvements to devex on chat (#21612) 2023-05-17 17:49:52 +02:00
transcript_spec.rb DEV: fix a spec and skips another one (#21277) 2023-04-27 09:43:26 +02:00
unfollow_dm_channel_spec.rb DEV: attempts to increase wait for a flakey spec (#21705) 2023-05-23 22:43:50 +02:00
update_last_read.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
uploads_spec.rb DEV: Skip flaky tests (#21534) 2023-05-15 07:51:25 +02:00
user_card_spec.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
user_chat_preferences_spec.rb DEV: rework the chat-live-pane (#20519) 2023-03-03 13:09:25 +01:00
user_presence.rb FIX: accounts for hide_profile_and_presence core user option (#20991) 2023-04-06 09:29:54 +10:00
visit_channel_spec.rb FIX: Do not preview chat channels to read-only users (#21700) 2023-05-24 14:05:20 +02:00