Adds support for versioned profiles

* Add zkgroup library

* tsconfig.json: Prettier wants to mess it up. :0(

* Initial take on versioned profile fetches

* Fix up the logging in getProfiles() - warn instead of error

* Introduce new VERSIONED_PROFILE_FETCH flag

* Update zkgroup dependency to v0.5.0

* Fix lint-deps - new zkgroup library brought in new debug dep

* ts/zkgroup: Introduce some commonly-used helper functions

* Update to latest serverPublicParams

* Don't derive profileKeyVersion unless flag is set
This commit is contained in:
Scott Nonnenberg 2020-04-15 16:12:28 -07:00 committed by GitHub
parent 5f0c07eec2
commit c1dfe3e5b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 591 additions and 25 deletions

View file

@ -675,12 +675,25 @@ export default class MessageSender {
);
}
async getProfile(number: string, { accessKey }: { accessKey?: string } = {}) {
async getProfile(
number: string,
options: {
accessKey?: string;
profileKeyVersion?: string;
profileKeyCredentialRequest?: string;
} = {}
) {
const { accessKey } = options;
if (accessKey) {
return this.server.getProfileUnauth(number, { accessKey });
const unauthOptions = {
...options,
accessKey,
};
return this.server.getProfileUnauth(number, unauthOptions);
}
return this.server.getProfile(number);
return this.server.getProfile(number, options);
}
async getAvatar(path: string) {