Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Encryption tab: hideAdvanced section when the key storage is out of sync#29129

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

florianduros
Copy link
Member

@floriandurosflorianduros commentedJan 29, 2025
edited
Loading

Checklist

  • Tests written for new code (and old code if feasible).
  • New or updatedpublic/exported symbols have accurateTSDoc documentation.
  • Linter and other CI checks pass.
  • I have licensed the changes to Element by completing theContributor License Agreement (CLA)

Figma design

TheAdvanced section in theEncryption tab of the user settings should not be displayed when the key storage is out of sync.
The secrets verification is moved to the encryption tab level instead to be at the recovery section level in order to only display the "key storage out of sync" section.

The PR can be reviewed by commit.

…ot cached locallyThe secret verification is now made at the level of `EncryptionUserSettingsTab` instead at the `RecoveryPanel` level. In the `EncryptionUserSettingsTab`, we decide to only display `RecoveryPanelOutOfSync` in case of uncached secrets.`RecoveryPanelOutOfSync` is simplified version of `RecoveryPanel` handling only the `secrets_not_cached` case.
Copy link
Member

@richvdhrichvdh left a comment

Choose a reason for hiding this comment

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

looks sensible in general. A few comments.

await expect(content).toMatchScreenshot("verify-device-encryption-tab.png");
await verifyButton.click();

await util.verifyDevice(recoveryKey);
Copy link
Member

Choose a reason for hiding this comment

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

[aside: the fact that some utilities are standalone functions, and others have to be enabled via a fixture, is confusing to me. IMHO we should use fixtures less.]

- fix typos- call onFinish after accessSecretStorage- onFinish doesn't need to be asynchronous

// Check if the secrets are cached
const cachedSecrets = (await crypto.getCrossSigningStatus()).privateKeysCachedLocally;
const secretsOk = cachedSecrets.masterKey && cachedSecrets.selfSigningKey && cachedSecrets.userSigningKey;
Copy link
Member

Choose a reason for hiding this comment

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

Don't we also need to check the key backup decryption key here? What happens if that is in 4S but not in the local client?

Copy link
MemberAuthor

@floriandurosfloriandurosJan 30, 2025
edited
Loading

Choose a reason for hiding this comment

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

Hmm, good point. I'm doing another PR with this change#29150 (wip)


// Check if the secrets are cached
const cachedSecrets = (await crypto.getCrossSigningStatus()).privateKeysCachedLocally;
const secretsOk = cachedSecrets.masterKey && cachedSecrets.selfSigningKey && cachedSecrets.userSigningKey;
Copy link
Member

Choose a reason for hiding this comment

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

At some point (maybe not right now), we need to move this out of here and into a utility function somewhere (possibly in the js-sdk), otherwise, we have 150 different places to remember to update every time we introduce a new secret. Particularly, this is conflicting with the device dehydration work.

florianduros reacted with thumbs up emoji
Copy link
MemberAuthor

@floriandurosfloriandurosJan 31, 2025
edited
Loading

Choose a reason for hiding this comment

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

See wip#29150

@floriandurosflorianduros added this pull request to themerge queueFeb 3, 2025
Merged via the queue intodevelop with commitb7f8623Feb 3, 2025
33 checks passed
@floriandurosflorianduros deleted the florianduros/secret-not-cache-advanced-section branchFebruary 3, 2025 13:59
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@dbkrdbkrdbkr approved these changes

@richvdhrichvdhrichvdh approved these changes

Assignees
No one assigned
Labels
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@florianduros@dbkr@richvdh

[8]ページ先頭

©2009-2025 Movatter.jp