If you had an unsent message in a room that was in a sublist with
the 'Show rooms with unread messages first' option enabled, the
room list would show no rooms next time you restarted element and
get stuck that way.
This was because there was a different notification category for
rooms with unsent messages but the algorithm is hard-coded to add
only a fixed set of categories to its list, and it missed 'unsent',
so it NPEed when it encountered a room with an unsent message.
This just adds the category (assuming that we want to show rooms
with unsent messages first). It doesn't make it less hard-coded, or
fix the fact that an exception in the room list code causes everything
to break.
Fixes https://github.com/vector-im/element-web/issues/19373
Extreme confusion between users and members, and presumably we were
passing one as the other and they were similar enough that it
worked.
UserView still makes fake member objects but this at least fixes
the user view in the right panel.
Fixes https://github.com/vector-im/element-web/issues/19158
Reverts https://github.com/matrix-org/matrix-react-sdk/pull/6751 in
favour of debouncing the updates to read markers, because it seems
allowing the scroll to be 1px away from the bottom was important for
some browsers and meant they never got to the bottom.
We can fix the problem instead by debouncing the update to read
markers, because the scroll state gets reset back to the bottom when
componentDidUpdate() runs which happens after the read marker code
does a setState(). This should probably be debounced anyway since
it doesn't need to be run that frequently.
Fixes https://github.com/vector-im/element-web/issues/18961
Type: bugfix
Reverts https://github.com/matrix-org/matrix-react-sdk/pull/6751 in
favour of debouncing the updates to read markers, because it seems
allowing the scroll to be 1px away from the bottom was important for
some browsers and meant they never got to the bottom.
We can fix the problem instead by debouncing the update to read
markers, because the scroll state gets reset back to the bottom when
componentDidUpdate() runs which happens after the read marker code
does a setState(). This should probably be debounced anyway since
it doesn't need to be run that frequently.
Fixes https://github.com/vector-im/element-web/issues/18961
Type: bugfix
The check for whether we're at the bottom or not allowed for a
difference of 1 to account for fractional scroll values, but
allowed the difference of exactly 1 too, meaning we'd consider
the timeline to be at the bottom if you were scrolled up by exactly
a single pixel. If your scrolling was set up to be precise enough and
the event handlers fired fast enough that they'd evaluate each time
you scrolled up by a single pixel, it would reset you back to the bottom
each time and you'd never be able to scroll up.
Fixes https://github.com/vector-im/element-web/issues/18903
We previously called bootstrap without the cache callbacks set up
which meant it prompted you for you password once for each of the
three keys it fished out of SSSS. Instead, display the same dialog
we display from the verify toast.
Also, in the case where you hadn't verified yet, the button didn't
do anything at all, so make it trigger a verification & change the
caption appropriately.
Add a state to reflect when cross signing is set up but SSSS isn't
(ie. user hasn't yet set up backup / set a passphrase).
Some absolutely horrenous hacks to upload the context as an artifact
then download it, unzip it and set the PR number as a variable we can
use, because GitHub Actions just doesn't offer any other way of doing
this.
Maybe we'd be better off going back to Netlify...
Force thumbnails to be the size of the container, even if that means
upscaling them. As per comment, this will mean that the thumbnails
will sometimes be larger and a bit blurry rather than small. It looks
like this was probably a source of scroll jumps before.
As per comment, a better fix would be to be be able to know what
size thumbnails the HS will give us so we can size the containers
appropriately.
Type: defect
Regressed by: https://github.com/matrix-org/matrix-react-sdk/pull/6514
Fixes https://github.com/vector-im/element-web/issues/18307
So we don't need netflify to sit there building the develop branch
for no reason. Also it will comment with the URL rather than having
to dig it out of the checks.
Upload part not tested yet.
allchange is typescript so has a 'prepare' script to tsc it into
javascript so it can be a binscript - hopefully this won't cause
it to make too much of a pain of itself causing tsc to run on every
yarn add/install
I'm not really sure how this is meant to work - and I'm not sure
how it was working before, but this is causing fairly bad infinite
loops if I start element with no homeserver connection. This is
a fairly crude fix, only thing I can think that would be better is
some awareness of when network requests were failing and intentionally
backing off.
Fixes https://github.com/vector-im/element-web/issues/18242
It turns out the answer to this was not all that complex: we had
two nested <label>s: one for the radio button and one for the Field,
which presumably causes both of them to generate click events and
focus something and what ends up focused is some kind of race condition
depending on, apparently, how fast you click.
Notes: Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked.
The device listener checks for a megolm key stored in SSSS but didn't
update when one was added, so the encryption upgrade toast would not
disappear after the key was fixed by https://github.com/matrix-org/matrix-js-sdk/pull/1776
Apparently all the types themselves are fine, even though some of
the function signatures have been updated to return Promises... we
were alreaady await-ing on them.
Also add a type of OOBData... possibly this should be in the js-sdk,
but threepid invites themselves have a type in react-sdk so it can
live alongside it I guess (also I'm not entirely sure we actually
use it anymore...)