Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Allow user to control if they are signed out of all devices when changing password #8259

Merged
merged 24 commits into from
Apr 22, 2022

Conversation

hughns
Copy link
Member

@hughns hughns commented Apr 8, 2022

Depends on matrix-org/matrix-js-sdk#2285

Attempts to resolve element-hq/element-web#2671 for Element Web.

Forgot password flow

If the HS does have the capability (supports r0.6.1) then we present the option of whether to sign out other devices:

image

And if the checkbox is ticked then we show a warning/confirmation modal:

image

If the HS does not have the capability then the behaviour is as it is now, but with a revised wording in the confirmation modal:

image

image

Change password from Settings

image

If the HS does have the capability or the user only has one device (the current one) then we proceed immediately to changing the password without signing out other devices:

image

Otherwise, we continue to show a warning/confirmation modal, but with some revised wording:

image

image

Notes:
Make sign out on all devices during password reset optional. Changing password in Settings does not sign out all devices.


Here's what your changelog entry will look like:

✨ Features

Preview: https://pr8259--matrix-react-sdk.netlify.app
⚠️ Do you trust the author of this PR? Maybe this build will steal your keys or give you malware. Exercise caution. Use test accounts.

@hughns hughns added the T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements label Apr 8, 2022
@hughns
Copy link
Member Author

hughns commented Apr 8, 2022

I'm not sure if this is considered a breaking change or not: the confirm property in the ChangePassword component has been removed.

If necessary I can reinstate confirm and if confirm=true then show the existing modal and actually sign out all devices.

@codecov
Copy link

codecov bot commented Apr 8, 2022

Codecov Report

Merging #8259 (f3260a0) into develop (73e8387) will decrease coverage by 0.63%.
The diff coverage is 0.00%.

❗ Current head f3260a0 differs from pull request most recent head 9038ea7. Consider uploading reports for the commit 9038ea7 to get more accurate results

@@             Coverage Diff             @@
##           develop    vector-im/element-web#8259      +/-   ##
===========================================
- Coverage    30.42%   29.79%   -0.64%     
===========================================
  Files          889      874      -15     
  Lines        50544    50038     -506     
  Branches     12861    12738     -123     
===========================================
- Hits         15379    14908     -471     
+ Misses       35165    35130      -35     
Impacted Files Coverage Δ
src/PasswordReset.ts 0.00% <0.00%> (ø)
src/components/structures/auth/ForgotPassword.tsx 0.00% <0.00%> (ø)
src/components/views/settings/ChangePassword.tsx 0.00% <0.00%> (ø)
...iews/settings/tabs/user/GeneralUserSettingsTab.tsx 0.00% <0.00%> (ø)
src/utils/colour.ts 0.00% <0.00%> (-94.12%) ⬇️
src/autocomplete/EmojiProvider.tsx 16.27% <0.00%> (-72.86%) ⬇️
src/components/views/elements/FacePile.tsx 10.00% <0.00%> (-67.78%) ⬇️
src/autocomplete/AutocompleteProvider.tsx 0.00% <0.00%> (-60.72%) ⬇️
src/components/views/elements/CopyableText.tsx 9.09% <0.00%> (-49.25%) ⬇️
src/stores/widgets/WidgetMessagingStore.ts 45.00% <0.00%> (-48.55%) ⬇️
... and 80 more

@hughns
Copy link
Member Author

hughns commented Apr 8, 2022

I've put a check box on the password reset form:

image

Only if the box is checked then a revised confirmation modal is shown:

image

@hughns hughns marked this pull request as ready for review April 8, 2022 10:07
@hughns hughns requested a review from a team as a code owner April 8, 2022 10:07
@t3chguy t3chguy requested a review from a team April 8, 2022 10:23
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sane to me otherwise!

src/components/structures/auth/ForgotPassword.tsx Outdated Show resolved Hide resolved
src/components/structures/auth/ForgotPassword.tsx Outdated Show resolved Hide resolved
src/i18n/strings/en_EN.json Outdated Show resolved Hide resolved
@hughns
Copy link
Member Author

hughns commented Apr 8, 2022

I've incorporated the wording suggestions into the latest commits.

The screens now look like this:

image

image

@Mikaela
Copy link

Mikaela commented Apr 9, 2022

Will it really sign out all devices or all other devices (excluding this one)?

@hughns
Copy link
Member Author

hughns commented Apr 9, 2022

Will it really sign out all devices or all other devices (excluding this one)?

My thinking was: the current device isn't signed in at the moment (otherwise the user wouldn't need to reset the password).

However, I think either wording is valid:

  • "Sign out all devices"

  • "Sign out all other devices"

I would advocate for whichever we think is the clearest.

@dkasak
Copy link
Member

dkasak commented Apr 9, 2022

Note that Element Web also has functionality to change the password while logged in. Does this PR only handle the password resetting case?

@hughns
Copy link
Member Author

hughns commented Apr 9, 2022

Note that Element Web also has functionality to change the password while logged in. Does this PR only handle the password resetting case?

Yes, as per release Note it changes the behaviour of change password in Settings so that it doesn't sign out all devices.

My rationale for this was that there is already the ability to sign out sessions from the Security & Privacy tab of Settings. So there is no need for duplicate functionality in change password.

