matrix-org / matrix-appservice-discord

A bridge between Matrix and Discord.
Apache License 2.0
785 stars 148 forks source link

Excessive metadata messages (name changes) in the timeline #907

Open planetoryd opened 8 months ago

planetoryd commented 8 months ago

general:matrix.themelio.org

image

Apparently this room uses t2bot.io

hahahahacker2009 commented 8 months ago

got this issue too. The bot even recognize people's name on different servers (also look at the iam.someone changed their name, at the bottom) metadata leaks image

erkinalp commented 8 months ago

This is a reflection of cultural difference. On Discord, nickname changes are free and only leave a temporary trace in the audit log. On Matrix, nickname changes leave a permanent trace in the timeline.

hahahahacker2009 commented 8 months ago

The virtual account only need to change its name channel-specific, not changing the name globally. Broken implementation, maybe?

Vyquos commented 7 months ago

This looks like discord user name changes simply being reflected to matrix, which would be intended behavior. (If you don't want to see the name changes in the element client, there's a setting under "Settings > Preferences > Timeline" called "Show display name changes" that allows you to disable it) Otherwise, please describe the nature of the issue more in-depth, e.g. are any display names not consistent between discord and matrix?

erkinalp commented 7 months ago

@Vyquos Excessive nickname changes make it slow to load the room on the matrix side, even if collapsed. Not a concern on the discord side as name changes are effectively free there.

Vyquos commented 7 months ago

I see what you're getting at. I don't think the bridge is at fault here though - bridging all user name changes is exactly what it's supposed to do. Excessive user name changes may occur for non-bridged matrix users too though. I believe that matrix clients have to solve this problem of timeline loading efficiency rather than the bridge.

planetoryd commented 7 months ago

bridging all user name changes is exactly what it's supposed to do.

Disagree. Just do not create all these useless events. Noone needs them. Waste of compute.

At Matrix's current state you are going to get terrible lags and worst user experience ever out of it.

Like, you have to send one HTTP request for each message deletion.

Vyquos commented 7 months ago

Not sending these events would cause inconsistent usernames - do you have a proposal to handle this? Also, what do you mean by "you have to send one HTTP request for each message deletion"?

erkinalp commented 7 months ago

Like, you have to send one HTTP request for each message deletion.

Deletion expectations do not match. It is impossible to bridge discord-side cheap traceless deletions to matrix.

planetoryd commented 6 months ago

@Vyquos Matrix protocol requires one event for each deletion, whether they are sent with one POST request for each event I am not sure, but it seems so. When I delete a large number of messages it's just stuck. Absolutely hilarious.