Tabs now have IDs, and we use those IDs to open things. This doesn't do any conversion to typescript, and doesn't add the same feature to the room settings out of concern for the size of diff.
For https://github.com/vector-im/riot-web/issues/13635
This adds support for:
* Tag changes
* DM changes
* Marking our own rooms as read
* Our own membership changes
The remaining branch we didn't need was the alternate 'new room' branch, so it was removed.
This is not optimized - optimization is deferred.
Originally this was intended to be done only in the importance algorithm, however it is clear that all algorithms will need to deal with this. As such, it has been put into the base class to deal with as we may override it in the future.
This commit should be self-documenting enough to describe what is going on, though the major highlight is that the handling of the sticky room is done by lying to the underlying algorithm.
This has not been optimized for performance yet.
For https://github.com/vector-im/riot-web/issues/13635
This is a work in progress, but covers the coarse areas. This uses all-new classes to better describe what everything is, and to reduce the number of selectors we keep track of.
This is primarily layout for the list and not actually the final structure. For example, some buttons are missing and other areas are not styled correctly - the idea in this commit was to get things roughly in the right place and work on it.
1. emoji sometimes vanished from the autocompleter due to a rounding error
combined with maxWidth: 1em on the emoji span kicking in at arbitrary
font sizes/zooms
2. apparently safari needs explicit VS-16 ligatures, as per
ff7dec427f
renderTooltip was not a bound function and so was failing to find
the parent when called from the 'scroll' event listener because
'this' was the window object rather than the Tooltip object.
Unsure at what point this broke - I assumed it was in thr recent
typescript conversion but it looks like it would have had the same
problem before.
If the account data for the 4S key is cleared or lost somehow, don't attempt to
read the key and ask for the passphrase/recovery key instead, as doing so would trigger another
bootstrap from the restore key backup dialog, overwriting the existing key backup.