project-robius / robrix

A Matrix chat client written in pure Rust using the Makepad UI toolkit and the Robius app dev framework
MIT License
67 stars 11 forks source link

Collapsible/expandable sequence of small events #118

Open kevinaboos opened 3 weeks ago

kevinaboos commented 3 weeks ago

Small state events can take up a lot of vertical space on the timeline. This includes things like room membership changes, room metadata changes, profile name/avatar changes, etc.

By default, a series of two or more adjacent small events should be collapsed into an abbreviated view that takes up much less vertical space. This will make it easier for the user to focus on important content like text and image messages from other users, rather than less important metadata.

For example, this is how Element shows a series of contiguous state events:

image

and then when expanded, it looks like what Robrix currently shows:

image

We would also want dynamic buttons that toggle between "expand" and "collapse" based on whether a range of state events was collapsed or expanded.