Page MenuHomePhabricator

D13297.diff
No OneTemporary

D13297.diff

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
@@ -25,6 +25,11 @@
MediaLibrarySelection,
MediaMissionFailure,
} from 'lib/types/media-types.js';
+import type {
+ RawThreadInfo,
+ ThreadInfo,
+} from 'lib/types/minimally-encoded-thread-permissions-types.js';
+import { threadTypeIsThick } from 'lib/types/thread-types-enum.js';
import { authoritativeKeyserverID } from '../authoritative-keyserver.js';
import CommIcon from '../components/comm-icon.react.js';
@@ -405,7 +410,7 @@
function useNativeUpdateThreadImageAvatar(): (
selection: NativeMediaSelection,
- threadID: string,
+ threadInfo: ThreadInfo | RawThreadInfo,
) => Promise<void> {
const editThreadAvatarContext = React.useContext(EditThreadAvatarContext);
invariant(editThreadAvatarContext, 'editThreadAvatarContext must be defined');
@@ -419,18 +424,21 @@
const nativeUpdateThreadImageAvatar = React.useCallback(
async (
selection: NativeMediaSelection,
- threadID: string,
+ threadInfo: ThreadInfo | RawThreadInfo,
): Promise<void> => {
+ const metadataUploadLocation = threadTypeIsThick(threadInfo.type)
+ ? 'none'
+ : 'keyserver';
const imageAvatarUpdateRequest = await uploadSelectedMedia(
selection,
- 'keyserver',
+ metadataUploadLocation,
);
if (!imageAvatarUpdateRequest) {
return;
}
try {
- await baseSetThreadAvatar(threadID, imageAvatarUpdateRequest);
+ await baseSetThreadAvatar(threadInfo.id, imageAvatarUpdateRequest);
} catch {
displayAvatarUpdateFailureAlert();
}
@@ -442,17 +450,17 @@
}
function useSelectFromGalleryAndUpdateThreadAvatar(): (
- threadID: string,
+ threadInfo: ThreadInfo | RawThreadInfo,
) => Promise<void> {
const nativeUpdateThreadImageAvatar = useNativeUpdateThreadImageAvatar();
const selectFromGalleryAndUpdateThreadAvatar = React.useCallback(
- async (threadID: string): Promise<void> => {
+ async (threadInfo: ThreadInfo | RawThreadInfo): Promise<void> => {
const selection: ?MediaLibrarySelection = await selectFromGallery();
if (!selection) {
return;
}
- await nativeUpdateThreadImageAvatar(selection, threadID);
+ await nativeUpdateThreadImageAvatar(selection, threadInfo);
},
[nativeUpdateThreadImageAvatar],
);
diff --git a/native/avatars/edit-thread-avatar.react.js b/native/avatars/edit-thread-avatar.react.js
--- a/native/avatars/edit-thread-avatar.react.js
+++ b/native/avatars/edit-thread-avatar.react.js
@@ -53,8 +53,8 @@
}, [navigate, threadInfo]);
const selectFromGallery = React.useCallback(
- () => selectFromGalleryAndUpdateThreadAvatar(threadInfo.id),
- [selectFromGalleryAndUpdateThreadAvatar, threadInfo.id],
+ () => selectFromGalleryAndUpdateThreadAvatar(threadInfo),
+ [selectFromGalleryAndUpdateThreadAvatar, threadInfo],
);
const navigateToCamera = React.useCallback(() => {
diff --git a/native/media/thread-avatar-camera-modal.react.js b/native/media/thread-avatar-camera-modal.react.js
--- a/native/media/thread-avatar-camera-modal.react.js
+++ b/native/media/thread-avatar-camera-modal.react.js
@@ -35,8 +35,8 @@
const sendPhoto = React.useCallback(
(capture: PhotoCapture) =>
- nativeUpdateThreadImageAvatar(capture, threadInfo.id),
- [threadInfo.id, nativeUpdateThreadImageAvatar],
+ nativeUpdateThreadImageAvatar(capture, threadInfo),
+ [threadInfo, nativeUpdateThreadImageAvatar],
);
return <CameraModal handlePhotoCapture={sendPhoto} navigation={navigation} />;

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 6:21 PM (21 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2153236
Default Alt Text
D13297.diff (3 KB)

Event Timeline