Profile fetches shouldn't drop our own profile key

This commit is contained in:
Fedor Indutny 2022-03-14 14:50:08 -07:00 committed by GitHub
parent 2114c851c7
commit c28971ee9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 6 deletions

View File

@ -131,7 +131,9 @@ async function doGetProfile(c: ConversationModel): Promise<void> {
throw error;
}
if (error.code === 401 || error.code === 403) {
await c.setProfileKey(undefined);
if (!isMe(c.attributes)) {
await c.setProfileKey(undefined);
}
// Retry fetch using last known profileKeyVersion or fetch
// unversioned profile.
@ -306,7 +308,9 @@ async function doGetProfile(c: ConversationModel): Promise<void> {
log.warn(
`getProfile: Got 401/403 when using accessKey for ${idForLogging}, removing profileKey`
);
c.setProfileKey(undefined);
if (!isMe(c.attributes)) {
await c.setProfileKey(undefined);
}
}
if (c.get('sealedSender') === SEALED_SENDER.UNKNOWN) {
log.warn(
@ -363,11 +367,8 @@ async function doGetProfile(c: ConversationModel): Promise<void> {
if (error instanceof HTTPError) {
if (error.code === 403 || error.code === 404) {
log.warn(
`getProfile: clearing profile avatar for conversation ${idForLogging}`
`getProfile: profile avatar is missing for conversation ${idForLogging}`
);
c.set({
profileAvatar: null,
});
}
} else {
log.warn(