Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New session manager beta wants me to verify session that doesn't support it #23722

Closed
MadLittleMods opened this issue Nov 7, 2022 · 11 comments · Fixed by matrix-org/matrix-react-sdk#9717
Assignees
Labels
A-Session-Mgmt Session / device names, management UI, etc. O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@MadLittleMods
Copy link
Contributor

MadLittleMods commented Nov 7, 2022

Steps to reproduce

Found while compiling: #23709

With the new session manager beta, it wants me to verify this session:

But according to the old session management, that session doesn't even support verification. I don't know what's special or different about that other session. Maybe the session was created from some client API usage since it's the archiver used with the Matrix public archive, not sure why it would say "Chrome, Windows" then though.

In any case, we seem to be able to detect the difference in the old session manager which is lost in the new one.

Outcome

What did you expect?

Only verifiable sessions are suggested to verify

What happened instead?

All unverified sessions are shown

Operating system

Windows 10

Browser information

Chrome Version 107.0.5304.88

URL for webapp

https://develop.element.io/

Application version

Element version: 577a6b7-react-be5a8ca3b9c7-js-52932f59ab64 Olm version: 3.2.12

Homeserver

matrix.org

Will you send logs?

No

@MadLittleMods MadLittleMods added T-Defect A-Session-Mgmt Session / device names, management UI, etc. labels Nov 7, 2022
@andybalaam andybalaam added S-Minor Impairs non-critical functionality or suitable workarounds exist O-Occasional Affects or can be seen by some users regularly or most users rarely labels Nov 8, 2022
@Johennes
Copy link
Contributor

Johennes commented Nov 9, 2022

Looks like this category is chosen for devices that throw when trying to access the cross-signing info: https://github.com/matrix-org/matrix-react-sdk/blob/7d0af1dca46b75aec23f7aa1a4d2c80746f5e56e/src/components/views/settings/DevicesPanel.tsx#L134

It's unclear to me what exactly the conditions are under which this happens.

@MadLittleMods how could we create a session like this ourselves on a test account to investigate and verify this across platforms?

@MadLittleMods
Copy link
Contributor Author

@Johennes I have no idea about reproduction steps to create that type of session. But perhaps we can export whatever data I have there. Any JavaScript snippet handy to extract it?

@alfogrillo
Copy link

alfogrillo commented Nov 9, 2022

I don't know if it's related but on iOS I'm often finding new sessions not able to get the status of other sessions.
This happen because our code expects the device to be in the state StateCanCrossSign to get other devices' states while it often happens to be in the state StateCrossSigningExists.
As result all the other sessions are in the unknown state.
Does this looks correct @Johennes?

Screenshot 2022-11-09 alle 15 59 56

Simulator Screen Shot - iPhone 14 - 2022-11-09 at 16 09 24

@Johennes
Copy link
Contributor

Johennes commented Nov 9, 2022

Hm, I think this one is different and means that your session can do cross signing but hasn't yet been verified so you cannot see the verification status of other sessions until that is done.

@Johennes
Copy link
Contributor

Johennes commented Nov 9, 2022

@Johennes I have no idea about reproduction steps to create that type of session. But perhaps we can export whatever data I have there. Any JavaScript snippet handy to extract it?

@kerryarchibald once you're back, could you chime in an see how we might be able to reproduce this?

@alfogrillo
Copy link

Hm, I think this one is different and means that your session can do cross signing but hasn't yet been verified so you cannot see the verification status of other sessions until that is done.

@Johennes the web looks to behave differently, they can see other sessions' states even if the current session isn't verified. 🤔

Screenshot 2022-11-09 alle 16 45 25

What is Android doing @mnaturel?

@Johennes
Copy link
Contributor

Johennes commented Nov 9, 2022

Yes we discovered this before. Android should behave similar to iOS but web doesn't as you say. It's a known platform difference that should be cleared up.

@mnaturel
Copy link

Yes we discovered this before. Android should behave similar to iOS but web doesn't as you say. It's a known platform difference that should be cleared up.

I confirm Android behavior is aligned on iOS behavior right now. But I don't know the status of this current issue on mobile as we should first find a way to be in the same conditions if it is possible.

