Skip to content

Profile fetching

Ruben De Smet requested to merge profile-fetching into master

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 and app/src/main/java/org/thoughtcrime/securesms/util/ProfileUtil.java and check security premisses.
  • On new contact, the OutdatedProfileStream 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

Merge request reports