Kegan Dougal
Kegan Dougal
His initial sync took 1m30s. With OIDC servers, we cannot do the trick of "if you have an existing device logged in, use that and instantly return the latest data"...
https://github.com/element-hq/element-web/issues/27623 is similar, but this time it's the backup key that is missing, the other 3 are there.
The log files show: ``` 2024-09-30T09:49:06.508671Z INFO TestRoomKeyIsNotCycledOnClientRestart/rust: [@user-44-alice:hs1](rust) MustStartSyncing starting to sync | rust.go:0 2024-09-30T09:49:06.508759Z DEBUG log: sync_service 2024-09-30T09:49:06.508799Z DEBUG log: finish 2024-09-30T09:49:06.509119Z DEBUG matrix_sdk::sliding_sync::cache: loading list from DB...
A successful local run shows: ``` 2024-10-01T09:06:32.107085Z INFO TestRoomKeyIsNotCycledOnClientRestart/rust: [@user-1-alice:hs1](rust) MustStartSyncing starting to sync | rust.go:0 2024-10-01T09:06:32.107120Z DEBUG log: sync_service 2024-10-01T09:06:32.107143Z DEBUG log: finish 2024-10-01T09:06:32.107828Z DEBUG matrix_sdk::sliding_sync::cache: loading list from...
Right, found the cause. When it starts up, 2 sliding sync connections are made: ``` Starting sync stream | crates/matrix-sdk/src/sliding_sync/mod.rs:742 | spans: sync_stream{conn_id="room-list" with_e2ee=false} Starting sync stream | crates/matrix-sdk/src/sliding_sync/mod.rs:742 |...
The fix fwiw is to just use ?timeout=0 on the first sync (before the room list state is loaded). This matches sync V2 behaviour in other clients.
Cross-signing is not fully implemente over federation as per: ``` Cross-signing Keys : 75% (6/8 tests) ✓ Can upload self-signing keys ✓ Fails to upload self-signing keys with no auth...
This has been 100% for some time now: ``` Cross-signing Keys : 100% (8/8 tests) ✅ Can upload self-signing keys ✅ Fails to upload self-signing keys with no auth ✅...
I'm assuming that the Element instance was Element-Web. If so, you may have hit https://github.com/element-hq/element-web/issues/21919
https://github.com/element-hq/element-web/issues/26322 feels like a common way for real people to hit this, which would explain why we see this more in the wild and not at all in tests.