Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F3522887
D13892.id45686.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Referenced Files
None
Subscribers
None
D13892.id45686.diff
View Options
diff --git a/native/avatars/avatar-hooks.js b/native/avatars/avatar-hooks.js
--- a/native/avatars/avatar-hooks.js
+++ b/native/avatars/avatar-hooks.js
@@ -44,8 +44,6 @@
import blobServiceUploadHandler from '../utils/blob-service-upload.js';
import { useStaffCanSee } from '../utils/staff-utils.js';
-const useBlobServiceUploads = true;
-
function displayAvatarUpdateFailureAlert(): void {
Alert.alert(
'Couldn’t save avatar',
@@ -63,8 +61,7 @@
const callBlobServiceUpload = useBlobServiceUpload();
return React.useCallback(
async (processedMedia, metadataUploadLocation) => {
- const useBlobService =
- metadataUploadLocation !== 'keyserver' || useBlobServiceUploads;
+ const useBlobService = metadataUploadLocation !== 'keyserver';
if (!useBlobService) {
const { uploadURI, filename, mime, dimensions } = processedMedia;
const { id } = await callUploadMultimedia(
diff --git a/native/input/input-state-container.react.js b/native/input/input-state-container.react.js
--- a/native/input/input-state-container.react.js
+++ b/native/input/input-state-container.react.js
@@ -192,8 +192,6 @@
> = new Map();
pendingThreadUpdateHandlers: Map<string, (ThreadInfo) => mixed> = new Map();
- useBlobServiceUploads = true;
-
// When the user sends a multimedia message that triggers the creation of a
// sidebar, the sidebar gets created right away, but the message needs to wait
// for the uploads to complete before sending. We use this Set to track the
@@ -629,11 +627,6 @@
}
}
- // eslint-disable-next-line no-unused-vars
- shouldEncryptMedia(threadInfo: ThreadInfo): boolean {
- return true;
- }
-
sendMultimediaMessage = async (
selections: $ReadOnlyArray<NativeMediaSelection>,
threadInfo: ThreadInfo,
@@ -722,7 +715,7 @@
creatorID,
media,
},
- { forceMultimediaMessageType: this.shouldEncryptMedia(threadInfo) },
+ { forceMultimediaMessageType: true },
);
this.props.dispatch({
type: createLocalMessageActionType,
@@ -825,29 +818,27 @@
});
}
- if (this.shouldEncryptMedia(threadInfo)) {
- const encryptionStart = Date.now();
- try {
- const { result: encryptionResult, ...encryptionReturn } =
- await encryptMedia(processedMedia);
- encryptionSteps = encryptionReturn.steps;
- if (!encryptionResult.success) {
- onUploadFailed(encryptionResult.reason);
- return await onUploadFinished(encryptionResult);
- }
- if (encryptionResult.shouldDisposePath) {
- filesToDispose.push(encryptionResult.shouldDisposePath);
- }
- processedMedia = encryptionResult;
- } catch (e) {
- onUploadFailed('encryption failed');
- return await onUploadFinished({
- success: false,
- reason: 'encryption_exception',
- time: Date.now() - encryptionStart,
- exceptionMessage: getMessageForException(e),
- });
+ const encryptionStart = Date.now();
+ try {
+ const { result: encryptionResult, ...encryptionReturn } =
+ await encryptMedia(processedMedia);
+ encryptionSteps = encryptionReturn.steps;
+ if (!encryptionResult.success) {
+ onUploadFailed(encryptionResult.reason);
+ return await onUploadFinished(encryptionResult);
+ }
+ if (encryptionResult.shouldDisposePath) {
+ filesToDispose.push(encryptionResult.shouldDisposePath);
}
+ processedMedia = encryptionResult;
+ } catch (e) {
+ onUploadFailed('encryption failed');
+ return await onUploadFinished({
+ success: false,
+ reason: 'encryption_exception',
+ time: Date.now() - encryptionStart,
+ exceptionMessage: getMessageForException(e),
+ });
}
const { uploadURI, filename, mime } = processedMedia;
@@ -861,12 +852,10 @@
mediaMissionResult;
const isThickThread = threadTypeIsThick(threadInfo.type);
- const useBlobService = isThickThread || this.useBlobServiceUploads;
try {
if (
- useBlobService &&
- (processedMedia.mediaType === 'encrypted_photo' ||
- processedMedia.mediaType === 'encrypted_video')
+ processedMedia.mediaType === 'encrypted_photo' ||
+ processedMedia.mediaType === 'encrypted_video'
) {
const uploadMetadataToKeyserver = !isThickThread;
const uploadPromise = this.props.blobServiceUpload({
@@ -941,7 +930,6 @@
processedMedia.mediaType === 'encrypted_video'
? processedMedia.loop
: undefined,
- encryptionKey: processedMedia.encryptionKey,
thumbHash:
processedMedia.mediaType === 'photo' ||
processedMedia.mediaType === 'encrypted_photo'
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
@@ -14,8 +14,6 @@
import { generateThumbHash } from '../media/image-utils.js';
import { validateFile } from '../media/media-utils.js';
-const useBlobServiceUploads = true;
-
type AvatarMediaUploadOptions = {
+uploadMetadataToKeyserver?: boolean,
};
@@ -39,9 +37,7 @@
...dimensions,
loop: false,
};
- const useBlobService =
- !uploadMetadataToKeyserver || useBlobServiceUploads;
- if (!useBlobService) {
+ if (uploadMetadataToKeyserver) {
const { id } = await callUploadMultimedia(fixedFile, uploadExtras);
return { type: 'image', uploadID: id };
}
diff --git a/web/input/input-state-container.react.js b/web/input/input-state-container.react.js
--- a/web/input/input-state-container.react.js
+++ b/web/input/input-state-container.react.js
@@ -213,8 +213,6 @@
}>,
>();
- useBlobServiceUploads = true;
-
// When the user sends a multimedia message that triggers the creation of a
// sidebar, the sidebar gets created right away, but the message needs to wait
// for the uploads to complete before sending. We use this Set to track the
@@ -311,7 +309,6 @@
string,
{
+threadID: string,
- +shouldEncrypt: boolean,
+uploads: PendingMultimediaUpload[],
},
>();
@@ -327,26 +324,18 @@
) {
continue;
}
- const { shouldEncrypt } = upload;
let assignedUploads = newlyAssignedUploads.get(messageID);
if (!assignedUploads) {
- assignedUploads = { threadID, shouldEncrypt, uploads: [] };
+ assignedUploads = { threadID, uploads: [] };
newlyAssignedUploads.set(messageID, assignedUploads);
}
- if (shouldEncrypt !== assignedUploads.shouldEncrypt) {
- console.warn(
- `skipping upload ${localUploadID} ` +
- "because shouldEncrypt doesn't match",
- );
- continue;
- }
assignedUploads.uploads.push(upload);
}
}
const newMessageInfos = new Map<string, RawMultimediaMessageInfo>();
for (const [messageID, assignedUploads] of newlyAssignedUploads) {
- const { uploads, threadID, shouldEncrypt } = assignedUploads;
+ const { uploads, threadID } = assignedUploads;
const creatorID = this.props.viewerID;
invariant(creatorID, 'need viewer ID in order to send a message');
const media = uploads.map(
@@ -401,7 +390,7 @@
creatorID,
media,
},
- { forceMultimediaMessageType: shouldEncrypt },
+ { forceMultimediaMessageType: true },
);
newMessageInfos.set(messageID, messageInfo);
}
@@ -445,11 +434,6 @@
return rawMessageInfo;
}
- // eslint-disable-next-line no-unused-vars
- shouldEncryptMedia(threadInfo: ThreadInfo): boolean {
- return true;
- }
-
async sendMultimediaMessage(
messageInfo: RawMultimediaMessageInfo,
): Promise<void> {
@@ -817,29 +801,26 @@
}
const { uri, file: fixedFile, mediaType, dimensions } = result;
- const shouldEncrypt = this.shouldEncryptMedia(threadInfo);
-
- let encryptionResult;
- if (shouldEncrypt) {
- let encryptionResponse;
- const encryptionStart = Date.now();
- try {
- encryptionResponse = await encryptFile(fixedFile);
- } catch (e) {
- return {
- steps,
- result: {
- success: false,
- reason: 'encryption_exception',
- time: Date.now() - encryptionStart,
- exceptionMessage: getMessageForException(e),
- },
- };
- }
- steps.push(...encryptionResponse.steps);
- encryptionResult = encryptionResponse.result;
+ let encryptionResponse;
+ const encryptionStart = Date.now();
+ try {
+ encryptionResponse = await encryptFile(fixedFile);
+ } catch (e) {
+ return {
+ steps,
+ result: {
+ success: false,
+ reason: 'encryption_exception',
+ time: Date.now() - encryptionStart,
+ exceptionMessage: getMessageForException(e),
+ },
+ };
}
- if (encryptionResult && !encryptionResult.success) {
+ const { result: encryptionResult, steps: encryptionSteps } =
+ encryptionResponse;
+ steps.push(...encryptionSteps);
+
+ if (!encryptionResult.success) {
return { steps, result: encryptionResult };
}
@@ -874,7 +855,6 @@
abort: null,
steps,
selectTime,
- shouldEncrypt,
},
},
};
@@ -934,11 +914,9 @@
abortHandler: (abort: () => void) =>
this.handleAbortCallback(threadID, localID, abort),
};
- const useBlobService = isThickThread || this.useBlobServiceUploads;
if (
- useBlobService &&
- (upload.mediaType === 'encrypted_photo' ||
- upload.mediaType === 'encrypted_video')
+ upload.mediaType === 'encrypted_photo' ||
+ upload.mediaType === 'encrypted_video'
) {
const { blobHash, dimensions, thumbHash } = upload;
invariant(
diff --git a/web/input/input-state.js b/web/input/input-state.js
--- a/web/input/input-state.js
+++ b/web/input/input-state.js
@@ -42,7 +42,6 @@
+abort: ?() => void,
+steps: MediaMissionStep[],
+selectTime: number,
- +shouldEncrypt: boolean,
};
export type TypeaheadState = {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Dec 24, 7:50 AM (12 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2699082
Default Alt Text
D13892.id45686.diff (10 KB)
Attached To
Mode
D13892: [native][web] Clean up dead conditions for media encryption
Attached
Detach File
Event Timeline
Log In to Comment