GSoC 2019 reports
Name: Alexey Andreyev
e-mail: yetanotherandreyev@gmail.com
matrix: @aa13q:matrix.org
Idea: "Adding end-to-end encryption to more clients"
Mentors: Alexey Rusakov, Hubert Chathi
Working branch: aa13q-E2EE
- Update the epic at the github repo
- Implement
EncryptionManager
with qtolm - * Implement qt5keychain based olm pickle saving (side task)
- Implement creating and registering one-time keys
- Implement configuring a room to use encryption
- Handle incoming events (
m.room.encryption
,m.room.encrypted
,m.room_key
events) - Downloading the device list for users in the room
- 1st bonding week: (6/05 - 12/05) formed manuals list, dived into the documentation. Formed a task to research libqtolm possible integration
- 2nd bonding week: (13/05 - 19/05) worked on a side task: "User color coding", added PRs to the Quotient library and the Quaternion client.
- 3rd bonding week: (20/05 - 26/05) trying libqtolm integration options: found qt5.10 qrandomgenerator usage
Coding officially begins
-
1st week: (27/05 - 2/06): added initial Qt<5.10 support to qtolm, integrated qtolm to quotient
-
2nd week: (03/06 - 09/06) started working at issue quotient-im#87 "Upload device public keys". Saved for later (as TODO) a task of saving olm account pickle via qt5keychain.
-
3rd week: (10/06 - 16/06) worked on "Upload one-time keys task", OneTimeKeysManager class.
-
4th week: (17/06 - 23/06) finishing "Upload one-time keys task, moving from OneTimeKeysManager to EncryptionManager, changed settings API to appropriate
AccountSettings::encryptionAccountPickle
-
5th week: (24/06 - 30/06) finished EncryptionManager implementation draft, pushed PR, planning to implement handling incoming encryption events
-
6th week: (01/07 - 07/07) olm PR, libQtOlm MR about in-tree dependencies building. Time to finish the first PR and focus on message receiving
-
7th week: (08/07 - 14/07) Implement
m.encrypted
events support