Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

message-tags / message-id support #167

Open
Half-Shot opened this issue May 24, 2021 · 1 comment
Open

message-tags / message-id support #167

Half-Shot opened this issue May 24, 2021 · 1 comment
Labels

Comments

@Half-Shot
Copy link

Spec https://ircv3.github.io/specs/extensions/message-ids.html

I'd really love to see message-ids land as it would really improve the reliability and efficiency of the matrix bridge. Having unique IDs for the message would allow for us to easily reject duplicate messages coming into the bridge from multiple clients which is an issue we have today (see ref). At the moment we solve this by having a single IRC TCP connection be responsible for a single channel and hashing the message strings together to ensure some sort of uniqueness, however this has issues if the client responsible for the channel is on the wrong side of a net-split, or is experiencing a delay. Furthermore, it does have it's own memory cost.

Having message IDs attached to messages means we can operate on a first come, first serve model for incoming messages which means that we just throw away duplicates as they arrive and won't need to worry about slow clients or splits for the most part.

Ref https://github.com/matrix-org/matrix-appservice-irc/blob/develop/src/irc/IrcEventBroker.ts#L17-L83

@Half-Shot Half-Shot changed the title messsage-tags / message-id support message-tags / message-id support May 24, 2021
@edk0 edk0 added the accepted label Jun 17, 2021
@idarlund
Copy link

This also opens up the ability for IRC clients to be able to use threads (https://ircv3.net/specs/client-tags/reply).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants