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

Missing avatars or displaynames when scrolling up (Conduit) #21034

Open
timokoesters opened this issue Feb 10, 2022 · 6 comments
Open

Missing avatars or displaynames when scrolling up (Conduit) #21034

timokoesters opened this issue Feb 10, 2022 · 6 comments
Labels
A-Avatar A-Timeline S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect Z-t3chguy

Comments

@timokoesters
Copy link

timokoesters commented Feb 10, 2022

Steps to reproduce

This requires some work to reproduce, log in on a conduit server and join a larger room, then scroll up. Maybe it requires a page refresh or cache clear as well.

The problem seems to be that Element Web relies on redundant member events to some extend, but does not send the include_redundant_members filter flag on /messages and/or /context.

Also see https://gitlab.com/famedly/conduit/-/issues/233

Outcome

User profile information missing
image

Operating system

Browser information

URL for webapp

staging.element.io

Application version

Homeserver

conduit.rs

Will you send logs?

No

@SimonBrandner SimonBrandner added A-Avatar A-Timeline S-Major Severely degrades major functionality or product features, with no satisfactory workaround labels Feb 11, 2022
@germain-gg
Copy link
Contributor

Duplicate of #20999

@germain-gg germain-gg marked this as a duplicate of #20999 Feb 11, 2022
@timokoesters
Copy link
Author

@gsouquet I think this issue is different. Here the avatar shows on the newer messages but is missing on the older messages. As I said above I believe this is an issue with include_redundant_members, Element Android has this problem too: element-hq/element-android#3417

@germain-gg germain-gg reopened this Feb 11, 2022
@t3chguy
Copy link
Member

t3chguy commented Feb 18, 2022

Indeed -

When processing a sequence of events (e.g. by looping on /sync or paginating /messages), it is common for blocks of events in the sequence to share a similar set of senders. Rather than responses in the sequence sending duplicate membership events for these senders to the client, the server MAY assume that clients will remember membership events they have already been sent, and choose to skip sending membership events for members whose membership has not changed. These are called ‘redundant membership events’. Clients may request that redundant membership events are always included in responses by setting include_redundant_members to true in the filter.

If Element wants to continue showing historical profiles (#3768 challenges this and has a labs option now) then it'll need to set that filter param.

@timokoesters
Copy link
Author

Adding the filter to include redundant members should be an easy fix and has no performance consequences on synapse because it already does this by default. If this lands on nightly, please tell me so I can test it with Conduit.

@timokoesters
Copy link
Author

Did anyone try to activate "include redundant members"? This should be a really simple change and hopefully fixes profiles on Conduit.

@timokoesters
Copy link
Author

I've added a workaround to Conduit which just always sends all members in /messages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Avatar A-Timeline S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect Z-t3chguy
Projects
None yet
Development

No branches or pull requests

4 participants