As such, the implementation I have proposed is that there is no check box to sign out all devices on the change password function of Settings, and the corresponding warning dialog has also been removed.

If there is still felt to be a need to provide the option to sign out all sessions whilst changing password in Settings, or perhaps to sign post where the functionality has moved to, then I can add it.

Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a way of checking if the server will respect the flag, otherwise we're misleading the user in both cases (forgot and change password)

src/components/structures/auth/ForgotPassword.tsx Outdated Show resolved Hide resolved
src/components/views/settings/ChangePassword.tsx Outdated Show resolved Hide resolved
@hughns
Copy link
Member Author

hughns commented Apr 11, 2022

We need a way of checking if the server will respect the flag, otherwise we're misleading the user in both cases (forgot and change password)

This is a very good point.

@clokep
Copy link
Member

clokep commented Apr 11, 2022

Just an FYI that Synapse has supported this since v1.12.0 released on 2020-03-23 and it seems that it was added in r0.6.1 of the spec: https://matrix.org/docs/spec/client_server/r0.6.1.html#changelog

@t3chguy
Copy link
Member

t3chguy commented Apr 11, 2022

Sure but other server implementations may not support it, and promising the user something relating to security which doesn't work without warning is baaaad

@clokep
Copy link
Member

clokep commented Apr 11, 2022

Sure but other server implementations may not support it, and promising the user something relating to security which doesn't work without warning is baaaad

Of course, my point is that you should be able to key on the r0.6.1 version to know if it is supported!

@hughns
Copy link
Member Author

hughns commented Apr 11, 2022

A HS agnostic approach could be to use Capability negotiation and extend the m.change_password capability to say if this is supported or not.

@t3chguy
Copy link
Member

t3chguy commented Apr 13, 2022

Upon re-read, https://github.com/matrix-org/dendrite/blob/f2e550efd832662e6c032bebfef4a68da0b4c8ee/clientapi/routing/password.go#L37 isn't forced to true, but rather the default value. Dendrite supports this field.

@t3chguy
Copy link
Member

t3chguy commented Apr 13, 2022

And Conduit does not advertise 0.6.1 support, only 0.6.0 - so using 0.6.1 should be ok

@hughns
Copy link
Member Author

hughns commented Apr 13, 2022

I've added the logic to check the version (which depends on matrix-org/matrix-js-sdk#2297).

I checked it against matrix.org, dendrite.matrix.org, element.io and conduit.rs.

This implementations creates a temporary MatrixClient for the forgotten password flow to query the versions endpoint. It felt heavyweight but I couldn't see a pattern to follow.

js-sdk could be updated to cache (or similar) the results of the versions request it does during autodiscovery, but this would be more invasive.

@hughns hughns requested a review from t3chguy April 13, 2022 16:39
src/components/views/settings/ChangePassword.tsx Outdated Show resolved Hide resolved
src/components/views/settings/ChangePassword.tsx Outdated Show resolved Hide resolved
src/components/structures/auth/ForgotPassword.tsx Outdated Show resolved Hide resolved
src/components/structures/auth/ForgotPassword.tsx Outdated Show resolved Hide resolved
@hughns hughns requested a review from t3chguy April 15, 2022 09:25
Copy link
Member

@robintown robintown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using this to change your password in settings results in a dialog that says "You will not receive push notifications on other sessions until you log back in to them", which I believe is no longer accurate

@hughns hughns changed the title Allow user to control if they are signed out of all sessions when changing password Allow user to control if they are signed out of all devices when changing password Apr 18, 2022
@hughns
Copy link
Member Author

hughns commented Apr 19, 2022

Using this to change your password in settings results in a dialog that says "You will not receive push notifications on other sessions until you log back in to them", which I believe is no longer accurate

Good spot.

I've pushed changes that take account of whether all devices were signed out during the password change.

If the server supports not signing out all devices:

image

Otherwise:

image

@hughns
Copy link
Member Author

hughns commented Apr 19, 2022

Whilst making these last changes I realised that in the case the user only has one logged in device we could simplify the wording throughout. i.e. we don't need to warn them when there aren't any other devices that would actually be signed out.

I don't think it would be hard to roll into this change. Good idea? Objections?

@hughns
Copy link
Member Author

hughns commented Apr 21, 2022

Whilst making these last changes I realised that in the case the user only has one logged in device we could simplify the wording throughout. i.e. we don't need to warn them when there aren't any other devices that would actually be signed out.

I don't think it would be hard to roll into this change. Good idea? Objections?

I've gone ahead and made these changes. I've put the full screenshots in the summary of this PR for ease of review.

@hughns hughns requested a review from t3chguy April 21, 2022 17:30
Copy link
Contributor

@nadonomy nadonomy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hughns as functional changes these LGTM, so approving on behalf of design.

There's a lot we could improve in the UX copy (too much jargon, not layperson friendly) but a lot of that copy is already on production predating this PR.

Anticipating we'll improve this in earnest when we make larger changes to reset password (OIDC/auth?).

