element-hq / element-hq/element-x-android
Consistent reaction button ordering
- Dominant language
- Kotlin
- Stars
- 2.4k
- Forks
- 624
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 149
Description
### Your use case
#### What would you like to do?
To make the ordering of (emoji) reactions consistent under incoming and outgoing messages.
#### Why would you like to do it?
It's not uncommon for people to encode meaning in the order of (emoji) reactions. This is already somewhat highly requested for Element Web / Android, albeit to prefer reaction order over count: https://github.com/element-hq/element-meta/issues/772
Currently the aforementioned Element Clients order reactions first by count and then by order. Element X however flips that established order for reactions that appear under outgoing messages (from the perspective of the sender of the message). This makes the order unpredictably inconsistent for participants.
The order on an outgoing message is in it self also inconsistent with the screen showing the same reaction in detail.
#### How would you like to achieve it?
By removing the dependence on if a message is outgoing or incoming for the layout direction of reaction buttons under a message. This would also make the "add reaction" and "Show More" buttons always be at the end of the last reaction button row (in the global layout direction).
Alternatively the buttons could still be dependent on outgoing messages, then the "add reaction" button wouldn't be the "exact" placeholder of the new emoji appearing however.
### Have you considered any alternatives?
_No response_
### Additional context
I assume this was a design choice to have the "add reaction" and "Show More" buttons always align to the middle (horizontally). I don't believe this justifies the inconsistent ordering however.
I'll happily send a patch if there's a commitment to change this.
### Are you willing to provide a PR?
Yes
Contributor guide
Assessment
This issue has not been assessed yet.