discourse/plugins/chat/spec/system
Joffrey JAFFEUX bf886662df
UX: improves composer and thread panel (#21210)
This pull request is a full overhaul of the chat-composer and contains various improvements to the thread panel. They have been grouped in the same PR as lots of improvements/fixes to the thread panel needed an improved composer. This is meant as a first step.

### New features included in this PR

- A resizable side panel
- A clear dropzone area for uploads
- A simplified design for image uploads, this is only a first step towards more redesign of this area in the future

### Notable fixes in this PR

- Correct placeholder in thread panel
- Allows to edit the last message of a thread with arrow up
- Correctly focus composer when replying to a message
- The reply indicator is added instantly in the channel when starting a thread
- Prevents a large variety of bug where the composer could bug and prevent sending message or would clear your input while it has content

### Technical notes

To achieve this PR, three important changes have been made:

- `<ChatComposer>` has been fully rewritten and is now a glimmer component
- The chat composer now takes a `ChatMessage` as input which can directly be used in other operations, it simplifies a lot of logic as we are always working a with a `ChatMessage`
- `TextareaInteractor` has been created to wrap the existing `TextareaTextManipulation` mixin, it will make future migrations easier and allow us to have a less polluted `<ChatComposer>`

Note ".chat-live-pane" has been renamed ".chat-channel"

Design for upload dropzone is from @chapoi
2023-04-25 10:23:03 +02:00
..
chat_message UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +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 UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +02:00
shortcuts UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +02:00
user_menu_notifications DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01: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: properly namespace chat (#20690) 2023-03-17 14:24:38 +01: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 FIX: correctly uses request_uri to generate load_more_url (#19680) 2023-01-03 00:19:13 +01:00
channel_about_page_spec.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
channel_info_pages_spec.rb DEV: /channel -> /c chat route rename (#19782) 2023-01-27 09:58:12 -03:00
channel_members_page_spec.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
channel_message_selection_spec.rb FIX: Regression with chat shift+select messages (#20305) 2023-02-15 08:49:56 +01: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: Fix a constant redefinition warning (#20842) 2023-03-27 13:34:25 +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 FIX: Do not count thread messages for channel unreads (#21126) 2023-04-19 08:53:51 +10:00
chat_channel_spec.rb DEV: correctly tests text is rendered in replies (#20845) 2023-03-27 15:42:30 +02:00
chat_composer_spec.rb UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +02:00
chat_message_onebox_spec.rb FIX: prevents exception when publishing processed (#21104) 2023-04-16 10:30:33 +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: properly namespace chat (#20690) 2023-03-17 14:24:38 +01: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 FEATURE: Hook up chat bulk delete for threads (#21109) 2023-04-18 08:28:20 +10: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 UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +02:00
edited_message_spec.rb FIX: ensures edited message is correctly re-decorated (#20637) 2023-03-10 17:06:13 +01:00
flag_message_spec.rb DEV: rework the chat-live-pane (#20519) 2023-03-03 13:09:25 +01:00
hashtag_autocomplete_spec.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
jit_messages_spec.rb REFACTOR: Fix pluralized strings in chat plugin (#20357) 2023-02-20 10:31:02 +01: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 DEV: attempts to move all Jobs.run_immediately! at top (#19688) 2023-01-03 11:32:27 +01:00
message_notifications_with_sidebar_spec.rb DEV: rework the chat-live-pane (#20519) 2023-03-03 13:09:25 +01:00
message_thread_indicator_spec.rb UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +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 DEV: start glimmer-ification and optimisations of chat plugin (#19531) 2022-12-21 13:21:02 +01:00
navigating_to_message_spec.rb DEV: rework the chat-live-pane (#20519) 2023-03-03 13:09:25 +01:00
navigation_spec.rb UX: various tweaks on thread (#21083) 2023-04-13 10:08:12 +02:00
network_reconciliation_spec.rb FIX: ensures recovering network doesn't create unread mentions (#19597) 2022-12-23 07:38:45 +01: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
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 FIX: Do not count thread messages for channel unreads (#21126) 2023-04-19 08:53:51 +10:00
sticky_date_spec.rb DEV: rework the chat-live-pane (#20519) 2023-03-03 13:09:25 +01:00
transcript_spec.rb FEATURE: Reacting to MessageBus in chat thread panel (#21070) 2023-04-13 14:45:50 +02:00
unfollow_dm_channel_spec.rb DEV: Improve performance of system test sign_in helper (#19579) 2022-12-22 16:03:27 +00:00
update_last_read.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
uploads_spec.rb UX: improves composer and thread panel (#21210) 2023-04-25 10:23:03 +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 DEV: Pass messageId as a dynamic segment instead of a query param (#20013) 2023-02-01 12:39:23 -03:00