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

Bump matrix-sdk-crypto-wasm to 5.0.0 #4216

Merged
merged 4 commits into from
May 24, 2024
Merged

Conversation

richvdh
Copy link
Member

@richvdh richvdh commented May 24, 2024

Slightly more involved than normal because it requires us to pass a backup version into OlmMachine.importBackedUpRoomKeys.

On the other hand we can now re-enable the test that was disabled in #4214 due to matrix-org/matrix-rust-sdk#3447

Fixes: element-hq/element-web#27165

element-web notes: Fix a bug in the Rust crypto implementation which caused repeated HTTP requests to /keys/query when the session was unverified.

@richvdh richvdh requested review from a team as code owners May 24, 2024 10:16
Copy link
Member

@andybalaam andybalaam left a comment

Choose a reason for hiding this comment

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

Looks good; one question.

@@ -1888,7 +1888,11 @@ export class Crypto extends TypedEventEmitter<CryptoEvent, CryptoEventHandlerMap
/**
* Implementation of {@link CryptoBackend#importBackedUpRoomKeys}.
*/
public importBackedUpRoomKeys(keys: IMegolmSessionData[], opts: ImportRoomKeysOpts = {}): Promise<void> {
public importBackedUpRoomKeys(
Copy link
Member

Choose a reason for hiding this comment

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

Does this change a public interface and do we need to do something if so?

Copy link
Member Author

Choose a reason for hiding this comment

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

no, CryptoBackend is an internal interface.

Copy link
Member Author

Choose a reason for hiding this comment

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

(and legacy Crypto is documented as being an internal interface, even though we weren't very good at following that.)

@richvdh
Copy link
Member Author

richvdh commented May 24, 2024

The coverage gate is complaining about legacy crypto. I'm afraid I'm not going to fix that.

@richvdh richvdh merged commit b19817b into develop May 24, 2024
34 of 36 checks passed
@richvdh richvdh deleted the rav/element-r/rust_sdk_5_0_0 branch May 24, 2024 11:10
thoraj added a commit to verji/matrix-js-sdk that referenced this pull request Aug 15, 2024
* Preserve ESM for async imports to work correctly (matrix-org#4187)

* fix: fix lazy rust crypto import

* test: use "commonjs" for tests because of circular deps

* chore: revert commonjs for "module"

* refactor: remove unnecessary example

* refactor: add comments

Signed-off-by: Bayyr Oorjak <[email protected]>

* refactor: improve comment

Signed-off-by: Bayyr Oorjak <[email protected]>

Co-authored-by: Richard van der Hoff <[email protected]>

* Update babel.config.js

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>

* Update organization (matrix-org#4212)

* v32.4.0

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0 (matrix-org#4214)

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0

* Disable affected test

Signed-off-by: Michael Telatynski <[email protected]>

---------

Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>

* `initRustCrypto`: allow app to pass in the store key directly (matrix-org#4210)

* `initRustCrypto`: allow app to pass in the store key directly

... instead of using the pickleKey. This allows us to avoid a slow PBKDF
operation.

* Fix link in doc-comment

* Bump matrix-sdk-crypto-wasm to 5.0.0 (matrix-org#4216)

Slightly more involved than normal because it requires us to pass a backup version into OlmMachine.importBackedUpRoomKeys.

On the other hand we can now re-enable the test that was disabled in matrix-org#4214 due to matrix-org/matrix-rust-sdk#3447

Fixes: element-hq/element-web#27165

* Remove more deprecated methods, fields, and exports (matrix-org#4217)

* Don't run migration for Rust crypto if the legacy store is empty (matrix-org#4218)

* Don't run migration for Rust crypto if the legacy store is empty

Fixes element-hq/element-web#27447

* Add copyright for the TypeScript files in legacy DB dumps

* Provide a type for the accountPickle we check for before migration

* Remove redundant backup response

This is unused

* Simplify keys response

* Downgrade log message.

---------

Co-authored-by: Richard van der Hoff <[email protected]>

* v33.0.0-rc.0

* v33.0.0

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
Co-authored-by: R Midhun Suresh <[email protected]>
Co-authored-by: RiotRobot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>
Co-authored-by: Andy Balaam <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
thoraj added a commit to verji/matrix-js-sdk that referenced this pull request Aug 15, 2024
* Preserve ESM for async imports to work correctly (matrix-org#4187)

* fix: fix lazy rust crypto import

* test: use "commonjs" for tests because of circular deps

* chore: revert commonjs for "module"

* refactor: remove unnecessary example

* refactor: add comments

Signed-off-by: Bayyr Oorjak <[email protected]>

* refactor: improve comment

Signed-off-by: Bayyr Oorjak <[email protected]>

Co-authored-by: Richard van der Hoff <[email protected]>

* Update babel.config.js

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>

* Update organization (matrix-org#4212)

* v32.4.0

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0 (matrix-org#4214)

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0

* Disable affected test

Signed-off-by: Michael Telatynski <[email protected]>

---------

Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>

* `initRustCrypto`: allow app to pass in the store key directly (matrix-org#4210)

* `initRustCrypto`: allow app to pass in the store key directly

... instead of using the pickleKey. This allows us to avoid a slow PBKDF
operation.

* Fix link in doc-comment

* Bump matrix-sdk-crypto-wasm to 5.0.0 (matrix-org#4216)

Slightly more involved than normal because it requires us to pass a backup version into OlmMachine.importBackedUpRoomKeys.

On the other hand we can now re-enable the test that was disabled in matrix-org#4214 due to matrix-org/matrix-rust-sdk#3447

Fixes: element-hq/element-web#27165

* Remove more deprecated methods, fields, and exports (matrix-org#4217)

* Don't run migration for Rust crypto if the legacy store is empty (matrix-org#4218)

* Don't run migration for Rust crypto if the legacy store is empty

Fixes element-hq/element-web#27447

* Add copyright for the TypeScript files in legacy DB dumps

* Provide a type for the accountPickle we check for before migration

* Remove redundant backup response

This is unused

* Simplify keys response

* Downgrade log message.

---------

Co-authored-by: Richard van der Hoff <[email protected]>

* v33.0.0-rc.0

* v33.0.0

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
Co-authored-by: R Midhun Suresh <[email protected]>
Co-authored-by: RiotRobot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>
Co-authored-by: Andy Balaam <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
thoraj added a commit to verji/matrix-js-sdk that referenced this pull request Aug 15, 2024
* Bringing develop to v 33.0.0 (#5)

* Preserve ESM for async imports to work correctly (matrix-org#4187)

* fix: fix lazy rust crypto import

* test: use "commonjs" for tests because of circular deps

* chore: revert commonjs for "module"

* refactor: remove unnecessary example

* refactor: add comments

Signed-off-by: Bayyr Oorjak <[email protected]>

* refactor: improve comment

Signed-off-by: Bayyr Oorjak <[email protected]>

Co-authored-by: Richard van der Hoff <[email protected]>

* Update babel.config.js

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>

* Update organization (matrix-org#4212)

* v32.4.0

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0 (matrix-org#4214)

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0

* Disable affected test

Signed-off-by: Michael Telatynski <[email protected]>

---------

Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>

* `initRustCrypto`: allow app to pass in the store key directly (matrix-org#4210)

* `initRustCrypto`: allow app to pass in the store key directly

... instead of using the pickleKey. This allows us to avoid a slow PBKDF
operation.

* Fix link in doc-comment

* Bump matrix-sdk-crypto-wasm to 5.0.0 (matrix-org#4216)

Slightly more involved than normal because it requires us to pass a backup version into OlmMachine.importBackedUpRoomKeys.

On the other hand we can now re-enable the test that was disabled in matrix-org#4214 due to matrix-org/matrix-rust-sdk#3447

Fixes: element-hq/element-web#27165

* Remove more deprecated methods, fields, and exports (matrix-org#4217)

* Don't run migration for Rust crypto if the legacy store is empty (matrix-org#4218)

* Don't run migration for Rust crypto if the legacy store is empty

Fixes element-hq/element-web#27447

* Add copyright for the TypeScript files in legacy DB dumps

* Provide a type for the accountPickle we check for before migration

* Remove redundant backup response

This is unused

* Simplify keys response

* Downgrade log message.

---------

Co-authored-by: Richard van der Hoff <[email protected]>

* v33.0.0-rc.0

* v33.0.0

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
Co-authored-by: R Midhun Suresh <[email protected]>
Co-authored-by: RiotRobot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>
Co-authored-by: Andy Balaam <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>

* Bring develop to v33.0.0 (#6)

* Preserve ESM for async imports to work correctly (matrix-org#4187)

* fix: fix lazy rust crypto import

* test: use "commonjs" for tests because of circular deps

* chore: revert commonjs for "module"

* refactor: remove unnecessary example

* refactor: add comments

Signed-off-by: Bayyr Oorjak <[email protected]>

* refactor: improve comment

Signed-off-by: Bayyr Oorjak <[email protected]>

Co-authored-by: Richard van der Hoff <[email protected]>

* Update babel.config.js

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>

* Update organization (matrix-org#4212)

* v32.4.0

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0 (matrix-org#4214)

* Update dependency @matrix-org/matrix-sdk-crypto-wasm to v4.10.0

* Disable affected test

Signed-off-by: Michael Telatynski <[email protected]>

---------

Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>

* `initRustCrypto`: allow app to pass in the store key directly (matrix-org#4210)

* `initRustCrypto`: allow app to pass in the store key directly

... instead of using the pickleKey. This allows us to avoid a slow PBKDF
operation.

* Fix link in doc-comment

* Bump matrix-sdk-crypto-wasm to 5.0.0 (matrix-org#4216)

Slightly more involved than normal because it requires us to pass a backup version into OlmMachine.importBackedUpRoomKeys.

On the other hand we can now re-enable the test that was disabled in matrix-org#4214 due to matrix-org/matrix-rust-sdk#3447

Fixes: element-hq/element-web#27165

* Remove more deprecated methods, fields, and exports (matrix-org#4217)

* Don't run migration for Rust crypto if the legacy store is empty (matrix-org#4218)

* Don't run migration for Rust crypto if the legacy store is empty

Fixes element-hq/element-web#27447

* Add copyright for the TypeScript files in legacy DB dumps

* Provide a type for the accountPickle we check for before migration

* Remove redundant backup response

This is unused

* Simplify keys response

* Downgrade log message.

---------

Co-authored-by: Richard van der Hoff <[email protected]>

* v33.0.0-rc.0

* v33.0.0

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
Co-authored-by: R Midhun Suresh <[email protected]>
Co-authored-by: RiotRobot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>
Co-authored-by: Andy Balaam <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>

---------

Signed-off-by: Bayyr Oorjak <[email protected]>
Signed-off-by: Michael Telatynski <[email protected]>
Co-authored-by: Bayyr Oorjak <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
Co-authored-by: R Midhun Suresh <[email protected]>
Co-authored-by: RiotRobot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <[email protected]>
Co-authored-by: Andy Balaam <[email protected]>
Co-authored-by: Richard van der Hoff <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

/keys/query loop in unverified sessions
2 participants