mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 03:36:18 +08:00

This commit allows the ProseMirror rich editor to display chat transcripts copied from chat using the "Copy" button. The BBCode usually looks something like this: ``` [chat quote="hunter;29856;2025-03-20T07:13:04Z" channel="design gems 🎉" channelId="95"] haha **ok** _cool_ [/chat] ``` But there are several variations that must be accounted for: * Single message from single user * Multiple messages from a single and multiple users * Messages inside chat threads The rich transcript extension has to ignore many of the chat transcript markdown tokens because they simply aren't necessary -- none of the ProseMirror nodes need to be editable. So, we basically recreate the same HTML that the chat transcript markdown rule does in the `toDOM()` function. Maybe in future we want to make the markdown rule do less and have this HTML creation in one place, but for now we need to mirror in both files. --------- Co-authored-by: Renato Atilio <renato@discourse.org>