Page MenuHomePhabricator

D13286.id44166.diff
No OneTemporary

D13286.id44166.diff

diff --git a/web/avatars/avatar-hooks.react.js b/web/avatars/avatar-hooks.react.js
--- a/web/avatars/avatar-hooks.react.js
+++ b/web/avatars/avatar-hooks.react.js
@@ -17,7 +17,15 @@
// TODO: flip the switch
const useBlobServiceUploads = false;
-function useUploadAvatarMedia(): File => Promise<UpdateUserAvatarRequest> {
+type AvatarMediaUploadOptions = {
+ +uploadMetadataToKeyserver?: boolean,
+};
+
+function useUploadAvatarMedia(
+ options: AvatarMediaUploadOptions = {},
+): File => Promise<UpdateUserAvatarRequest> {
+ const { uploadMetadataToKeyserver = true } = options;
+
const callUploadMultimedia = useLegacyAshoatKeyserverCall(uploadMultimedia);
const callBlobServiceUpload = useBlobServiceUpload();
const uploadAvatarMedia = React.useCallback(
@@ -32,7 +40,9 @@
...dimensions,
loop: false,
};
- if (!useBlobServiceUploads) {
+ const useBlobService =
+ !uploadMetadataToKeyserver || useBlobServiceUploads;
+ if (!useBlobService) {
const { id } = await callUploadMultimedia(fixedFile, uploadExtras);
return { type: 'image', uploadID: id };
}
@@ -56,7 +66,7 @@
? thumbHashResult.thumbHash
: null;
- const { id } = await callBlobServiceUpload({
+ const { id, uri } = await callBlobServiceUpload({
uploadInput: {
blobInput: {
type: 'file',
@@ -68,13 +78,24 @@
loop: false,
thumbHash,
},
- keyserverOrThreadID: authoritativeKeyserverID,
+ keyserverOrThreadID: uploadMetadataToKeyserver
+ ? authoritativeKeyserverID
+ : null,
callbacks: {},
});
- return { type: 'encrypted_image', uploadID: id };
+ if (uploadMetadataToKeyserver) {
+ return { type: 'encrypted_image', uploadID: id };
+ }
+
+ return {
+ type: 'non_keyserver_image',
+ blobURI: uri,
+ thumbHash,
+ encryptionKey,
+ };
},
- [callBlobServiceUpload, callUploadMultimedia],
+ [callBlobServiceUpload, callUploadMultimedia, uploadMetadataToKeyserver],
);
return uploadAvatarMedia;
}
diff --git a/web/avatars/edit-thread-avatar-menu.react.js b/web/avatars/edit-thread-avatar-menu.react.js
--- a/web/avatars/edit-thread-avatar-menu.react.js
+++ b/web/avatars/edit-thread-avatar-menu.react.js
@@ -10,6 +10,7 @@
ThreadInfo,
RawThreadInfo,
} from 'lib/types/minimally-encoded-thread-permissions-types.js';
+import { threadTypeIsThick } from 'lib/types/thread-types-enum.js';
import { useUploadAvatarMedia } from './avatar-hooks.react.js';
import css from './edit-avatar-menu.css';
@@ -58,7 +59,9 @@
[],
);
- const uploadAvatarMedia = useUploadAvatarMedia();
+ const uploadAvatarMedia = useUploadAvatarMedia({
+ uploadMetadataToKeyserver: !threadTypeIsThick(threadInfo.type),
+ });
const onImageSelected = React.useCallback(
async (event: SyntheticEvent<HTMLInputElement>) => {
const { target } = event;

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 20, 1:27 AM (19 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2326850
Default Alt Text
D13286.id44166.diff (2 KB)

Event Timeline