@alfogrillo
Copy link

To be honest it looks like a bug to me on the mobile unless there are specific reasons why we would prefer this behavior.

@Johennes
Copy link
Contributor

@onurays managed to reproduce the issue on an older session he happened to have in his account and it looks like the device didn't upload crypto keys (and hence doesn't support encryption / cannot be verified).

no-keys

@Johennes
Copy link
Contributor

Confirmed the way to reproduce this is to simply login through the API via curl

curl -d '{ "type": "m.login.password", "identifier": { "type": "m.id.user", "user": "..." }, "password": "..." }' -H "Content-Type: application/json" -X POST https://matrix-client.matrix.org/_matrix/client/v3/login

Afterwards I'm getting the session in the "Devices without encryption support" on Element Web.

Screenshot 2022-11-10 at 15 42 33

@kerryarchibald kerryarchibald self-assigned this Nov 17, 2022
su-ex added a commit to SchildiChat/element-desktop that referenced this issue Jan 15, 2023
* This allows the update server to be entirely static, such as a CDN or object store, as defined at https ([\element-hq#461](element-hq#461)).
* Enable threads by default ([\#9736](matrix-org/matrix-react-sdk#9736)). Fixes element-hq/element-web#19270 element-hq/element-web#21910 and element-hq/element-web#23946.
* Add inline code formatting to rich text editor ([\#9720](matrix-org/matrix-react-sdk#9720)).
* Add emoji handling for plain text mode of the new rich text editor ([\#9727](matrix-org/matrix-react-sdk#9727)).
* Overlay virtual room call events into main timeline ([\#9626](matrix-org/matrix-react-sdk#9626)). Fixes element-hq/element-web#22929.
* Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\#9596](matrix-org/matrix-react-sdk#9596)). Contributed by @GoodGuyMarco.
* Add emoji handling for rich text mode ([\#9661](matrix-org/matrix-react-sdk#9661)).
* Add setting to hide bold notifications ([\#9705](matrix-org/matrix-react-sdk#9705)).
* Further password reset flow enhancements ([\#9662](matrix-org/matrix-react-sdk#9662)).
* Snooze the bulk unverified sessions reminder on dismiss ([\#9706](matrix-org/matrix-react-sdk#9706)).
* Honor advanced audio processing settings when recording voice messages ([\#9610](matrix-org/matrix-react-sdk#9610)). Contributed by @MrAnno.
* Improve the visual balance of bubble layout ([\#9704](matrix-org/matrix-react-sdk#9704)).
* Add config setting to disable bulk unverified sessions nag ([\#9657](matrix-org/matrix-react-sdk#9657)).
* Only display bulk unverified sessions nag when current sessions is verified ([\#9656](matrix-org/matrix-react-sdk#9656)).
* Separate labs and betas more clearly ([\#8969](matrix-org/matrix-react-sdk#8969)). Fixes element-hq/element-web#22706.
* Show user an error if we fail to create a DM for verification. ([\#9624](matrix-org/matrix-react-sdk#9624)).
* Prevent unnecessary m.direct updates ([\#9805](matrix-org/matrix-react-sdk#9805)). Fixes element-hq/element-web#24059.
* Fix checkForPreJoinUISI for thread roots ([\#9803](matrix-org/matrix-react-sdk#9803)). Fixes element-hq/element-web#24054.
* Load RTE components only when RTE labs is enabled ([\#9804](matrix-org/matrix-react-sdk#9804)).
* Fix issue where thread panel did not update correctly ([\#9746](matrix-org/matrix-react-sdk#9746)). Fixes element-hq/element-web#23971.
* Remove async call to get virtual room from room load ([\#9743](matrix-org/matrix-react-sdk#9743)). Fixes element-hq/element-web#23968.
* Check each thread for unread messages. ([\#9723](matrix-org/matrix-react-sdk#9723)).
* Device manage - handle sessions that don't support encryption ([\#9717](matrix-org/matrix-react-sdk#9717)). Fixes element-hq/element-web#23722.
* Fix hover state for formatting buttons (Rich text editor) (fix element-hq/element-web/issues/23832) ([\#9715](matrix-org/matrix-react-sdk#9715)).
* Don't allow group calls to be unterminated ([\#9710](matrix-org/matrix-react-sdk#9710)).
* Fix replies to emotes not showing as inline ([\#9707](matrix-org/matrix-react-sdk#9707)). Fixes element-hq/element-web#23903.
* Update copy of 'Change layout' button to match Element Call ([\#9703](matrix-org/matrix-react-sdk#9703)).
* Fix call splitbrains when switching between rooms ([\#9692](matrix-org/matrix-react-sdk#9692)).
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\#9664](matrix-org/matrix-react-sdk#9664)). Fixes element-hq/element-web#17263.
* Fix power selector being wrongly disabled for admins themselves ([\#9681](matrix-org/matrix-react-sdk#9681)). Fixes element-hq/element-web#23882.
* Show day counts in call durations ([\#9641](matrix-org/matrix-react-sdk#9641)).
su-ex added a commit to SchildiChat/element-web that referenced this issue Jan 15, 2023
* Add inline code formatting to rich text editor ([\element-hq#9720](matrix-org/matrix-react-sdk#9720)).
* Add emoji handling for plain text mode of the new rich text editor ([\element-hq#9727](matrix-org/matrix-react-sdk#9727)).
* Overlay virtual room call events into main timeline ([\element-hq#9626](matrix-org/matrix-react-sdk#9626)). Fixes element-hq#22929.
* Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\element-hq#9596](matrix-org/matrix-react-sdk#9596)). Contributed by @GoodGuyMarco.
* Add emoji handling for rich text mode ([\element-hq#9661](matrix-org/matrix-react-sdk#9661)).
* Add setting to hide bold notifications ([\element-hq#9705](matrix-org/matrix-react-sdk#9705)).
* Further password reset flow enhancements ([\element-hq#9662](matrix-org/matrix-react-sdk#9662)).
* Snooze the bulk unverified sessions reminder on dismiss ([\element-hq#9706](matrix-org/matrix-react-sdk#9706)).
* Honor advanced audio processing settings when recording voice messages ([\element-hq#9610](matrix-org/matrix-react-sdk#9610)). Contributed by @MrAnno.
* Improve the visual balance of bubble layout ([\element-hq#9704](matrix-org/matrix-react-sdk#9704)).
* Add config setting to disable bulk unverified sessions nag ([\element-hq#9657](matrix-org/matrix-react-sdk#9657)).
* Only display bulk unverified sessions nag when current sessions is verified ([\element-hq#9656](matrix-org/matrix-react-sdk#9656)).
* Separate labs and betas more clearly ([\element-hq#8969](matrix-org/matrix-react-sdk#8969)). Fixes element-hq#22706.
* Show user an error if we fail to create a DM for verification. ([\element-hq#9624](matrix-org/matrix-react-sdk#9624)).
* Prevent unnecessary m.direct updates ([\element-hq#9805](matrix-org/matrix-react-sdk#9805)). Fixes element-hq#24059.
* Fix checkForPreJoinUISI for thread roots ([\element-hq#9803](matrix-org/matrix-react-sdk#9803)). Fixes element-hq#24054.
* Load RTE components only when RTE labs is enabled ([\element-hq#9804](matrix-org/matrix-react-sdk#9804)).
* Fix issue where thread panel did not update correctly ([\element-hq#9746](matrix-org/matrix-react-sdk#9746)). Fixes element-hq#23971.
* Remove async call to get virtual room from room load ([\element-hq#9743](matrix-org/matrix-react-sdk#9743)). Fixes element-hq#23968.
* Check each thread for unread messages. ([\element-hq#9723](matrix-org/matrix-react-sdk#9723)).
* Device manage - handle sessions that don't support encryption ([\element-hq#9717](matrix-org/matrix-react-sdk#9717)). Fixes element-hq#23722.
* Fix hover state for formatting buttons (Rich text editor) (fix element-hq/issues/23832) ([\element-hq#9715](matrix-org/matrix-react-sdk#9715)).
* Don't allow group calls to be unterminated ([\element-hq#9710](matrix-org/matrix-react-sdk#9710)).
* Fix replies to emotes not showing as inline ([\element-hq#9707](matrix-org/matrix-react-sdk#9707)). Fixes element-hq#23903.
* Update copy of 'Change layout' button to match Element Call ([\element-hq#9703](matrix-org/matrix-react-sdk#9703)).
* Fix call splitbrains when switching between rooms ([\element-hq#9692](matrix-org/matrix-react-sdk#9692)).
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\element-hq#9664](matrix-org/matrix-react-sdk#9664)). Fixes element-hq#17263.
* Fix power selector being wrongly disabled for admins themselves ([\element-hq#9681](matrix-org/matrix-react-sdk#9681)). Fixes element-hq#23882.
* Show day counts in call durations ([\element-hq#9641](matrix-org/matrix-react-sdk#9641)).
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this issue Jan 15, 2023
* Prevent unnecessary m.direct updates ([\matrix-org#9805](matrix-org#9805)). Fixes element-hq/element-web#24059.
* Fix checkForPreJoinUISI for thread roots ([\matrix-org#9803](matrix-org#9803)). Fixes element-hq/element-web#24054.
* Add inline code formatting to rich text editor ([\matrix-org#9720](matrix-org#9720)).
* Add emoji handling for plain text mode of the new rich text editor ([\matrix-org#9727](matrix-org#9727)).
* Overlay virtual room call events into main timeline ([\matrix-org#9626](matrix-org#9626)). Fixes element-hq/element-web#22929.
* Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\matrix-org#9596](matrix-org#9596)). Contributed by @GoodGuyMarco.
* Add emoji handling for rich text mode ([\matrix-org#9661](matrix-org#9661)).
* Add setting to hide bold notifications ([\matrix-org#9705](matrix-org#9705)).
* Further password reset flow enhancements ([\matrix-org#9662](matrix-org#9662)).
* Snooze the bulk unverified sessions reminder on dismiss ([\matrix-org#9706](matrix-org#9706)).
* Honor advanced audio processing settings when recording voice messages ([\matrix-org#9610](matrix-org#9610)). Contributed by @MrAnno.
* Improve the visual balance of bubble layout ([\matrix-org#9704](matrix-org#9704)).
* Add config setting to disable bulk unverified sessions nag ([\matrix-org#9657](matrix-org#9657)).
* Only display bulk unverified sessions nag when current sessions is verified ([\matrix-org#9656](matrix-org#9656)).
* Separate labs and betas more clearly ([\matrix-org#8969](matrix-org#8969)). Fixes element-hq/element-web#22706.
* Show user an error if we fail to create a DM for verification. ([\matrix-org#9624](matrix-org#9624)).
* Fix issue where thread panel did not update correctly ([\matrix-org#9746](matrix-org#9746)). Fixes element-hq/element-web#23971.
* Remove async call to get virtual room from room load ([\matrix-org#9743](matrix-org#9743)). Fixes element-hq/element-web#23968.
* Check each thread for unread messages. ([\matrix-org#9723](matrix-org#9723)).
* Device manage - handle sessions that don't support encryption ([\matrix-org#9717](matrix-org#9717)). Fixes element-hq/element-web#23722.
* Fix hover state for formatting buttons (Rich text editor) (fix element-hq/element-web/issues/23832) ([\matrix-org#9715](matrix-org#9715)).
* Don't allow group calls to be unterminated ([\matrix-org#9710](matrix-org#9710)).
* Fix replies to emotes not showing as inline ([\matrix-org#9707](matrix-org#9707)). Fixes element-hq/element-web#23903.
* Update copy of 'Change layout' button to match Element Call ([\matrix-org#9703](matrix-org#9703)).
* Fix call splitbrains when switching between rooms ([\matrix-org#9692](matrix-org#9692)).
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\matrix-org#9664](matrix-org#9664)). Fixes element-hq/element-web#17263.
* Fix power selector being wrongly disabled for admins themselves ([\matrix-org#9681](matrix-org#9681)). Fixes element-hq/element-web#23882.
* Show day counts in call durations ([\matrix-org#9641](matrix-org#9641)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Session-Mgmt Session / device names, management UI, etc. O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants