krille-chan / fluffychat

The cutest instant messenger in the [matrix]
https://fluffychat.im/
GNU Affero General Public License v3.0
887 stars 147 forks source link

Hide/ignore avatar changes in timeline #1173

Open c-aliane opened 1 week ago

c-aliane commented 1 week ago

Feature Description

Add a setting a setting to ignore avatar/profile picture changes in the timeline

Rationale

When you change your own profile picture a lot of the chats get pushed in the timeline even though there are no recent messages. This made it impossible to see when the last real activity happened in the timeline. I'm also not interested in avatar changes of others and want to see the last message of a chat in the overview.

Example: image

Mockup

No response

Additional Context

I changed my profile picture in Element and it pushed a lot of inactive chats to the top of my timeline in Fluffychat. Weirdly enough it didn't push all of my chats (~60 chats out of 100) The Element App didn't experience the same behavior.

I'm using Mautrix Bridges for WA, Signal, Telegram and the most up to date apps for Element and Fluffychat on my iPhone: App Version Fluffy Chat 1.21.0 Element 1.11.12 Additional Platform Information Device: iPhone 14 Pro

dabblingwithcode commented 1 day ago

Assuming you already set hideUnimportantEvents to true in the settings, to solve this you'd need to change the getter lastEvent in the matrix sdk file room.dart in line 378:

if (_lastEvent != null) return _lastEvent;

With this code:

    final thisLastEvent = _lastEvent;
    if (thisLastEvent != null && thisLastEvent.isVisibleInGui)
      return thisLastEvent;

This did the trick for us. This here would be the wrong repo to request this, though.