Skip to content

Commit

Permalink
fix lints and errors and migrations
Browse files Browse the repository at this point in the history
  • Loading branch information
2002Bishwajeet committed Dec 16, 2024
1 parent 6b37f5b commit 3eff807
Show file tree
Hide file tree
Showing 21 changed files with 54 additions and 43 deletions.
2 changes: 1 addition & 1 deletion packages/mobile/src/components/Chat/Chat-Forward.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export const ChatForwardModal = memo(
message: ChatMessageIMessage
) {
const messagePayloads: ImageSource[] = [];
if (message.fileMetadata.payloads.length > 0) {
if (message.fileMetadata.payloads && message.fileMetadata.payloads.length > 0) {
const payloads = message.fileMetadata.payloads;

for (const payload of payloads) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const ChatMessageContent = memo(
}
if (textMessage?.length > 0) {
return ellipsisAtMaxChar(getPlainTextFromRichText(textMessage), 30);
} else if (payloads?.length > 1) {
} else if (payloads && payloads?.length > 1) {
return '📸 Medias';
} else {
const payload = payloads?.[0];
Expand Down
10 changes: 6 additions & 4 deletions packages/mobile/src/components/Chat/MediaMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { MediaGallery, MediaItem } from '../ui/Media/MediaGallery';
import { useDarkMode } from '../../hooks/useDarkMode';
import { Colors } from '../../app/Colors';
import { useAuth } from '../../hooks/auth/useAuth';
import { DEFAULT_PAYLOAD_KEY } from '@homebase-id/js-lib/core';
import { DEFAULT_PAYLOAD_KEY, PayloadDescriptor } from '@homebase-id/js-lib/core';

const MediaMessage = memo(
({
Expand Down Expand Up @@ -44,6 +44,7 @@ const MediaMessage = memo(
);
if (
!props.currentMessage ||
!props.currentMessage.fileMetadata.payloads ||
!props.currentMessage.fileMetadata.payloads?.filter((p) => p.key !== DEFAULT_PAYLOAD_KEY)
.length
) {
Expand Down Expand Up @@ -91,6 +92,7 @@ const InnerMediaMessage = memo(

const onClick = useCallback(
(currIndex?: number) => {
if (!payloads) return;
navigation.navigate('PreviewMedia', {
fileId: currentMessage.fileId,
payloads: payloads,
Expand All @@ -104,7 +106,7 @@ const InnerMediaMessage = memo(
[currentMessage, navigation, payloads]
);
const previewThumbnail =
(payloads.length === 1 ? payloads[0]?.previewThumbnail : undefined) ||
(payloads && payloads.length === 1 ? payloads[0]?.previewThumbnail : undefined) ||
currentMessage.fileMetadata.appData.previewThumbnail;

const aspectRatio = useMemo(
Expand All @@ -122,7 +124,7 @@ const InnerMediaMessage = memo(
[previewThumbnail, width, height]
);

if (payloads.length === 1) {
if (payloads?.length === 1) {
return (
<MediaItem
key={`${currentMessage.fileMetadata.appData.content}_${payloads[0].key}`}
Expand Down Expand Up @@ -152,7 +154,7 @@ const InnerMediaMessage = memo(
return (
<MediaGallery
fileId={currentMessage.fileId}
payloads={payloads}
payloads={payloads as PayloadDescriptor[]}
targetDrive={ChatDrive}
previewThumbnail={currentMessage.fileMetadata.appData.previewThumbnail}
onLongPress={(e) => onLongPress(e, currentMessage)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ export const ReportModal = forwardRef(
const identity = useAuth().getIdentity();
const host = new DotYouClient({
api: ApiType.Guest,
identity: identity || undefined,
loggedInIdentity: identity || undefined,
hostIdentity: identity || undefined,
}).getRoot();

const onBlock = () =>
Expand Down
2 changes: 1 addition & 1 deletion packages/mobile/src/components/Chat/Reply-Message-bar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ const ReplyMessageBar = ({ clearReply, message }: ReplyMessageBarProps) => {
fileId={message.fileId}
targetDrive={ChatDrive}
previewThumbnail={message.fileMetadata.appData.previewThumbnail}
fileKey={message.fileMetadata.payloads[0].key}
fileKey={payloads[0].key}
fit="cover"
imageSize={{
width: 45,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,11 @@ export const EditPostModal = memo(
useEffect(() => {
if (incomingPostFile) {
setPostFile({ ...incomingPostFile });
setNewMediaFiles(
incomingPostFile.fileMetadata.payloads?.filter((p) => p.key !== DEFAULT_PAYLOAD_KEY)
);
if (incomingPostFile.fileMetadata.payloads) {
setNewMediaFiles(
incomingPostFile.fileMetadata.payloads?.filter((p) => p.key !== DEFAULT_PAYLOAD_KEY)
);
}
}
}, [incomingPostFile]);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export const CommentHead = memo(
label: `${t('Block this user')}`,
onPress: () =>
openURL(
`${new DotYouClient({ identity, api: ApiType.Guest }).getRoot()}/owner/connections/${authorOdinId}/block`
`${new DotYouClient({ loggedInIdentity: identity, api: ApiType.Guest }).getRoot()}/owner/connections/${authorOdinId}/block`
),
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export const PostInteracts = memo(

const permalink = useMemo(
() =>
`${new DotYouClient({ identity: odinId || undefined, api: ApiType.Guest }).getRoot()}/posts/${postContent.channelId}/${
`${new DotYouClient({ loggedInIdentity: odinId || undefined, api: ApiType.Guest }).getRoot()}/posts/${postContent.channelId}/${
postContent.slug ?? postContent.id
}`,
[odinId, postContent]
Expand Down
2 changes: 1 addition & 1 deletion packages/mobile/src/components/Feed/Meta/Actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export const ExternalActions = memo(

const host = new DotYouClient({
api: ApiType.Guest,
identity: identity || undefined,
loggedInIdentity: identity || undefined,
}).getRoot();
const options: ActionGroupProps[] = [
{
Expand Down
5 changes: 4 additions & 1 deletion packages/mobile/src/components/ui/Avatars/Avatar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,10 @@ export const Avatar = memo(
);
}

if (contact?.fileMetadata.payloads.some((p) => p.key === CONTACT_PROFILE_IMAGE_KEY)) {
if (
contact?.fileMetadata.payloads &&
contact?.fileMetadata.payloads.some((p) => p.key === CONTACT_PROFILE_IMAGE_KEY)
) {
return (
<View style={{ ...styles.tinyLogo, ...props.style }}>
<OdinImage
Expand Down
3 changes: 2 additions & 1 deletion packages/mobile/src/hooks/chat/getSynchronousDotYouClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ export const getSynchronousDotYouClient = async () => {
return new DotYouClient({
sharedSecret: base64ToUint8Array(sharedSecret),
api: ApiType.App,
identity: identity,
loggedInIdentity: identity,
hostIdentity: identity,
headers: headers,
});
})();
Expand Down
1 change: 0 additions & 1 deletion packages/mobile/src/hooks/chat/useConversation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,6 @@ export const useConversation = (props?: { conversationId?: string | undefined })
doNotIndex: false,
allowDistribution: false,
},
priority: 0,
};

return serverVersion;
Expand Down
2 changes: 1 addition & 1 deletion packages/mobile/src/hooks/feed/useManageSocialFeed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export const useManageSocialFeed = (props?: { odinId: string }) => {
};

const getContentReportUrl = () => {
const host = new DotYouClient({ identity: odinId, api: ApiType.Guest }).getRoot();
const host = new DotYouClient({ loggedInIdentity: odinId, api: ApiType.Guest }).getRoot();

// Fetch the reporting url from the other identities config
return fetch(`${host}/config/reporting`)
Expand Down
3 changes: 2 additions & 1 deletion packages/mobile/src/hooks/useNotificationSubscriber.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
TargetDrive,
TypedConnectionNotification,
Notify,
DotYouClient,
} from '@homebase-id/js-lib/core';
import { useRef, useEffect, useState, useCallback } from 'react';
import { hasDebugFlag } from '@homebase-id/js-lib/helpers';
Expand All @@ -30,7 +31,7 @@ export const useNotificationSubscriber = (
if (!authToken) throw new Error('No auth token found');

const wrappedSubscriber = useCallback(
(notification: TypedConnectionNotification) => {
(dotYouClient: DotYouClient, notification: TypedConnectionNotification) => {
if (notification.notificationType === 'inboxItemReceived') {
isDebug &&
console.debug(
Expand Down
2 changes: 1 addition & 1 deletion packages/mobile/src/hooks/video/useVideoMetadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export const useVideoMetadata = (
: await getFileHeader(dotYouClient, videoDrive, videoFileId);

if (!fileHeader) return undefined;
const payloadData = fileHeader.fileMetadata.payloads.find((p) => p.key === videoFileKey);
const payloadData = fileHeader.fileMetadata.payloads?.find((p) => p.key === videoFileKey);
const descriptor = payloadData?.descriptorContent;
if (!descriptor) return undefined;

Expand Down
3 changes: 1 addition & 2 deletions packages/mobile/src/pages/chat/archived-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,14 @@ export const ArchivedPage = ({ navigation }: ArchivedPageProp) => {
const renderItem = useCallback(
({ item }: ListRenderItemInfo<ConversationWithRecentMessage>) => {
if (!item) return <View />;
const hasPayload = item.fileMetadata.payloads?.length > 0;
return (
<ErrorBoundary>
<ConversationTile
conversation={item.fileMetadata.appData.content}
conversationId={item.fileMetadata.appData.uniqueId}
conversationUpdated={item.fileMetadata.updated}
fileId={item.fileId}
payloadKey={hasPayload ? item.fileMetadata.payloads[0].key : undefined}
payloadKey={item.fileMetadata.payloads?.[0]?.key}
onPress={onPress}
odinId={
item.fileMetadata.appData.content.recipients.filter(
Expand Down
3 changes: 2 additions & 1 deletion packages/mobile/src/pages/chat/chat-info-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,8 @@ const RenderListHeader = memo(
await openURL(`https://${withYourself ? identity : recipient}/`);
}, [withYourself, identity, recipient]);
if (!conversation) return null;
const hasGroupImage = conversation.fileMetadata.payloads?.length > 0;
const hasGroupImage =
conversation.fileMetadata.payloads && conversation.fileMetadata.payloads?.length > 0;
const groupAvatarPayloadKey = conversation.fileMetadata.payloads?.[0]?.key;
const conversationContent = conversation?.fileMetadata.appData.content;

Expand Down
6 changes: 3 additions & 3 deletions packages/mobile/src/pages/chat/chat-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ const ChatPage = memo(({ route, navigation }: ChatProp) => {
received: value.fileMetadata.appData.content.deliveryStatus === 40,
pending: value.fileMetadata.appData.content.deliveryStatus === 15,
image:
value.fileMetadata.payloads?.length > 0
value.fileMetadata.payloads && value.fileMetadata.payloads?.length > 0
? value.fileMetadata.payloads.length.toString()
: undefined,
...value,
Expand Down Expand Up @@ -497,7 +497,7 @@ const ChatPage = memo(({ route, navigation }: ChatProp) => {

const host = new DotYouClient({
api: ApiType.Guest,
identity: identity || undefined,
loggedInIdentity: identity || undefined,
}).getRoot();
const chatOptions: {
label: string;
Expand Down Expand Up @@ -655,7 +655,7 @@ const ChatPage = memo(({ route, navigation }: ChatProp) => {
isGroupChat
? {
fileId: conversation.fileId,
fileKey: conversation.fileMetadata.payloads?.[0]?.key,
fileKey: conversation.fileMetadata.payloads?.[0].key as string,
previewThumbnail: conversation.fileMetadata.appData.previewThumbnail,
}
: undefined
Expand Down
3 changes: 2 additions & 1 deletion packages/mobile/src/pages/chat/edit-group-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ export function EditGroupPage(props: EditGroupProp) {
const [visible, setVisible] = useState(false);
if (!conversation) return null;

const hasGroupImage = conversation.fileMetadata.payloads?.length > 0;
const hasGroupImage =
conversation.fileMetadata.payloads && conversation.fileMetadata.payloads?.length > 0;
const groupAvatarPayloadKey = conversation.fileMetadata.payloads?.[0]?.key;

return (
Expand Down
4 changes: 2 additions & 2 deletions packages/mobile/src/pages/conversations-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,15 @@ export const ConversationsPage = memo(({ navigation }: ConversationProp) => {
const renderItem = useCallback(
({ item }: ListRenderItemInfo<ConversationWithRecentMessage>) => {
if (!item) return <View />;
const hasPayload = item.fileMetadata.payloads?.length > 0;

return (
<ErrorBoundary>
<ConversationTile
conversation={item.fileMetadata.appData.content}
conversationId={item.fileMetadata.appData.uniqueId}
conversationUpdated={item.fileMetadata.updated}
fileId={item.fileId}
payloadKey={hasPayload ? item.fileMetadata.payloads[0].key : undefined}
payloadKey={item.fileMetadata.payloads?.[0]?.key}
onPress={onPress}
odinId={
item.fileMetadata.appData.content.recipients.filter(
Expand Down
29 changes: 15 additions & 14 deletions packages/mobile/src/provider/chat/ChatProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -577,20 +577,21 @@ export const softDeleteChatMessage = async (
) => {
message.fileMetadata.appData.archivalStatus = ChatDeletedArchivalStaus;
let runningVersionTag = message.fileMetadata.versionTag;

for (let i = 0; i < message.fileMetadata.payloads.length; i++) {
const payload = message.fileMetadata.payloads[i];
// TODO: Should the payload be deleted for everyone? With "TransitOptions"
const deleteResult = await deletePayload(
dotYouClient,
ChatDrive,
message.fileId,
payload.key,
runningVersionTag
);

if (!deleteResult) throw new Error('Failed to delete payload');
runningVersionTag = deleteResult.newVersionTag;
const { payloads } = message.fileMetadata;
if (payloads) {
await Promise.all(payloads.map(async (payload) => {
// TODO: Should the payload be deleted for everyone? With "TransitOptions"
const deleteResult = await deletePayload(
dotYouClient,
ChatDrive,
message.fileId,
payload.key,
runningVersionTag
);
if (!deleteResult) throw new Error('Failed to delete payload');
runningVersionTag = deleteResult.newVersionTag;
}
));
}

message.fileMetadata.versionTag = runningVersionTag;
Expand Down

0 comments on commit 3eff807

Please sign in to comment.