matrix-org / matrix-org/matrix-js-sdk

pipeline sending of decryption keys and encrypting the decryption keys

Open
#729 0 comments 0 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
TypeScript
Stars
2.2k
Forks
704
Avg merge
1d 20h
Merged PRs (30d)
40

Description

Right now, `src/crypto/algorithms/megolm.js:_shareKeyWithDevices` splits devices into batches, and waits until one batch is completely finished before starting on the next batch. Processing each batch consists of encrypting the key for each device, and then sending the keys. We could save some time by starting the encryption for the next batch while the current batch is being sent.

Contributor guide

Open the contributing guide

Research direction

Start in src/crypto/algorithms/megolm.js at _shareKeyWithDevices and trace how batch encryption and key sending are sequenced. The work is done when encryption for the next device batch can begin while the current batch is being sent, without changing the batching or key-delivery behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cryptography, performance
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.