discourse/plugins/chat
David Taylor dfc947a97d
PERF: Defer button actions to improve interaction-next-paint (INP) (#28019)
This is a variation on bc3e8a9963cf9a64d114ec751c875025af169690, which was reverted due to issues on iOS. Safari's "in response to user action" check cannot follow the `runAfterFramePaint` chain of interaction -> requestAnimationFrame -> messageChannel, and so some sensitive browser APIs (e.g. clipboard, upload, etc.) were blocked.

This commit is similar, but uses `next()` instead of `runAfterFramePaint()`. The result seems the same, but doesn't have the same issue on iOS.

The chat-emoji-picker change was required to resolve a test failure. The emoji picker has never closed-on-scroll on desktop, so there is no user-facing change in behavior.
2024-08-20 10:11:34 +08:00
..
app PERF: automatically join users to channels more efficiently (#28392) 2024-08-16 13:58:12 +10:00
assets PERF: Defer button actions to improve interaction-next-paint (INP) (#28019) 2024-08-20 10:11:34 +08:00
config Update translations (#28246) 2024-08-13 16:31:24 +02:00
db DEV: Promote historic post_deploy migrations (#28128) 2024-07-30 01:14:03 +08:00
lib FIX: delay chat notify watching job (#28386) 2024-08-15 18:08:30 +04:00
public
spec PERF: automatically join users to channels more efficiently (#28392) 2024-08-16 13:58:12 +10:00
test/javascripts DEV: Fix random typos (#28103) 2024-07-26 23:13:12 +02:00
plugin.rb FEATURE: created edit and delete flags (#27484) 2024-07-03 08:45:37 +10:00
README.md

This plugin is still in active development and may change frequently

Documentation

The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

For user documentation, see Discourse Chat.

For developer documentation, see Discourse Documentation.