@hughns hughns merged commit bb4064f into develop Apr 22, 2022
@hughns hughns deleted the hughns/logout-devices-control branch April 22, 2022 17:15
su-ex added a commit to SchildiChat/element-desktop that referenced this pull request May 10, 2022
* Made the location map change the cursor to a pointer so it looks like it's clickable (https ([\#8451](matrix-org/matrix-react-sdk#8451)). Fixes element-hq/element-web#21991. Contributed by @Odyssey346.
* Implement improved spacing for the thread list and timeline ([\#8337](matrix-org/matrix-react-sdk#8337)). Fixes element-hq/element-web#21759. Contributed by @luixxiul.
* LLS: expose way to enable live sharing labs flag from location dialog ([\#8416](matrix-org/matrix-react-sdk#8416)).
* Fix source text boxes in View Source modal should have full width ([\#8425](matrix-org/matrix-react-sdk#8425)). Fixes element-hq/element-web#21938. Contributed by @EECvision.
* Read Receipts: never show +1, if it’s just 4, show all of them ([\#8428](matrix-org/matrix-react-sdk#8428)). Fixes element-hq/element-web#21935.
* Add opt-in analytics to onboarding tasks ([\#8409](matrix-org/matrix-react-sdk#8409)). Fixes element-hq/element-web#21705.
* Allow user to control if they are signed out of all devices when changing password ([\#8259](matrix-org/matrix-react-sdk#8259)). Fixes element-hq/element-web#2671.
* Implement new Read Receipt design ([\#8389](matrix-org/matrix-react-sdk#8389)). Fixes element-hq/element-web#20574.
* Stick connected video rooms to the top of the room list ([\#8353](matrix-org/matrix-react-sdk#8353)).
* LLS: fix jumpy maximised map ([\#8387](matrix-org/matrix-react-sdk#8387)).
* Persist audio and video mute state in video rooms ([\#8376](matrix-org/matrix-react-sdk#8376)).
* Forcefully disconnect from video rooms on logout and tab close ([\#8375](matrix-org/matrix-react-sdk#8375)).
* Add local echo of connected devices in video rooms ([\#8368](matrix-org/matrix-react-sdk#8368)).
* Improve text of account deactivation dialog ([\#8371](matrix-org/matrix-react-sdk#8371)). Fixes element-hq/element-web#17421.
* Live location sharing: own live beacon status on maximised view ([\#8374](matrix-org/matrix-react-sdk#8374)).
* Show a lobby screen in video rooms ([\#8287](matrix-org/matrix-react-sdk#8287)).
* Settings toggle to disable Composer Markdown ([\#8358](matrix-org/matrix-react-sdk#8358)). Fixes element-hq/element-web#20321.
* Cache localStorage objects for SettingsStore ([\#8366](matrix-org/matrix-react-sdk#8366)).
* Bring `View Source` back from behind developer mode ([\#8369](matrix-org/matrix-react-sdk#8369)). Fixes element-hq/element-web#21771.
* Fix update from creating desktop shortcut ([\element-hq#333](element-hq#333)). Fixes element-hq/element-web#9210. Contributed by @elibroftw.
* Fix macOS and Linux build regressions ([\element-hq#345](element-hq#345)).
* Allow loading language files with two part language code ([\element-hq#339](element-hq#339)). Contributed by @TPiUnikie.
* Fix Jitsi Meet getting wedged at startup in some cases ([\#21995](element-hq/element-web#21995)).
* Fix camera getting muted when disconnecting from a video room ([\#21958](element-hq/element-web#21958)).
* Fix race conditions around threads ([\#8448](matrix-org/matrix-react-sdk#8448)). Fixes element-hq/element-web#21627.
* Fix reading of cached room device setting values ([\#8495](matrix-org/matrix-react-sdk#8495)).
* Fix issue with dispatch happening mid-dispatch due to js-sdk emit ([\#8473](matrix-org/matrix-react-sdk#8473)). Fixes element-hq/element-web#22019.
* Match MSC behaviour for threads when disabled (thread-aware mode) ([\#8476](matrix-org/matrix-react-sdk#8476)). Fixes element-hq/element-web#22033.
* Specify position of DisambiguatedProfile inside a thread on bubble message layout ([\#8452](matrix-org/matrix-react-sdk#8452)). Fixes element-hq/element-web#21998. Contributed by @luixxiul.
* Location sharing: do not trackuserlocation in location picker ([\#8466](matrix-org/matrix-react-sdk#8466)). Fixes element-hq/element-web#22013.
* fix text and map indent in thread view ([\#8462](matrix-org/matrix-react-sdk#8462)). Fixes element-hq/element-web#21997.
* Live location sharing: don't group beacon info with room creation summary ([\#8468](matrix-org/matrix-react-sdk#8468)).
* Don't linkify code blocks ([\#7859](matrix-org/matrix-react-sdk#7859)). Fixes element-hq/element-web#9613.
* read receipts: improve tooltips to show names of users ([\#8438](matrix-org/matrix-react-sdk#8438)). Fixes element-hq/element-web#21940.
* Fix poll overflowing a reply tile on bubble message layout ([\#8459](matrix-org/matrix-react-sdk#8459)). Fixes element-hq/element-web#22005. Contributed by @luixxiul.
* Fix text link buttons on UserInfo panel ([\#8247](matrix-org/matrix-react-sdk#8247)). Fixes element-hq/element-web#21702. Contributed by @luixxiul.
* Clear local storage settings handler cache on logout ([\#8454](matrix-org/matrix-react-sdk#8454)). Fixes element-hq/element-web#21994.
* Fix jump to bottom button being always displayed in non-overflowing timelines ([\#8460](matrix-org/matrix-react-sdk#8460)). Fixes element-hq/element-web#22003.
* fix timeline search with empty text box should do nothing ([\#8262](matrix-org/matrix-react-sdk#8262)). Fixes element-hq/element-web#21714. Contributed by @EECvision.
* Fixes "space panel kebab menu is rendered out of view on sub spaces"  ([\#8350](matrix-org/matrix-react-sdk#8350)). Contributed by @yaya-usman.
* Add margin to the location map inside ThreadView ([\#8442](matrix-org/matrix-react-sdk#8442)). Fixes element-hq/element-web#21982. Contributed by @luixxiul.
* Patch: "Reloading the registration page should warn about data loss" ([\#8377](matrix-org/matrix-react-sdk#8377)). Contributed by @yaya-usman.
* Live location sharing: fix safari timestamps pt 2 ([\#8443](matrix-org/matrix-react-sdk#8443)).
* Fix issue with thread notification state ignoring initial events ([\#8417](matrix-org/matrix-react-sdk#8417)). Fixes element-hq/element-web#21927.
* Fix event text overflow on bubble message layout ([\#8391](matrix-org/matrix-react-sdk#8391)). Fixes element-hq/element-web#21882. Contributed by @luixxiul.
* Disable the message action bar when hovering over the 1px border between threads on the list ([\#8429](matrix-org/matrix-react-sdk#8429)). Fixes element-hq/element-web#21955. Contributed by @luixxiul.
* correctly align read receipts to state events in bubble layout ([\#8419](matrix-org/matrix-react-sdk#8419)). Fixes element-hq/element-web#21899.
* Fix issue with underfilled timelines when barren of content ([\#8432](matrix-org/matrix-react-sdk#8432)). Fixes element-hq/element-web#21930.
* Fix baseline misalignment of thread panel summary by deduplication ([\#8413](matrix-org/matrix-react-sdk#8413)).
* Fix editing of non-html replies ([\#8418](matrix-org/matrix-react-sdk#8418)). Fixes element-hq/element-web#21928.
* Read Receipts "Fall from the Sky" ([\#8414](matrix-org/matrix-react-sdk#8414)). Fixes element-hq/element-web#21888.
* Make read receipts handle nullable roomMembers correctly ([\#8410](matrix-org/matrix-react-sdk#8410)). Fixes element-hq/element-web#21896.
* Don't form continuations on either side of a thread root ([\#8408](matrix-org/matrix-react-sdk#8408)). Fixes element-hq/element-web#20908.
* Fix centering issue with sticker placeholder ([\#8404](matrix-org/matrix-react-sdk#8404)). Fixes element-hq/element-web#18014 and element-hq/element-web#6449.
* Disable download option on <video/> , preferring dedicated download button ([\#8403](matrix-org/matrix-react-sdk#8403)). Fixes element-hq/element-web#21902.
* Fix infinite loop when pinning/unpinning persistent widgets ([\#8396](matrix-org/matrix-react-sdk#8396)). Fixes element-hq/element-web#21864.
* Tweak ReadReceiptGroup to better handle disambiguation ([\#8402](matrix-org/matrix-react-sdk#8402)). Fixes element-hq/element-web#21897.
* stop the bottom edge of buttons getting clipped in devtools ([\#8400](matrix-org/matrix-react-sdk#8400)).
* Fix issue with threads timelines with few events cropping events ([\#8392](matrix-org/matrix-react-sdk#8392)). Fixes element-hq/element-web#20594.
* Changed font-weight to 400 to support light weight font ([\#8345](matrix-org/matrix-react-sdk#8345)). Fixes element-hq/element-web#21171. Contributed by @goelesha.
* Fix issue with thread panel not updating when it loads on first render ([\#8382](matrix-org/matrix-react-sdk#8382)). Fixes element-hq/element-web#21737.
* fix: "Mention highlight and cursor hover highlight has different corner radius" ([\#8384](matrix-org/matrix-react-sdk#8384)). Contributed by @yaya-usman.
* Fix regression around haveRendererForEvent for hidden events ([\#8379](matrix-org/matrix-react-sdk#8379)). Fixes element-hq/element-web#21862 and element-hq/element-web#21725.
* Fix regression around the room list treeview keyboard a11y ([\#8385](matrix-org/matrix-react-sdk#8385)). Fixes element-hq/element-web#21436.
* Remove float property to let the margin between events appear on bubble message layout ([\#8373](matrix-org/matrix-react-sdk#8373)). Fixes element-hq/element-web#21861. Contributed by @luixxiul.
* Fix race in Registration between server change and flows fetch ([\#8359](matrix-org/matrix-react-sdk#8359)). Fixes element-hq/element-web#21800.
* fix rainbow breaks compound emojis ([\#8245](matrix-org/matrix-react-sdk#8245)). Fixes element-hq/element-web#21371. Contributed by @EECvision.
* Fix RightPanelStore handling first room on app launch wrong ([\#8370](matrix-org/matrix-react-sdk#8370)). Fixes element-hq/element-web#21741.
* Fix UnknownBody error message unalignment ([\#8346](matrix-org/matrix-react-sdk#8346)). Fixes element-hq/element-web#21828. Contributed by @luixxiul.
* Use -webkit-line-clamp for the room header topic overflow ([\#8367](matrix-org/matrix-react-sdk#8367)). Fixes element-hq/element-web#21852. Contributed by @luixxiul.
* Fix issue with ServerInfo crashing the modal ([\#8364](matrix-org/matrix-react-sdk#8364)).
* Fixes around threads beta in degraded mode ([\#8319](matrix-org/matrix-react-sdk#8319)). Fixes element-hq/element-web#21762.
su-ex added a commit to SchildiChat/element-web that referenced this pull request May 10, 2022
* Made the location map change the cursor to a pointer so it looks like it's clickable (https ([\element-hq#8451](matrix-org/matrix-react-sdk#8451)). Fixes element-hq#21991. Contributed by @Odyssey346.
* Implement improved spacing for the thread list and timeline ([\element-hq#8337](matrix-org/matrix-react-sdk#8337)). Fixes element-hq#21759. Contributed by @luixxiul.
* LLS: expose way to enable live sharing labs flag from location dialog ([\element-hq#8416](matrix-org/matrix-react-sdk#8416)).
* Fix source text boxes in View Source modal should have full width ([\element-hq#8425](matrix-org/matrix-react-sdk#8425)). Fixes element-hq#21938. Contributed by @EECvision.
* Read Receipts: never show +1, if it’s just 4, show all of them ([\element-hq#8428](matrix-org/matrix-react-sdk#8428)). Fixes element-hq#21935.
* Add opt-in analytics to onboarding tasks ([\element-hq#8409](matrix-org/matrix-react-sdk#8409)). Fixes element-hq#21705.
* Allow user to control if they are signed out of all devices when changing password ([\element-hq#8259](matrix-org/matrix-react-sdk#8259)). Fixes element-hq#2671.
* Implement new Read Receipt design ([\element-hq#8389](matrix-org/matrix-react-sdk#8389)). Fixes element-hq#20574.
* Stick connected video rooms to the top of the room list ([\element-hq#8353](matrix-org/matrix-react-sdk#8353)).
* LLS: fix jumpy maximised map ([\element-hq#8387](matrix-org/matrix-react-sdk#8387)).
* Persist audio and video mute state in video rooms ([\element-hq#8376](matrix-org/matrix-react-sdk#8376)).
* Forcefully disconnect from video rooms on logout and tab close ([\element-hq#8375](matrix-org/matrix-react-sdk#8375)).
* Add local echo of connected devices in video rooms ([\element-hq#8368](matrix-org/matrix-react-sdk#8368)).
* Improve text of account deactivation dialog ([\element-hq#8371](matrix-org/matrix-react-sdk#8371)). Fixes element-hq#17421.
* Live location sharing: own live beacon status on maximised view ([\element-hq#8374](matrix-org/matrix-react-sdk#8374)).
* Show a lobby screen in video rooms ([\element-hq#8287](matrix-org/matrix-react-sdk#8287)).
* Settings toggle to disable Composer Markdown ([\element-hq#8358](matrix-org/matrix-react-sdk#8358)). Fixes element-hq#20321.
* Cache localStorage objects for SettingsStore ([\element-hq#8366](matrix-org/matrix-react-sdk#8366)).
* Bring `View Source` back from behind developer mode ([\element-hq#8369](matrix-org/matrix-react-sdk#8369)). Fixes element-hq#21771.
* Fix Jitsi Meet getting wedged at startup in some cases ([\element-hq#21995](element-hq#21995)).
* Fix camera getting muted when disconnecting from a video room ([\element-hq#21958](element-hq#21958)).
* Fix race conditions around threads ([\element-hq#8448](matrix-org/matrix-react-sdk#8448)). Fixes element-hq#21627.
* Fix reading of cached room device setting values ([\element-hq#8495](matrix-org/matrix-react-sdk#8495)).
* Fix issue with dispatch happening mid-dispatch due to js-sdk emit ([\element-hq#8473](matrix-org/matrix-react-sdk#8473)). Fixes element-hq#22019.
* Match MSC behaviour for threads when disabled (thread-aware mode) ([\element-hq#8476](matrix-org/matrix-react-sdk#8476)). Fixes element-hq#22033.
* Specify position of DisambiguatedProfile inside a thread on bubble message layout ([\element-hq#8452](matrix-org/matrix-react-sdk#8452)). Fixes element-hq#21998. Contributed by @luixxiul.
* Location sharing: do not trackuserlocation in location picker ([\element-hq#8466](matrix-org/matrix-react-sdk#8466)). Fixes element-hq#22013.
* fix text and map indent in thread view ([\element-hq#8462](matrix-org/matrix-react-sdk#8462)). Fixes element-hq#21997.
* Live location sharing: don't group beacon info with room creation summary ([\element-hq#8468](matrix-org/matrix-react-sdk#8468)).
* Don't linkify code blocks ([\element-hq#7859](matrix-org/matrix-react-sdk#7859)). Fixes element-hq#9613.
* read receipts: improve tooltips to show names of users ([\element-hq#8438](matrix-org/matrix-react-sdk#8438)). Fixes element-hq#21940.
* Fix poll overflowing a reply tile on bubble message layout ([\element-hq#8459](matrix-org/matrix-react-sdk#8459)). Fixes element-hq#22005. Contributed by @luixxiul.
* Fix text link buttons on UserInfo panel ([\element-hq#8247](matrix-org/matrix-react-sdk#8247)). Fixes element-hq#21702. Contributed by @luixxiul.
* Clear local storage settings handler cache on logout ([\element-hq#8454](matrix-org/matrix-react-sdk#8454)). Fixes element-hq#21994.
* Fix jump to bottom button being always displayed in non-overflowing timelines ([\element-hq#8460](matrix-org/matrix-react-sdk#8460)). Fixes element-hq#22003.
* fix timeline search with empty text box should do nothing ([\element-hq#8262](matrix-org/matrix-react-sdk#8262)). Fixes element-hq#21714. Contributed by @EECvision.
* Fixes "space panel kebab menu is rendered out of view on sub spaces"  ([\element-hq#8350](matrix-org/matrix-react-sdk#8350)). Contributed by @yaya-usman.
* Add margin to the location map inside ThreadView ([\element-hq#8442](matrix-org/matrix-react-sdk#8442)). Fixes element-hq#21982. Contributed by @luixxiul.
* Patch: "Reloading the registration page should warn about data loss" ([\element-hq#8377](matrix-org/matrix-react-sdk#8377)). Contributed by @yaya-usman.
* Live location sharing: fix safari timestamps pt 2 ([\element-hq#8443](matrix-org/matrix-react-sdk#8443)).
* Fix issue with thread notification state ignoring initial events ([\element-hq#8417](matrix-org/matrix-react-sdk#8417)). Fixes element-hq#21927.
* Fix event text overflow on bubble message layout ([\element-hq#8391](matrix-org/matrix-react-sdk#8391)). Fixes element-hq#21882. Contributed by @luixxiul.
* Disable the message action bar when hovering over the 1px border between threads on the list ([\element-hq#8429](matrix-org/matrix-react-sdk#8429)). Fixes element-hq#21955. Contributed by @luixxiul.
* correctly align read receipts to state events in bubble layout ([\element-hq#8419](matrix-org/matrix-react-sdk#8419)). Fixes element-hq#21899.
* Fix issue with underfilled timelines when barren of content ([\element-hq#8432](matrix-org/matrix-react-sdk#8432)). Fixes element-hq#21930.
* Fix baseline misalignment of thread panel summary by deduplication ([\element-hq#8413](matrix-org/matrix-react-sdk#8413)).
* Fix editing of non-html replies ([\element-hq#8418](matrix-org/matrix-react-sdk#8418)). Fixes element-hq#21928.
* Read Receipts "Fall from the Sky" ([\element-hq#8414](matrix-org/matrix-react-sdk#8414)). Fixes element-hq#21888.
* Make read receipts handle nullable roomMembers correctly ([\element-hq#8410](matrix-org/matrix-react-sdk#8410)). Fixes element-hq#21896.
* Don't form continuations on either side of a thread root ([\element-hq#8408](matrix-org/matrix-react-sdk#8408)). Fixes element-hq#20908.
* Fix centering issue with sticker placeholder ([\element-hq#8404](matrix-org/matrix-react-sdk#8404)). Fixes element-hq#18014 and element-hq#6449.
* Disable download option on <video/> , preferring dedicated download button ([\element-hq#8403](matrix-org/matrix-react-sdk#8403)). Fixes element-hq#21902.
* Fix infinite loop when pinning/unpinning persistent widgets ([\element-hq#8396](matrix-org/matrix-react-sdk#8396)). Fixes element-hq#21864.
* Tweak ReadReceiptGroup to better handle disambiguation ([\element-hq#8402](matrix-org/matrix-react-sdk#8402)). Fixes element-hq#21897.
* stop the bottom edge of buttons getting clipped in devtools ([\element-hq#8400](matrix-org/matrix-react-sdk#8400)).
* Fix issue with threads timelines with few events cropping events ([\element-hq#8392](matrix-org/matrix-react-sdk#8392)). Fixes element-hq#20594.
* Changed font-weight to 400 to support light weight font ([\element-hq#8345](matrix-org/matrix-react-sdk#8345)). Fixes element-hq#21171. Contributed by @goelesha.
* Fix issue with thread panel not updating when it loads on first render ([\element-hq#8382](matrix-org/matrix-react-sdk#8382)). Fixes element-hq#21737.
* fix: "Mention highlight and cursor hover highlight has different corner radius" ([\element-hq#8384](matrix-org/matrix-react-sdk#8384)). Contributed by @yaya-usman.
* Fix regression around haveRendererForEvent for hidden events ([\element-hq#8379](matrix-org/matrix-react-sdk#8379)). Fixes element-hq#21862 and element-hq#21725.
* Fix regression around the room list treeview keyboard a11y ([\element-hq#8385](matrix-org/matrix-react-sdk#8385)). Fixes element-hq#21436.
* Remove float property to let the margin between events appear on bubble message layout ([\element-hq#8373](matrix-org/matrix-react-sdk#8373)). Fixes element-hq#21861. Contributed by @luixxiul.
* Fix race in Registration between server change and flows fetch ([\element-hq#8359](matrix-org/matrix-react-sdk#8359)). Fixes element-hq#21800.
* fix rainbow breaks compound emojis ([\element-hq#8245](matrix-org/matrix-react-sdk#8245)). Fixes element-hq#21371. Contributed by @EECvision.
* Fix RightPanelStore handling first room on app launch wrong ([\element-hq#8370](matrix-org/matrix-react-sdk#8370)). Fixes element-hq#21741.
* Fix UnknownBody error message unalignment ([\element-hq#8346](matrix-org/matrix-react-sdk#8346)). Fixes element-hq#21828. Contributed by @luixxiul.
* Use -webkit-line-clamp for the room header topic overflow ([\element-hq#8367](matrix-org/matrix-react-sdk#8367)). Fixes element-hq#21852. Contributed by @luixxiul.
* Fix issue with ServerInfo crashing the modal ([\element-hq#8364](matrix-org/matrix-react-sdk#8364)).
* Fixes around threads beta in degraded mode ([\element-hq#8319](matrix-org/matrix-react-sdk#8319)). Fixes element-hq#21762.
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this pull request May 10, 2022
* Made the location map change the cursor to a pointer so it looks like it's clickable (https ([\matrix-org#8451](matrix-org#8451)). Fixes element-hq/element-web#21991. Contributed by @Odyssey346.
* Implement improved spacing for the thread list and timeline ([\matrix-org#8337](matrix-org#8337)). Fixes element-hq/element-web#21759. Contributed by @luixxiul.
* LLS: expose way to enable live sharing labs flag from location dialog ([\matrix-org#8416](matrix-org#8416)).
* Fix source text boxes in View Source modal should have full width ([\matrix-org#8425](matrix-org#8425)). Fixes element-hq/element-web#21938. Contributed by @EECvision.
* Read Receipts: never show +1, if it’s just 4, show all of them ([\matrix-org#8428](matrix-org#8428)). Fixes element-hq/element-web#21935.
* Add opt-in analytics to onboarding tasks ([\matrix-org#8409](matrix-org#8409)). Fixes element-hq/element-web#21705.
* Allow user to control if they are signed out of all devices when changing password ([\matrix-org#8259](matrix-org#8259)). Fixes element-hq/element-web#2671.
* Implement new Read Receipt design ([\matrix-org#8389](matrix-org#8389)). Fixes element-hq/element-web#20574.
* Stick connected video rooms to the top of the room list ([\matrix-org#8353](matrix-org#8353)).
* LLS: fix jumpy maximised map ([\matrix-org#8387](matrix-org#8387)).
* Persist audio and video mute state in video rooms ([\matrix-org#8376](matrix-org#8376)).
* Forcefully disconnect from video rooms on logout and tab close ([\matrix-org#8375](matrix-org#8375)).
* Add local echo of connected devices in video rooms ([\matrix-org#8368](matrix-org#8368)).
* Improve text of account deactivation dialog ([\matrix-org#8371](matrix-org#8371)). Fixes element-hq/element-web#17421.
* Live location sharing: own live beacon status on maximised view ([\matrix-org#8374](matrix-org#8374)).
* Show a lobby screen in video rooms ([\matrix-org#8287](matrix-org#8287)).
* Settings toggle to disable Composer Markdown ([\matrix-org#8358](matrix-org#8358)). Fixes element-hq/element-web#20321.
* Cache localStorage objects for SettingsStore ([\matrix-org#8366](matrix-org#8366)).
* Bring `View Source` back from behind developer mode ([\matrix-org#8369](matrix-org#8369)). Fixes element-hq/element-web#21771.
* Fix race conditions around threads ([\matrix-org#8448](matrix-org#8448)). Fixes element-hq/element-web#21627.
* Fix reading of cached room device setting values ([\matrix-org#8495](matrix-org#8495)).
* Fix issue with dispatch happening mid-dispatch due to js-sdk emit ([\matrix-org#8473](matrix-org#8473)). Fixes element-hq/element-web#22019.
* Match MSC behaviour for threads when disabled (thread-aware mode) ([\matrix-org#8476](matrix-org#8476)). Fixes element-hq/element-web#22033.
* Specify position of DisambiguatedProfile inside a thread on bubble message layout ([\matrix-org#8452](matrix-org#8452)). Fixes element-hq/element-web#21998. Contributed by @luixxiul.
* Location sharing: do not trackuserlocation in location picker ([\matrix-org#8466](matrix-org#8466)). Fixes element-hq/element-web#22013.
* fix text and map indent in thread view ([\matrix-org#8462](matrix-org#8462)). Fixes element-hq/element-web#21997.
* Live location sharing: don't group beacon info with room creation summary ([\matrix-org#8468](matrix-org#8468)).
* Don't linkify code blocks ([\matrix-org#7859](matrix-org#7859)). Fixes element-hq/element-web#9613.
* read receipts: improve tooltips to show names of users ([\matrix-org#8438](matrix-org#8438)). Fixes element-hq/element-web#21940.
* Fix poll overflowing a reply tile on bubble message layout ([\matrix-org#8459](matrix-org#8459)). Fixes element-hq/element-web#22005. Contributed by @luixxiul.
* Fix text link buttons on UserInfo panel ([\matrix-org#8247](matrix-org#8247)). Fixes element-hq/element-web#21702. Contributed by @luixxiul.
* Clear local storage settings handler cache on logout ([\matrix-org#8454](matrix-org#8454)). Fixes element-hq/element-web#21994.
* Fix jump to bottom button being always displayed in non-overflowing timelines ([\matrix-org#8460](matrix-org#8460)). Fixes element-hq/element-web#22003.
* fix timeline search with empty text box should do nothing ([\matrix-org#8262](matrix-org#8262)). Fixes element-hq/element-web#21714. Contributed by @EECvision.
* Fixes "space panel kebab menu is rendered out of view on sub spaces"  ([\matrix-org#8350](matrix-org#8350)). Contributed by @yaya-usman.
* Add margin to the location map inside ThreadView ([\matrix-org#8442](matrix-org#8442)). Fixes element-hq/element-web#21982. Contributed by @luixxiul.
* Patch: "Reloading the registration page should warn about data loss" ([\matrix-org#8377](matrix-org#8377)). Contributed by @yaya-usman.
* Live location sharing: fix safari timestamps pt 2 ([\matrix-org#8443](matrix-org#8443)).
* Fix issue with thread notification state ignoring initial events ([\matrix-org#8417](matrix-org#8417)). Fixes element-hq/element-web#21927.
* Fix event text overflow on bubble message layout ([\matrix-org#8391](matrix-org#8391)). Fixes element-hq/element-web#21882. Contributed by @luixxiul.
* Disable the message action bar when hovering over the 1px border between threads on the list ([\matrix-org#8429](matrix-org#8429)). Fixes element-hq/element-web#21955. Contributed by @luixxiul.
* correctly align read receipts to state events in bubble layout ([\matrix-org#8419](matrix-org#8419)). Fixes element-hq/element-web#21899.
* Fix issue with underfilled timelines when barren of content ([\matrix-org#8432](matrix-org#8432)). Fixes element-hq/element-web#21930.
* Fix baseline misalignment of thread panel summary by deduplication ([\matrix-org#8413](matrix-org#8413)).
* Fix editing of non-html replies ([\matrix-org#8418](matrix-org#8418)). Fixes element-hq/element-web#21928.
* Read Receipts "Fall from the Sky" ([\matrix-org#8414](matrix-org#8414)). Fixes element-hq/element-web#21888.
* Make read receipts handle nullable roomMembers correctly ([\matrix-org#8410](matrix-org#8410)). Fixes element-hq/element-web#21896.
* Don't form continuations on either side of a thread root ([\matrix-org#8408](matrix-org#8408)). Fixes element-hq/element-web#20908.
* Fix centering issue with sticker placeholder ([\matrix-org#8404](matrix-org#8404)). Fixes element-hq/element-web#18014 and element-hq/element-web#6449.
* Disable download option on <video/> , preferring dedicated download button ([\matrix-org#8403](matrix-org#8403)). Fixes element-hq/element-web#21902.
* Fix infinite loop when pinning/unpinning persistent widgets ([\matrix-org#8396](matrix-org#8396)). Fixes element-hq/element-web#21864.
* Tweak ReadReceiptGroup to better handle disambiguation ([\matrix-org#8402](matrix-org#8402)). Fixes element-hq/element-web#21897.
* stop the bottom edge of buttons getting clipped in devtools ([\matrix-org#8400](matrix-org#8400)).
* Fix issue with threads timelines with few events cropping events ([\matrix-org#8392](matrix-org#8392)). Fixes element-hq/element-web#20594.
* Changed font-weight to 400 to support light weight font ([\matrix-org#8345](matrix-org#8345)). Fixes element-hq/element-web#21171. Contributed by @goelesha.
* Fix issue with thread panel not updating when it loads on first render ([\matrix-org#8382](matrix-org#8382)). Fixes element-hq/element-web#21737.
* fix: "Mention highlight and cursor hover highlight has different corner radius" ([\matrix-org#8384](matrix-org#8384)). Contributed by @yaya-usman.
* Fix regression around haveRendererForEvent for hidden events ([\matrix-org#8379](matrix-org#8379)). Fixes element-hq/element-web#21862 and element-hq/element-web#21725.
* Fix regression around the room list treeview keyboard a11y ([\matrix-org#8385](matrix-org#8385)). Fixes element-hq/element-web#21436.
* Remove float property to let the margin between events appear on bubble message layout ([\matrix-org#8373](matrix-org#8373)). Fixes element-hq/element-web#21861. Contributed by @luixxiul.
* Fix race in Registration between server change and flows fetch ([\matrix-org#8359](matrix-org#8359)). Fixes element-hq/element-web#21800.
* fix rainbow breaks compound emojis ([\matrix-org#8245](matrix-org#8245)). Fixes element-hq/element-web#21371. Contributed by @EECvision.
* Fix RightPanelStore handling first room on app launch wrong ([\matrix-org#8370](matrix-org#8370)). Fixes element-hq/element-web#21741.
* Fix UnknownBody error message unalignment ([\matrix-org#8346](matrix-org#8346)). Fixes element-hq/element-web#21828. Contributed by @luixxiul.
* Use -webkit-line-clamp for the room header topic overflow ([\matrix-org#8367](matrix-org#8367)). Fixes element-hq/element-web#21852. Contributed by @luixxiul.
* Fix issue with ServerInfo crashing the modal ([\matrix-org#8364](matrix-org#8364)).
* Fixes around threads beta in degraded mode ([\matrix-org#8319](matrix-org#8319)). Fixes element-hq/element-web#21762.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

changing password should not log out all your devices (and destroy your e2e history)
8 participants