Skylar-Tech / node-red-contrib-matrix-chat

Matrix chat server support for Node-RED
GNU General Public License v3.0
31 stars 10 forks source link

Error uploading one-time keys causes client to disconnect #26

Closed skylord123 closed 2 years ago

skylord123 commented 2 years ago

Been getting this error which causes my client to disconnect:

generating oneTimeKeys

generating fallback key

Error uploading one-time keys TypeError: account.generate_fallback_key is not a function

    at /data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/OlmDevice.js:462:15

    at /data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/OlmDevice.js:250:7

    at LocalStorageCryptoStore.getAccount (/data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js:348:5)

    at OlmDevice._getAccount (/data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/OlmDevice.js:245:21)

    at /data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/OlmDevice.js:461:10

    at LocalStorageCryptoStore.doTxn (/data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js:374:28)

    at OlmDevice.generateFallbackKey (/data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/OlmDevice.js:460:27)

    at uploadLoop (/data/node_modules/node-red-contrib-matrix-chat/node_modules/matrix-js-sdk/lib/crypto/index.js:1728:32)

    at runMicrotasks (<anonymous>)

    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Looks like it has something to do with the olm library. We are currently using version olm-3.1.4 when there is now version 3.2.1. Checking the releases here shows that version 3.2.0 added support for fallback keys.

It looks like another version 3.2.5 added support fro fallback keys on objective-c and android bindings but shouldn't really matter to us. This version is also not currently available as an NPM package https://packages.matrix.org/npm/olm/