The label moves into the border on focus and after being filled. A valid color
is applied to the label and input border. Other states like invalid can be added
later as needed.
Adapted from @ara4n's experiment into a React component with a CSS only
approach.
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
It can take some time to actually set the status message and see it play back as
a committed event. This adds a spinner for immediate feedback so it's clear
that something is happening.
Fixes https://github.com/vector-im/riot-web/issues/8135.
This returns to the previous behavior of avatar only without a button when the
custom status feature is disabled so that you don't get pointer cursor for
something that does nothing when clicked.
The avatar ring spacing is kept consistent with and without the feature enabled
by using a different class in CSS.
Similar to changes in `StatusMessageContextMenu`, this changes to using the new
status message event emitted in js-sdk to simplify state handling for the avatar
ring when a status is present.
This updates the custom status context menu to match the latest comps. A single
button is used for setting / clearing, depending on what is appropriate.
The state logic is also changed to depend on events and storage from js-sdk for
the committed status message. This makes it easy to distinguish the value being
edited from what's currently committed.
Adjusts the appearance of the avatar ring to match the latest comps.
In addition, we now always render the surrounding button element, which
simplifies styling since the same size is now occupied both with and without the
feature.
This improves alignment between text in the composer and text in the message
history (https://github.com/vector-im/riot-web/issues/8111).
- move some methods to ResizeItem subclass
- allow distributor to instanciate sizer and resizeitem it needs
through static factory methods, instead of passing in another ctor
a distributor can only function with the right item and sizer anyways.
- use consistent import/export style
- remove obsolete code
Split the 'new recovery method' into two cases: one where the new
recovery method isn't trusted and you need to verify the device, and
another where it is and the client is using it (where it's more of
an FYI).
https://github.com/vector-im/riot-web/issues/8069
Fixes https://github.com/vector-im/riot-web/issues/7997
This isn't super elegant, but it also provides some amount of utility for people. As users might leave the old room, it might be useful to see when exactly a room was upgraded. We should fix the underlying cause for infinite back pagination though.
The "New Recovery Method" dialog would show if either the recovery method had
been changed or removed, but the dialog text didn't make much sense for the
removed case.
This adds a separate dialog customized for the removed case.
Fixes https://github.com/vector-im/riot-web/issues/8046.
and remove from ignored files
Missed a load of the async arrows functions when changing them because
they were in the ignored files, so trying to chip away at this.
A lot of these were unused imports / variables. Probably the only
interesting one was a 'this' in a non-member function which I've moved
to be a member function.
Since the initial key backup can take several minutes for some users, this moves
the upload step to the background. The create key backup flow now only marks
all sessions for backup synchronously, with the actual backup happening later.
The key backup panel in Settings gains a new row to show a summary of upload
status. Users are directed there if they wish to know if the backup is done.
The text in various related dialogs has also been tweaked to fit the new flow.
* Put a cancel button on the first page of the create key backup
dialog
* Move settings logic into the room reminder: I know this is moving
logic *into* a view but RoomView is quite heavyweight as it is.
* Give the recovery reminder an explicit 'onDontAskAgainSet' rather
than onFinished which was getting called with false when the last
screen of the dialog was closed with the cancel 'x' rather than
the 'close' button.
https://github.com/vector-im/riot-web/issues/8066
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.