From 209aa77a2edb22703ee8743c0b3485fa45765941 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Wed, 13 May 2020 10:20:53 +0200 Subject: [PATCH] add some e2ee impl notes --- doc/impl-thoughts/E2EE.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/doc/impl-thoughts/E2EE.md b/doc/impl-thoughts/E2EE.md index 59110a78..51aa660a 100644 --- a/doc/impl-thoughts/E2EE.md +++ b/doc/impl-thoughts/E2EE.md @@ -3,6 +3,20 @@ - implement MemberList as ObservableMap - make sure we have all members (as we're using lazy loading members), and store these somehow - do we need to update /members on every limited sync response or did we find a way around this? + - fields: + - user id + - room id + - membership (invite, join, leave, ban) + - display name + - avatar url + - needs disambiguation in member list? (e.g. display name is not unique) + - device tracking status + - key [room id, user id] so we can easily get who is in a room by looking at [room id, min] -> [room id, max] + should the display name also be part of the key so the list is sorted by name? or have a sorting field of some sort + - index on: + - user_id (to see which rooms a user is in, e.g. to recalculate trust on key changes) + - [room id, display name] to determine disambiguation? + - for just e2ee without showing the list in the UI, we can do with only some of these things. - implement creating/loading an olm account - add libolm as dependency - store pickled account @@ -29,8 +43,8 @@ - store devices - id - userid - - signing KP - - identity KP + - signing PK + - identity PK - algorithms - device name - verified