Currently, when read markers come in from sync, they are "shoved" under the message's text, i.e. they're placed on the bottom-right of a message model in the timeline, and then the message gets "moved" upwards to place this read indicator underneath it.
This is incredibly annoying, as it makes the timeline shift every time a message is read by someone else, and due to the federated nature of matrix, most often the read indicators are shown for earlier messages.
I'm also sure it violates a rule of UI somewhere, in the terms of how and when you can "move" the UI in response to what is happening, and im sure the changing of the read indicators aren't enough to make it move.
It is also a difference with element-web in this, as element-web previously had this behaviour (of "shoving" read indicators under messages), but gradually lost it (iirc), replacing it with a small strip of where read indicators can expand on the side.
Maybe a similar approach can be taken? To free a small vertical strip on the sides of messages, where read indicators are placed (without moving the UI), and stacked downwards (until "3+").
2804 is also related to this, as it concerns some positioning of the read markers, and maybe it can inform this issue (e.g. for the "direction" of which the read indicators stack vertically, maybe then from bottom to top)
Currently, when read markers come in from sync, they are "shoved" under the message's text, i.e. they're placed on the bottom-right of a message model in the timeline, and then the message gets "moved" upwards to place this read indicator underneath it.
This is incredibly annoying, as it makes the timeline shift every time a message is read by someone else, and due to the federated nature of matrix, most often the read indicators are shown for earlier messages.
I'm also sure it violates a rule of UI somewhere, in the terms of how and when you can "move" the UI in response to what is happening, and im sure the changing of the read indicators aren't enough to make it move.
It is also a difference with element-web in this, as element-web previously had this behaviour (of "shoving" read indicators under messages), but gradually lost it (iirc), replacing it with a small strip of where read indicators can expand on the side.
Maybe a similar approach can be taken? To free a small vertical strip on the sides of messages, where read indicators are placed (without moving the UI), and stacked downwards (until "
3+
").