Profile fetching
Fixes #451 (closed) in part.
Very much related to &3.
TODO:
-
Profile decryption (code should be 99% there in libsignal-service) -
Check that we don't fetch our own profile - For device synchronisation we probably will need to fetch our own profile, but that should behave differently.
-
Putting profile in db. -
Don't forget to update the last_profile_fetch column! -
Set the last_profile_fetch
column also on 404.
-
-
Go over ava/org/thoughtcrime/securesms/jobs/RetrieveProfileJob.java
andapp/src/main/java/org/thoughtcrime/securesms/util/ProfileUtil.java
and check security premisses. -
On new contact, theOutdatedProfileStream
should get an extra wake-up event, potentially via a channel, or via a reset.- Postponed until we implement PNI and sending messages to new contacts.
-
On new profile key, wake the outdatedprofilestream and mark the profile as outdated. -
In principle, this is (symmetrically) authenticated encryption, but double-check whether this is in fact authenticated. - For fetching credentials, there is extra checks in place. Currently we don't fetch the credentials.
-
Expose the name etc. to QML (!307 (merged)) -
Ensure that QML can handle the no phone number case: disable the contact page when we do not have the phone number (!299 (merged)) -
Expose profile updates to QML -
Fix duplicate profile fetch requests -
Actual testing
Edited by Ruben De Smet