matrix-org / matrix-appservice-discord

A bridge between Matrix and Discord.
Apache License 2.0
797 stars 151 forks source link

New Thread Feature does not get mirrored #722

Open igeljaeger opened 3 years ago

igeljaeger commented 3 years ago

Discord introduced a Slack-like thread feature which obviously does not work yet, nor seems to even be possible to mirror to Element at this point. Thought I'd open an issue anyway.

erkinalp commented 3 years ago

Discord-style threads are channels which have own membership. Hence they map to rooms with a restricted join rule more closely.

BBaoVanC commented 3 years ago

could take a look at this when/if MSC2836 gets merged

erkinalp commented 3 years ago

MSC2836 is threads as relations, which map to Slack style threads closer.

BBaoVanC commented 3 years ago

Another idea is you could almost just create a separate room, and then link an invite or something in the chat (as a reply), but then you'd miss the part of having an organized list of what room the thread came from, which would require a new MSC or something.

Epictek commented 3 years ago

I have a WIP implementation in my fork, I currently don't handle deleting threads or locking and I'm sure there are some other bugs to figure out. https://github.com/Epictek/matrix-appservice-discord/tree/threads

tgr commented 2 years ago

Matrix has threads now; although Discord threads become readonly after a while and then messages sent to the Matrix would be impossible to transfer, so it might not be the best to convert Discord threads to Matrix threads.

In any case, the bridge should do something for threaded comments - even just posting them in the main channel as-is (or better as replies to the previous comment in the thread) would be better than just silently dropping them.

erkinalp commented 2 years ago

Discord threads become readonly after a while

That is counted after the last message, not after the initial creation.

tgr commented 2 years ago

Right but nevertheless eventually you'd end up in a situation where the thread is writable on the Matrix side but readonly on the Discord side and the bridge can't sync threaded Matrix messages.

erkinalp commented 2 years ago

@tgr: You would never encounter such a situation, as Discord handles that for you:

Sending a message will automatically unarchive the thread, unless the thread has been locked by a moderator.

rollingmoai commented 2 years ago

MSC3440 has been merged, someone please take a look at this now.

erkinalp commented 2 years ago

@rollingmoai Different type of threads to Discord ones. Discord's threads correspond correspond to threads-as-rooms, whereas MSC3440 maps to Slack-style threads-as-relations.

gamer191 commented 1 year ago

Some Discord threads are reply threads, whilst others are completely separate. Surely it's possible for at least the reply threads to be bridged?

Disclaimer: I have no idea what I am talking about