Including unused substitutions triggers console logs, so change the key backup
panel to only substitute what's actually used in each message.
Fixes https://github.com/vector-im/riot-web/issues/8047.
`unread` and `unread-muted` store booleans in the cache, and can easily be `false`. Without this patch, both of those cached types would be cleared from the object where a later call to `getRoomState` would try and re-populate them. `getRoomState` is supposed to use the cache where possible to avoid making the more expensive calls required to calculate those booleans.
On my account in a test environment, this brings the `generateRoomLists` execution time down from ~250ms to just ~30ms.
This still does not solve the whole issue, but should solve the more common case of performance woes for people.
This padding only one side made it impossible to center things in the dialog.
Since the dialog also has nice spacing without the padding, this change removes
it.
Fixes https://github.com/vector-im/riot-web/issues/7862.
Text colour ended up being the link colour on images because the
whole image is in an `a`, but stickers are not so it got the default
font colour, which might be black. Define an explicit colour.
Also set pointer-events: none so you can hover over the gif icon
too (I managed to make the message panel small which made the icon
cover most the image, so this prevented the gif from animating
at all).
Fixes https://github.com/vector-im/riot-web/issues/8004
Links in HTML messages were missing the usual underline style, making them
look different from links in text messages (which already do this).
Fixesvector-im/riot-web#4655.
The download / copy actions to store the new recovery key now send you forward
(the most likely case) with a Back button in case you wanted to also do the
other storing type.