discourse/plugins
Joffrey JAFFEUX d8d756cd2f
DEV: chat streaming (#25736)
This commit introduces the possibility to stream messages. To allow plugins to use streaming this commit also ships a `ChatSDK` library to allow to interact with few parts of discourse chat.

```ruby
ChatSDK::Message.create_with_stream(raw: "test") do |helper|
  5.times do |i|
    is_streaming = helper.stream(raw: "more #{i}")
    next if !is_streaming
    sleep 2
  end
end
```

This commit also introduces all the frontend parts:
- messages can now be marked as streaming
- when streaming their content will be updated when a new content is appended
- a special UI will be showing (a blinking indicator)
- a cancel button allows the user to stop the streaming, when cancelled `helper.stream(...)` will return `false`, and the plugin can decide exit early
2024-02-20 09:49:19 +01:00
..
chat DEV: chat streaming (#25736) 2024-02-20 09:49:19 +01:00
checklist DEV: Use `service:` lookups instead of `:main` (#25402) 2024-01-24 15:59:44 +01:00
discourse-details Update translations (#25659) 2024-02-13 16:11:30 +01:00
discourse-lazy-videos DEV: Use `service:` lookups instead of `:main` (#25402) 2024-01-24 15:59:44 +01:00
discourse-local-dates PERF: eliminate some slow CSS selectors (#25392) 2024-01-26 13:10:45 -05:00
discourse-narrative-bot Update translations (#25579) 2024-02-06 22:35:44 +01:00
discourse-presence DEV: Convert min_trust_to_edit_wiki_post to groups (#24766) 2023-12-12 15:20:37 +11:00
footnote DEV: Use `service:` lookups instead of `:main` (#25402) 2024-01-24 15:59:44 +01:00
poll Update translations (#25659) 2024-02-13 16:11:30 +01:00
spoiler-alert DEV: Use `service:` lookups instead of `:main` (#25402) 2024-01-24 15:59:44 +01:00
styleguide Update translations (#25659) 2024-02-13 16:11:30 +01:00