* Sort reactions by count and then timestamp
- Sort reactions within an aggregation by timestamp descending. This puts the most recent at the top, useful in cases like the reaction summary view or getting the most recent reaction.
- Sort aggregated reactions by count and then timestamp ascending, using the most recent reaction in the aggregation. This appends new aggregations on the end of the reaction layout.
* Add reaction summary view
* fix warnings
* Fix test unit tests and add sorting tests
- Fix broken build in test code
- Add a test for reaction sorting
* Remove default closure, move logic to presenter and add tests
* Update screenshots
* Fix imports
* Revert Screenshots I didn't update
* Fix imports remove screetshots
* Update screenshots
* Update screenshots
* Address comments.
* Update screenshots
* Remove unnecessary snapshotFlow
* Fix code quality checks
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Fetched `RoomMembers` are mapped in parallel
* Add horizontal padding to room/user name in room details screen
* Relax User & Event id regex matches
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
1. On devices less than xhdpi request a 1x image from MapTiler (such devices are generally old, slower and with little memory so avoiding to get the 2x image only to have to shrink it later could help).
2. Coerce too big width/height combos within the API limits keeping the aspect ratio (this will allow requests on big horizontal displays to succeed).
3. Don't crash when given weird width/height combos (i.e. zero or negative).
4. Introduce interfaces to hide this whole logic and make it easier for forks to implement their own.
Related to:
- https://github.com/vector-im/element-meta/issues/1678