Page MenuHomePhabricator

D13284.id44166.diff
No OneTemporary

D13284.id44166.diff

diff --git a/keyserver/src/updaters/account-updaters.js b/keyserver/src/updaters/account-updaters.js
--- a/keyserver/src/updaters/account-updaters.js
+++ b/keyserver/src/updaters/account-updaters.js
@@ -116,6 +116,11 @@
throw new ServerError('not_logged_in');
}
+ // keyserver shouldn't support thick-thread-specific requests
+ if (request.type === 'non_keyserver_image') {
+ throw new ServerError('invalid_parameters');
+ }
+
const newAvatarValue =
request.type === 'remove' ? null : JSON.stringify(request);
diff --git a/lib/types/avatar-types.js b/lib/types/avatar-types.js
--- a/lib/types/avatar-types.js
+++ b/lib/types/avatar-types.js
@@ -43,8 +43,16 @@
export type UpdateUserAvatarRemoveRequest = { +type: 'remove' };
+export type NonKeyserverImageAvatarContent = {
+ +type: 'non_keyserver_image',
+ +blobURI: string,
+ +encryptionKey: string,
+ +thumbHash: ?string,
+};
+
export type UpdateUserAvatarRequest =
| AvatarDBContent
+ | NonKeyserverImageAvatarContent
| UpdateUserAvatarRemoveRequest;
export type ClientEmojiAvatar = EmojiAvatarDBContent;
diff --git a/native/account/registration/avatar-selection.react.js b/native/account/registration/avatar-selection.react.js
--- a/native/account/registration/avatar-selection.react.js
+++ b/native/account/registration/avatar-selection.react.js
@@ -95,7 +95,8 @@
const clientRequest = selection.updateUserAvatarRequest;
invariant(
clientRequest.type !== 'image' &&
- clientRequest.type !== 'encrypted_image',
+ clientRequest.type !== 'encrypted_image' &&
+ clientRequest.type !== 'non_keyserver_image',
'image avatars need to be uploaded',
);
const newAvatarData = {

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 10:57 AM (14 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2129426
Default Alt Text
D13284.id44166.diff (1 KB)

Event Timeline