Open LunaSquee opened 1 year ago
This is probably caused by device_keys: null
in the request, which the spec doesn't clarify as being allowed to be null
or not.
Could this be an upstream rust-sdk issue then? I have no real way to test that
it's most likely a bot-sdk bug, but it's arguable that Dendrite is overly strict here.
I can confirm this is fixing the issue for me.
Describe the bug When setting up a
RustSdkCryptoStorageProvider
on theMatrixClient
, it keeps throwing the erroruser_id or device_id mismatch
in the log and doesn't actually seem to synchronize beyond that point.and also the following messages are thrown
and
To Reproduce Steps to reproduce the behavior:
Very minimal example code:
I also tried with password auth in code directly so that the room ID would immediately be associated with this crypto storage but that to also no avail (just using passwordLogin and taking the accessToken from the created MatrixClient)
Expected behavior It should handle encrypted rooms correctly.
Log snippet Dendrite log:
Additional context I could trace the error back to this request https://github.com/turt2live/matrix-bot-sdk/blob/main/src/e2ee/RustEngine.ts#L136 but im not exactly sure how to interpret this as im not familiar with "OlmMachine".
Dendrite source code I speculate the error might be from but im not absolutely sure about it: https://github.com/matrix-org/dendrite/blob/main/userapi/internal/key_api.go#L685-L695