@droppii-org/chat-mobile 0.2.14 → 0.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/components/ThreadCard/ThreadCard.js +2 -1
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/components/messages/imageMessage/index.js.map +1 -1
- package/lib/module/hooks/useImageAttachment.js +34 -63
- package/lib/module/hooks/useImageAttachment.js.map +1 -1
- package/lib/module/hooks/useLinkPreview/useFetchUrlMetadata.js +3 -2
- package/lib/module/hooks/useLinkPreview/useFetchUrlMetadata.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/MediaView/index.js +1 -1
- package/lib/module/screens/chat-detail/ChatComposer.js +10 -3
- package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
- package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js +66 -25
- package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js.map +1 -1
- package/lib/module/services/attachmentHandlers/imageAttachmentHandler.js +6 -3
- package/lib/module/services/attachmentHandlers/imageAttachmentHandler.js.map +1 -1
- package/lib/module/services/auth.js +69 -0
- package/lib/module/services/auth.js.map +1 -1
- package/lib/module/services/imageUpload.js +84 -58
- package/lib/module/services/imageUpload.js.map +1 -1
- package/lib/module/utils/chatImageDimens.js +18 -1
- package/lib/module/utils/chatImageDimens.js.map +1 -1
- package/lib/module/utils/dateTimeUtils.js +44 -0
- package/lib/module/utils/dateTimeUtils.js.map +1 -0
- package/lib/module/utils/device.js +2 -1
- package/lib/module/utils/device.js.map +1 -1
- package/lib/module/utils/imageUtils.js +4 -2
- package/lib/module/utils/imageUtils.js.map +1 -1
- package/lib/module/{components/ThreadCard/thread-card.utils.js → utils/messageUtils.js} +18 -42
- package/lib/module/utils/messageUtils.js.map +1 -0
- package/lib/module/utils/videoThumbnail.js +11 -5
- package/lib/module/utils/videoThumbnail.js.map +1 -1
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useImageAttachment.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useLinkPreview/useFetchUrlMetadata.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts.map +1 -1
- package/lib/typescript/src/services/attachmentHandlers/imageAttachmentHandler.d.ts.map +1 -1
- package/lib/typescript/src/services/auth.d.ts +32 -0
- package/lib/typescript/src/services/auth.d.ts.map +1 -1
- package/lib/typescript/src/services/imageUpload.d.ts.map +1 -1
- package/lib/typescript/src/utils/chatImageDimens.d.ts +1 -0
- package/lib/typescript/src/utils/chatImageDimens.d.ts.map +1 -1
- package/lib/typescript/src/utils/dateTimeUtils.d.ts +6 -0
- package/lib/typescript/src/utils/dateTimeUtils.d.ts.map +1 -0
- package/lib/typescript/src/utils/device.d.ts.map +1 -1
- package/lib/typescript/src/utils/imageUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts +8 -0
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -0
- package/lib/typescript/src/utils/videoThumbnail.d.ts +1 -0
- package/lib/typescript/src/utils/videoThumbnail.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/ThreadCard/ThreadCard.tsx +2 -1
- package/src/components/messages/imageMessage/index.tsx +0 -1
- package/src/hooks/useImageAttachment.ts +45 -70
- package/src/hooks/useLinkPreview/useFetchUrlMetadata.ts +3 -2
- package/src/index.tsx +8 -1
- package/src/screens/MediaView/index.tsx +1 -1
- package/src/screens/chat-detail/ChatComposer.tsx +9 -3
- package/src/screens/chat-detail/hooks/useAttachmentSendHandler.ts +81 -25
- package/src/services/attachmentHandlers/imageAttachmentHandler.ts +11 -1
- package/src/services/auth.ts +77 -0
- package/src/services/imageUpload.ts +116 -73
- package/src/utils/chatImageDimens.ts +21 -1
- package/src/utils/dateTimeUtils.ts +48 -0
- package/src/utils/device.ts +1 -0
- package/src/utils/imageUtils.ts +10 -2
- package/src/{components/ThreadCard/thread-card.utils.ts → utils/messageUtils.ts} +18 -56
- package/src/utils/videoThumbnail.ts +14 -3
- package/lib/module/components/ThreadCard/thread-card.utils.js.map +0 -1
- package/lib/typescript/src/components/ThreadCard/thread-card.utils.d.ts +0 -4
- package/lib/typescript/src/components/ThreadCard/thread-card.utils.d.ts.map +0 -1
|
@@ -5,7 +5,8 @@ import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
|
|
|
5
5
|
import { AvatarSection } from "./AvatarSection.js";
|
|
6
6
|
import { NamePrefixIcon } from "./NamePrefixIcon.js";
|
|
7
7
|
import { UnreadBadge } from "./UnreadBadge.js";
|
|
8
|
-
import { formatTimestamp
|
|
8
|
+
import { formatTimestamp } from "../../utils/dateTimeUtils.js";
|
|
9
|
+
import { getLastMessageText } from "../../utils/messageUtils.js";
|
|
9
10
|
import { useConversation, useUserStore } from "../../store/index.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const ThreadCard = /*#__PURE__*/memo(({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","formatTimestamp","getLastMessageText","useConversation","useUserStore","jsx","_jsx","jsxs","_jsxs","ThreadCard","item","onPress","peerType","showName","faceURL","lastMessage","unreadCount","recvMsgOpt","isPinned","applicationType","latestMsgSendTime","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","handlePress","event","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","children","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VisibleView","visible","VectorIcons","name","provider","size","palette","gray","w500","Boolean","w400","normal","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AAEzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AACnE,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,eAAe,
|
|
1
|
+
{"version":3,"names":["memo","useCallback","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","formatTimestamp","getLastMessageText","useConversation","useUserStore","jsx","_jsx","jsxs","_jsxs","ThreadCard","item","onPress","peerType","showName","faceURL","lastMessage","unreadCount","recvMsgOpt","isPinned","applicationType","latestMsgSendTime","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","handlePress","event","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","children","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VisibleView","visible","VectorIcons","name","provider","size","palette","gray","w500","Boolean","w400","normal","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useState","useCallback","useMemo","StyleSheet","Image","useWindowDimensions","KContainer","KImage","ChatImageDimens","messageStyles","jsx","_jsx","jsxs","_jsxs","ImageMessage","message","onMediaPress","windowWidth","width","isLoading","setIsLoading","pictureElem","rawImageUrl","snapshotPicture","url","bigPicture","sourcePicture","imageDimensions","height","responseWidth","responseHeight","imgWidth","imgHeight","source","resolveAssetSource","uri","aspectRatio","horizontalBuffer","maxWidth","Math","floor","finalWidth","finalHeight","maxHeight","round","handleLoadEnd","handlePress","optimizedUrl","getOptimizedImageUrlWithDimensions","View","style","wrapper","styles","children","Touchable","onPress","imageBubble","imageContainer","Base","onLoadEnd","skeleton","displayName","create","overflow","position","top","left","right","bottom","backgroundColor","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/messages/imageMessage/index.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["memo","useState","useCallback","useMemo","StyleSheet","Image","useWindowDimensions","KContainer","KImage","ChatImageDimens","messageStyles","jsx","_jsx","jsxs","_jsxs","ImageMessage","message","onMediaPress","windowWidth","width","isLoading","setIsLoading","pictureElem","rawImageUrl","snapshotPicture","url","bigPicture","sourcePicture","imageDimensions","height","responseWidth","responseHeight","imgWidth","imgHeight","source","resolveAssetSource","uri","aspectRatio","horizontalBuffer","maxWidth","Math","floor","finalWidth","finalHeight","maxHeight","round","handleLoadEnd","handlePress","optimizedUrl","getOptimizedImageUrlWithDimensions","View","style","wrapper","styles","children","Touchable","onPress","imageBubble","imageContainer","Base","onLoadEnd","skeleton","displayName","create","overflow","position","top","left","right","bottom","backgroundColor","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/messages/imageMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useState } from 'react';
|
|
4
|
-
import RNFS from 'react-native-fs';
|
|
5
4
|
import DeviceUtils from "../utils/device.js";
|
|
6
5
|
import UIUtils from "../utils/ui.js";
|
|
7
6
|
import { trans } from "../translation/index.js";
|
|
@@ -27,7 +26,6 @@ export const useImageAttachment = () => {
|
|
|
27
26
|
console.log('Upload', 'Step 1: Starting upload for image', {
|
|
28
27
|
index
|
|
29
28
|
});
|
|
30
|
-
let cachedFilePath = null;
|
|
31
29
|
try {
|
|
32
30
|
console.log('Upload', 'Step 2: Updating status to uploading...');
|
|
33
31
|
updateImageStatus(index, {
|
|
@@ -35,24 +33,9 @@ export const useImageAttachment = () => {
|
|
|
35
33
|
error: null,
|
|
36
34
|
uploadProgress: 0
|
|
37
35
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
filename: image.filename
|
|
42
|
-
});
|
|
43
|
-
const ext = image.filename?.split('.').pop() || 'jpg';
|
|
44
|
-
const fileName = `temp-image-${Date.now()}-${index}.${ext}`;
|
|
45
|
-
cachedFilePath = `${RNFS.DocumentDirectoryPath}/${fileName}`;
|
|
46
|
-
console.log('Upload', 'Step 4: Copying file to cache...', {
|
|
47
|
-
from: image.path,
|
|
48
|
-
to: cachedFilePath
|
|
49
|
-
});
|
|
50
|
-
await RNFS.copyFile(image.path, cachedFilePath);
|
|
51
|
-
console.log('Upload', 'Step 5: File copied successfully');
|
|
52
|
-
} catch (fileError) {
|
|
53
|
-
console.error('Upload', 'File copy error', fileError);
|
|
54
|
-
throw new Error(`Failed to prepare file: ${fileError?.message || 'Unknown error'}`);
|
|
55
|
-
}
|
|
36
|
+
|
|
37
|
+
// ✅ OPTIMIZED: Use original path directly, no copy
|
|
38
|
+
const filePath = image.path.startsWith('file://') ? image.path.replace('file://', '') : image.path;
|
|
56
39
|
const filename = image.filename || 'image.jpg';
|
|
57
40
|
const setProgress = progress => {
|
|
58
41
|
try {
|
|
@@ -68,19 +51,20 @@ export const useImageAttachment = () => {
|
|
|
68
51
|
};
|
|
69
52
|
let uploadedImage;
|
|
70
53
|
try {
|
|
71
|
-
console.log('Upload', '
|
|
54
|
+
console.log('Upload', 'Uploading to server...', {
|
|
72
55
|
filename,
|
|
73
|
-
size: image.size
|
|
56
|
+
size: image.size,
|
|
57
|
+
filePath
|
|
74
58
|
});
|
|
75
59
|
uploadedImage = await ImageUploadAPI.uploadImageFile({
|
|
76
|
-
path:
|
|
60
|
+
path: filePath,
|
|
77
61
|
filename,
|
|
78
62
|
size: image.size || 0,
|
|
79
63
|
width: image.width || 0,
|
|
80
64
|
height: image.height || 0,
|
|
81
65
|
mime: getMimeType(filename)
|
|
82
66
|
}, setProgress);
|
|
83
|
-
console.log('Upload', '
|
|
67
|
+
console.log('Upload', 'Upload successful!', {
|
|
84
68
|
url: uploadedImage?.url
|
|
85
69
|
});
|
|
86
70
|
} catch (uploadError) {
|
|
@@ -90,22 +74,13 @@ export const useImageAttachment = () => {
|
|
|
90
74
|
if (!uploadedImage?.url) {
|
|
91
75
|
throw new Error('No URL returned from server');
|
|
92
76
|
}
|
|
93
|
-
console.log('Upload', '
|
|
77
|
+
console.log('Upload', 'Upload complete, updating status...');
|
|
94
78
|
updateImageStatus(index, {
|
|
95
79
|
isUploading: false,
|
|
96
80
|
uploadProgress: 100,
|
|
97
81
|
uploadedUrl: uploadedImage.url
|
|
98
82
|
});
|
|
99
|
-
console.log('Upload', '
|
|
100
|
-
console.log('Upload', 'Step 11: Cleaning up cache file...');
|
|
101
|
-
try {
|
|
102
|
-
if (cachedFilePath) {
|
|
103
|
-
await ImageUploadAPI.cleanupImageFile(cachedFilePath);
|
|
104
|
-
}
|
|
105
|
-
} catch (cleanupError) {
|
|
106
|
-
console.warn('Upload', 'Cleanup warning', cleanupError);
|
|
107
|
-
}
|
|
108
|
-
console.log('Upload', 'Step 12: COMPLETE ✓');
|
|
83
|
+
console.log('Upload', 'COMPLETE ✓');
|
|
109
84
|
} catch (error) {
|
|
110
85
|
console.error('Upload', 'ERROR', error);
|
|
111
86
|
const errorMsg = error?.message || trans('chat:image_upload_failed');
|
|
@@ -113,37 +88,40 @@ export const useImageAttachment = () => {
|
|
|
113
88
|
isUploading: false,
|
|
114
89
|
error: errorMsg
|
|
115
90
|
});
|
|
116
|
-
try {
|
|
117
|
-
if (cachedFilePath) {
|
|
118
|
-
await ImageUploadAPI.cleanupImageFile(cachedFilePath);
|
|
119
|
-
}
|
|
120
|
-
} catch (cleanupError) {
|
|
121
|
-
console.warn('Upload', 'Cleanup after error', cleanupError);
|
|
122
|
-
}
|
|
123
91
|
console.error('uploadImage', 'Full error', error);
|
|
124
92
|
}
|
|
125
93
|
}, [updateImageStatus]);
|
|
126
94
|
const generateVideoThumbnail = useCallback(async (index, image) => {
|
|
127
95
|
if (!isVideoFromPicker(image)) return; // Only for videos
|
|
128
|
-
|
|
96
|
+
console.log('[ImageAttach] Generating thumbnail for video:', image);
|
|
129
97
|
try {
|
|
98
|
+
let videoDuration = image.duration || 0;
|
|
99
|
+
|
|
100
|
+
// ✅ FIX: Validate duration is reasonable
|
|
101
|
+
if (videoDuration <= 0 || videoDuration > 3600000) {
|
|
102
|
+
// Duration should be between 0 and 1 hour (3600000ms)
|
|
103
|
+
console.warn('[ImageAttach] Invalid duration, using default:', videoDuration);
|
|
104
|
+
videoDuration = 5000; // Default 5 seconds
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// ✅ FIX: Choose frame at 35% for better representation
|
|
108
|
+
const timeMs = Math.min(Math.max(1000, Math.floor(videoDuration * 0.35)), videoDuration - 1000);
|
|
109
|
+
|
|
110
|
+
// ✅ OPTIMIZED: Use original path directly, no copy
|
|
111
|
+
const videoPath = image.path.startsWith('file://') ? image.path.replace('file://', '') : image.path;
|
|
130
112
|
console.log('[ImageAttach] Generating thumbnail for video:', {
|
|
131
|
-
|
|
132
|
-
|
|
113
|
+
filename: image.filename,
|
|
114
|
+
videoPath,
|
|
115
|
+
videoDuration,
|
|
116
|
+
timeMs
|
|
133
117
|
});
|
|
134
|
-
const videoDuration = image.duration || 0;
|
|
135
|
-
const timeMs = Math.min(1000, Math.floor(videoDuration / 2));
|
|
136
|
-
|
|
137
|
-
// Copy video to safe location
|
|
138
|
-
const ext = image.filename?.split('.').pop() || 'mp4';
|
|
139
|
-
const cachedFileName = `thumb-cache-${Date.now()}-${index}.${ext}`;
|
|
140
|
-
const cachedVideoPath = `${RNFS.DocumentDirectoryPath}/${cachedFileName}`;
|
|
141
|
-
await RNFS.copyFile(image.path, cachedVideoPath);
|
|
142
118
|
|
|
143
|
-
// Generate thumbnail
|
|
144
|
-
|
|
119
|
+
// Generate thumbnail directly from original path
|
|
120
|
+
console.log('[ImageAttach] Generating thumbnail at timeMs:', timeMs);
|
|
121
|
+
const thumbnail = await VideoThumbnailUtil.generateThumbnail(videoPath, {
|
|
145
122
|
time: timeMs,
|
|
146
|
-
quality: 80
|
|
123
|
+
quality: 80,
|
|
124
|
+
cacheId: `thumb-${index}-${Date.now()}`
|
|
147
125
|
});
|
|
148
126
|
if (!thumbnail) throw new Error('Thumbnail generation failed');
|
|
149
127
|
|
|
@@ -172,13 +150,6 @@ export const useImageAttachment = () => {
|
|
|
172
150
|
thumbnailSize: uploadedThumbnail.size || 0
|
|
173
151
|
});
|
|
174
152
|
console.log(`✅ [ImageAttach] THUMBNAIL URL (picked): ${uploadedThumbnail.url}`);
|
|
175
|
-
|
|
176
|
-
// Cleanup cached video
|
|
177
|
-
try {
|
|
178
|
-
await RNFS.unlink(cachedVideoPath);
|
|
179
|
-
} catch (err) {
|
|
180
|
-
console.warn('[ImageAttach] Failed to clean cached video:', err);
|
|
181
|
-
}
|
|
182
153
|
} catch (error) {
|
|
183
154
|
console.error('[ImageAttach] Video thumbnail generation error:', error);
|
|
184
155
|
UIUtils.toast.open({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","RNFS","DeviceUtils","UIUtils","trans","getMimeType","isVideoFromPicker","ImageUploadAPI","VideoThumbnailUtil","useImageAttachment","selectedImages","setSelectedImages","isImagePreviewVisible","setIsImagePreviewVisible","updateImageStatus","index","updates","prev","newImages","uploadImage","image","console","log","cachedFilePath","isUploading","error","uploadProgress","originalPath","path","filename","ext","split","pop","fileName","Date","now","DocumentDirectoryPath","from","to","copyFile","fileError","Error","message","setProgress","progress","percentage","err","uploadedImage","size","uploadImageFile","width","height","mime","url","uploadError","uploadedUrl","cleanupImageFile","cleanupError","warn","errorMsg","generateVideoThumbnail","videoDuration","duration","timeMs","Math","min","floor","cachedFileName","cachedVideoPath","thumbnail","generateThumbnail","time","quality","baseName","uploadedThumbnail","thumbnailUrl","thumbnailSize","unlink","toast","open","title","theme","handleImageAttach","multipleMode","images","openImagePicker","length","count","MAX_FILE_SIZE","oversizedImages","filter","img","maxSize","validImages","splice","startIndex","map","Promise","all","offset","handleImageRemove","_","i","clearAllImages"],"sourceRoot":"../../../src","sources":["hooks/useImageAttachment.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useState","DeviceUtils","UIUtils","trans","getMimeType","isVideoFromPicker","ImageUploadAPI","VideoThumbnailUtil","useImageAttachment","selectedImages","setSelectedImages","isImagePreviewVisible","setIsImagePreviewVisible","updateImageStatus","index","updates","prev","newImages","uploadImage","image","console","log","isUploading","error","uploadProgress","filePath","path","startsWith","replace","filename","setProgress","progress","percentage","err","uploadedImage","size","uploadImageFile","width","height","mime","url","uploadError","Error","message","uploadedUrl","errorMsg","generateVideoThumbnail","videoDuration","duration","warn","timeMs","Math","min","max","floor","videoPath","thumbnail","generateThumbnail","time","quality","cacheId","Date","now","baseName","split","uploadedThumbnail","thumbnailUrl","thumbnailSize","toast","open","title","theme","handleImageAttach","multipleMode","images","openImagePicker","length","count","MAX_FILE_SIZE","oversizedImages","filter","img","maxSize","validImages","splice","startIndex","map","Promise","all","offset","handleImageRemove","_","i","clearAllImages"],"sourceRoot":"../../../src","sources":["hooks/useImageAttachment.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,11 @@ import { useQuery } from '@tanstack/react-query';
|
|
|
4
4
|
import { commonQueryKeys } from "../query-keys.js";
|
|
5
5
|
import { apiInstance } from "../../services/apis.js";
|
|
6
6
|
import { ENDPOINTS } from "../../services/endpoints.js";
|
|
7
|
+
import { normalizeUrl } from "../../utils/url.js";
|
|
7
8
|
export const useFetchUrlMetadata = url => useQuery({
|
|
8
|
-
queryKey: commonQueryKeys.urlMetadata(url || ''),
|
|
9
|
+
queryKey: commonQueryKeys.urlMetadata(normalizeUrl(url || '')),
|
|
9
10
|
queryFn: async () => {
|
|
10
|
-
const path = `${ENDPOINTS.chatService.urlMetadata}?url=${url}`;
|
|
11
|
+
const path = `${ENDPOINTS.chatService.urlMetadata}?url=${normalizeUrl(url || '')}`;
|
|
11
12
|
const res = await apiInstance?.get(path);
|
|
12
13
|
return res?.data?.data?.title ? {
|
|
13
14
|
...res?.data?.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","commonQueryKeys","apiInstance","ENDPOINTS","useFetchUrlMetadata","url","queryKey","urlMetadata","queryFn","path","chatService","res","get","data","title","enabled"],"sourceRoot":"../../../../src","sources":["hooks/useLinkPreview/useFetchUrlMetadata.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,eAAe,QAAQ,kBAAe;AAC/C,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,SAASC,SAAS,QAAQ,6BAA0B;
|
|
1
|
+
{"version":3,"names":["useQuery","commonQueryKeys","apiInstance","ENDPOINTS","normalizeUrl","useFetchUrlMetadata","url","queryKey","urlMetadata","queryFn","path","chatService","res","get","data","title","enabled"],"sourceRoot":"../../../../src","sources":["hooks/useLinkPreview/useFetchUrlMetadata.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,eAAe,QAAQ,kBAAe;AAC/C,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,SAASC,SAAS,QAAQ,6BAA0B;AACpD,SAASC,YAAY,QAAQ,oBAAiB;AAE9C,OAAO,MAAMC,mBAAmB,GAAIC,GAAY,IAC9CN,QAAQ,CAAC;EACPO,QAAQ,EAAEN,eAAe,CAACO,WAAW,CAACJ,YAAY,CAACE,GAAG,IAAI,EAAE,CAAC,CAAC;EAC9DG,OAAO,EAAE,MAAAA,CAAA,KAAY;IACnB,MAAMC,IAAI,GAAG,GAAGP,SAAS,CAACQ,WAAW,CAACH,WAAW,QAAQJ,YAAY,CAACE,GAAG,IAAI,EAAE,CAAC,EAAE;IAClF,MAAMM,GAAG,GAAG,MAAMV,WAAW,EAAEW,GAAG,CAA6BH,IAAI,CAAC;IACpE,OAAOE,GAAG,EAAEE,IAAI,EAAEA,IAAI,EAAEC,KAAK,GACzB;MACE,GAAGH,GAAG,EAAEE,IAAI,EAAEA,IAAI;MAClBR;IACF,CAAC,GACD,IAAI;EACV,CAAC;EACDU,OAAO,EAAE,CAAC,CAACV;AACb,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
export { ChatAPI } from "./services/index.js";
|
|
4
|
-
export { setAuthToken, getAuthToken, clearAuthToken } from "./services/auth.js";
|
|
4
|
+
export { setAuthToken, getAuthToken, clearAuthToken, setTokenRefreshCallback, setTokenRefreshFailedCallback, refreshAuthToken } from "./services/auth.js";
|
|
5
5
|
export { initBaseUrl, getBaseUrl } from "./config/configuration.js";
|
|
6
6
|
export { Config } from "./config/index.js";
|
|
7
7
|
export * from "./core/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ChatAPI","setAuthToken","getAuthToken","clearAuthToken","initBaseUrl","getBaseUrl","Config","useImageAttachment","useMediaViewer","initializeAttachmentHandlers","AttachmentOrchestratorService","Avatar","ThreadCard","AttachmentPreview","MediaViewerModal","Inbox","default","MediaViewerScreen","ChatDetail","ChatDetailHeader","ChatComposer","ChatQuickActions","ChatAttachmentPanel","DEFAULT_Chat_QUICK_ACTIONS","DEFAULT_ATTACHMENT_ACTIONS","mapOpenIMMessageToGiftedChat","mapOpenIMMessagesToGiftedChat"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,qBAAY;AACpC,
|
|
1
|
+
{"version":3,"names":["ChatAPI","setAuthToken","getAuthToken","clearAuthToken","setTokenRefreshCallback","setTokenRefreshFailedCallback","refreshAuthToken","initBaseUrl","getBaseUrl","Config","useImageAttachment","useMediaViewer","initializeAttachmentHandlers","AttachmentOrchestratorService","Avatar","ThreadCard","AttachmentPreview","MediaViewerModal","Inbox","default","MediaViewerScreen","ChatDetail","ChatDetailHeader","ChatComposer","ChatQuickActions","ChatAttachmentPanel","DEFAULT_Chat_QUICK_ACTIONS","DEFAULT_ATTACHMENT_ACTIONS","mapOpenIMMessageToGiftedChat","mapOpenIMMessagesToGiftedChat"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,qBAAY;AACpC,SACEC,YAAY,EACZC,YAAY,EACZC,cAAc,EACdC,uBAAuB,EACvBC,6BAA6B,EAC7BC,gBAAgB,QACX,oBAAiB;AACxB,SAASC,WAAW,EAAEC,UAAU,QAAQ,2BAAwB;AAChE,SAASC,MAAM,QAAQ,mBAAU;AACjC,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,oBAAW;AACzB,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,cAAc,QAAQ,2BAAwB;AAEvD,cAAc,iBAAc;AAC5B,cAAc,wBAAqB;AACnC,cAAc,uBAAoB;AAClC,SAASC,4BAA4B,QAAQ,wCAA+B;AAC5E,SAASC,6BAA6B,QAAQ,sCAAmC;AACjF,SAASC,MAAM,QAAQ,8BAAqB;AAC5C,SAASC,UAAU,QAAQ,kCAAyB;AACpD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,gBAAgB,QAAQ,kCAA+B;AAChE,SAASC,KAAK,QAAQ,0BAAiB;AACvC,SAASC,OAAO,IAAIC,iBAAiB,QAAQ,8BAAqB;AAClE,SACEC,UAAU,EACVC,gBAAgB,EAChBC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,0BAA0B,QACrB,gCAAuB;AAe9B,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,8BAA2B","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { memo, useCallback, useEffect, useMemo } from 'react';
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import { Platform, StyleSheet } from 'react-native';
|
|
5
|
+
import { debounce } from 'lodash';
|
|
5
6
|
import Reanimated from 'react-native-reanimated';
|
|
6
7
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
7
8
|
import { KContainer, KColors, KImage, KButton } from '@droppii/libs';
|
|
@@ -200,14 +201,20 @@ export const ChatComposer = /*#__PURE__*/memo(({
|
|
|
200
201
|
}
|
|
201
202
|
}, [value, setIsInputWrapped]);
|
|
202
203
|
|
|
204
|
+
// Debounced image picker (prevent rapid clicks)
|
|
205
|
+
const debouncedImagePickerRef = useRef(debounce(handleImageAttach, 300, {
|
|
206
|
+
leading: true,
|
|
207
|
+
trailing: false
|
|
208
|
+
}));
|
|
209
|
+
|
|
203
210
|
// Attachment action handler
|
|
204
211
|
const handleAttachmentActionInternal = useCallback(async action => {
|
|
205
212
|
if (action.id === 'gallery') {
|
|
206
|
-
|
|
213
|
+
debouncedImagePickerRef.current();
|
|
207
214
|
} else {
|
|
208
215
|
onAttachmentAction?.(action);
|
|
209
216
|
}
|
|
210
|
-
}, [onAttachmentAction
|
|
217
|
+
}, [onAttachmentAction]);
|
|
211
218
|
|
|
212
219
|
// Input row padding
|
|
213
220
|
const inputRowStyle = useMemo(() => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useEffect","useMemo","Platform","StyleSheet","Reanimated","useSafeAreaInsets","KContainer","KColors","KImage","KButton","IS_IOS","OS","INPUT_LINE_HEIGHT","WRAPPED_HEIGHT_THRESHOLD","ChatQuickActions","ChatAttachmentPanel","ChatLinkPreview","ChatMessageInput","AttachmentPreview","getAttachmentPanelHeight","useLinkPreview","useImageAttachment","useSendAttachment","useChatComposerState","useChatComposerAnimation","useAttachmentSendHandler","isVideoFromPicker","useChatDetailContext","trans","useRunFlow","ReactFlowsNodeTypes","jsx","_jsx","jsxs","_jsxs","ChatComposer","value","placeholder","onChangeText","onSend","onMessageSent","onPressEmoji","_onPressEmoji","showQuickActions","quickActions","attachmentActions","onQuickActionPress","onAttachmentAction","renderQuickAction","renderQuickActions","renderAttachmentAction","attachmentColumns","isEmptyMessage","insets","hasAttachmentActions","length","isBotConversation","conversationFlow","mutate","runFlow","isPending","isVisible","showLinkPreview","metadata","urlMetadata","isLoading","isMetadataLoading","dismiss","handleDismissPreview","selectedImages","isImagePreviewVisible","handleImageAttach","handleImageRemove","clearAllImages","send","sendAttachments","handleSendText","text","previewMetadata","metadataWithText","_capturedText","undefined","handleSend","handleAttachmentSend","textMessage","trim","onSendText","isAttachmentOpen","setIsAttachmentOpen","isInputFocused","setIsInputFocused","setIsInputWrapped","isMultilineInput","inputRef","panelHeight","accessorySlotStyle","toggleAttachmentVisibility","closeAttachment","onAttachmentOpenChange","isUploadingAttachments","some","img","isUploading","hasAttachments","hasText","hasPreview","console","warn","log","previewUrl","url","handleInputFocus","handleInputBlur","handleChangeText","handleInputContentSizeChange","event","height","nativeEvent","contentSize","onStartConversationFlow","groupId","flowCurrentStep","id","actionId","childId","plainText","handleAttachmentActionInternal","action","inputRowStyle","paddingBottom","bottom","type","Start","View","padding","paddingB","children","Solid","size","label","stretch","icon","vectorName","loading","onPress","background","visible","actions","onActionPress","renderAction","onDismiss","attachments","map","isVideo","image","path","filename","width","duration","uploadProgress","error","uploadedUrl","thumbnailUrl","onRemove","index","row","alignItems","paddingH","paddingT","style","Touchable","center","br","VectorIcons","name","color","palette","primary","w400","gray","w600","onFocus","onBlur","onContentSizeChange","pointerEvents","marginL","opacity","provider","white","styles","accessorySlot","columns","displayName","create","overflow","backgroundColor","w25"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatComposer.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","debounce","Reanimated","useSafeAreaInsets","KContainer","KColors","KImage","KButton","IS_IOS","OS","INPUT_LINE_HEIGHT","WRAPPED_HEIGHT_THRESHOLD","ChatQuickActions","ChatAttachmentPanel","ChatLinkPreview","ChatMessageInput","AttachmentPreview","getAttachmentPanelHeight","useLinkPreview","useImageAttachment","useSendAttachment","useChatComposerState","useChatComposerAnimation","useAttachmentSendHandler","isVideoFromPicker","useChatDetailContext","trans","useRunFlow","ReactFlowsNodeTypes","jsx","_jsx","jsxs","_jsxs","ChatComposer","value","placeholder","onChangeText","onSend","onMessageSent","onPressEmoji","_onPressEmoji","showQuickActions","quickActions","attachmentActions","onQuickActionPress","onAttachmentAction","renderQuickAction","renderQuickActions","renderAttachmentAction","attachmentColumns","isEmptyMessage","insets","hasAttachmentActions","length","isBotConversation","conversationFlow","mutate","runFlow","isPending","isVisible","showLinkPreview","metadata","urlMetadata","isLoading","isMetadataLoading","dismiss","handleDismissPreview","selectedImages","isImagePreviewVisible","handleImageAttach","handleImageRemove","clearAllImages","send","sendAttachments","handleSendText","text","previewMetadata","metadataWithText","_capturedText","undefined","handleSend","handleAttachmentSend","textMessage","trim","onSendText","isAttachmentOpen","setIsAttachmentOpen","isInputFocused","setIsInputFocused","setIsInputWrapped","isMultilineInput","inputRef","panelHeight","accessorySlotStyle","toggleAttachmentVisibility","closeAttachment","onAttachmentOpenChange","isUploadingAttachments","some","img","isUploading","hasAttachments","hasText","hasPreview","console","warn","log","previewUrl","url","handleInputFocus","handleInputBlur","handleChangeText","handleInputContentSizeChange","event","height","nativeEvent","contentSize","onStartConversationFlow","groupId","flowCurrentStep","id","actionId","childId","plainText","debouncedImagePickerRef","leading","trailing","handleAttachmentActionInternal","action","current","inputRowStyle","paddingBottom","bottom","type","Start","View","padding","paddingB","children","Solid","size","label","stretch","icon","vectorName","loading","onPress","background","visible","actions","onActionPress","renderAction","onDismiss","attachments","map","isVideo","image","path","filename","width","duration","uploadProgress","error","uploadedUrl","thumbnailUrl","onRemove","index","row","alignItems","paddingH","paddingT","style","Touchable","center","br","VectorIcons","name","color","palette","primary","w400","gray","w600","onFocus","onBlur","onContentSizeChange","pointerEvents","marginL","opacity","provider","white","styles","accessorySlot","columns","displayName","create","overflow","backgroundColor","w25"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatComposer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -42,17 +42,23 @@ export const useAttachmentSendHandler = ({
|
|
|
42
42
|
const uploadedVideosFromGallery = videosFromGallery.filter(vid => vid.uploadedUrl);
|
|
43
43
|
|
|
44
44
|
// Auto-generate thumbnails for gallery videos
|
|
45
|
+
// Use unique ID per video to avoid race conditions and path mismatches
|
|
45
46
|
const galleryVideoThumbnails = {};
|
|
47
|
+
const failedVideos = []; // Track failed videos
|
|
48
|
+
|
|
46
49
|
if (uploadedVideosFromGallery.length > 0) {
|
|
47
50
|
console.log('[ChatComposer] Auto-generating thumbnails for gallery videos...');
|
|
48
|
-
for (
|
|
51
|
+
for (let idx = 0; idx < uploadedVideosFromGallery.length; idx++) {
|
|
52
|
+
const vidItem = uploadedVideosFromGallery[idx];
|
|
53
|
+
const videoId = vidItem.uploadedUrl || `video-${idx}`; // Use unique ID instead of path
|
|
49
54
|
let cachedVideoPath = null;
|
|
50
55
|
try {
|
|
51
56
|
const originalVideoPath = vidItem.image.path;
|
|
52
|
-
|
|
57
|
+
let videoDuration = vidItem.image.duration || 0;
|
|
53
58
|
const videoMime = vidItem.image.mime;
|
|
54
59
|
const filename = vidItem.image.filename || 'video.mp4';
|
|
55
|
-
console.log('[ChatComposer] Generating thumbnail for:', {
|
|
60
|
+
console.log('[ChatComposer] Generating thumbnail for video:', {
|
|
61
|
+
index: idx,
|
|
56
62
|
filename,
|
|
57
63
|
originalVideoPath,
|
|
58
64
|
videoDuration,
|
|
@@ -60,9 +66,17 @@ export const useAttachmentSendHandler = ({
|
|
|
60
66
|
uploadedUrl: vidItem.uploadedUrl
|
|
61
67
|
});
|
|
62
68
|
|
|
69
|
+
// ✅ FIX: Validate duration is reasonable
|
|
70
|
+
if (videoDuration <= 0 || videoDuration > 3600000) {
|
|
71
|
+
// Duration should be between 0 and 1 hour (3600000ms)
|
|
72
|
+
console.warn('[ChatComposer] Invalid duration, using default:', videoDuration);
|
|
73
|
+
videoDuration = 5000; // Default 5 seconds
|
|
74
|
+
}
|
|
75
|
+
|
|
63
76
|
// Copy video to persistent location
|
|
64
77
|
const ext = filename.split('.').pop() || 'mp4';
|
|
65
|
-
|
|
78
|
+
// ✅ FIX: Use unique ID to avoid race condition
|
|
79
|
+
const cachedFileName = `thumb-cache-${idx}-${Date.now()}-${Math.random().toString(36).slice(2)}.${ext}`;
|
|
66
80
|
cachedVideoPath = `${RNFS.DocumentDirectoryPath}/${cachedFileName}`;
|
|
67
81
|
console.log('[ChatComposer] Copying video to cache:', {
|
|
68
82
|
from: originalVideoPath,
|
|
@@ -71,9 +85,12 @@ export const useAttachmentSendHandler = ({
|
|
|
71
85
|
await RNFS.copyFile(originalVideoPath, cachedVideoPath);
|
|
72
86
|
console.log('[ChatComposer] Video cached successfully');
|
|
73
87
|
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
88
|
+
// ✅ FIX: Choose frame at 30-40% for better representation
|
|
89
|
+
// (not exactly middle, to avoid black frames/transitions)
|
|
90
|
+
const timeMs = Math.min(Math.max(1000, Math.floor(videoDuration * 0.35)), videoDuration - 1000);
|
|
91
|
+
console.log('[ChatComposer] Thumbnail settings for video:', {
|
|
92
|
+
index: idx,
|
|
93
|
+
videoDuration,
|
|
77
94
|
timeMs,
|
|
78
95
|
quality: 80,
|
|
79
96
|
videoPath: cachedVideoPath
|
|
@@ -82,19 +99,21 @@ export const useAttachmentSendHandler = ({
|
|
|
82
99
|
// Generate thumbnail from cached copy
|
|
83
100
|
const thumbnail = await VideoThumbnailUtil.generateThumbnail(cachedVideoPath, {
|
|
84
101
|
time: timeMs,
|
|
85
|
-
quality: 80
|
|
102
|
+
quality: 80,
|
|
103
|
+
cacheId: `thumb-${idx}-${Date.now()}`
|
|
86
104
|
});
|
|
87
105
|
if (!thumbnail) {
|
|
88
106
|
throw new Error('Failed to generate thumbnail');
|
|
89
107
|
}
|
|
90
|
-
console.log('[ChatComposer] Thumbnail generated:', {
|
|
108
|
+
console.log('[ChatComposer] Thumbnail generated for video:', {
|
|
109
|
+
index: idx,
|
|
91
110
|
path: thumbnail.path,
|
|
92
111
|
width: thumbnail.width,
|
|
93
112
|
height: thumbnail.height
|
|
94
113
|
});
|
|
95
114
|
|
|
96
115
|
// Upload thumbnail
|
|
97
|
-
const baseName = vidItem.image.filename?.split('.')[0] ||
|
|
116
|
+
const baseName = vidItem.image.filename?.split('.')[0] || `video-${idx}`;
|
|
98
117
|
const uploadedThumbnail = await ImageUploadAPI.uploadImageFile({
|
|
99
118
|
path: thumbnail.path,
|
|
100
119
|
filename: `thumb-${baseName}.jpg`,
|
|
@@ -104,6 +123,7 @@ export const useAttachmentSendHandler = ({
|
|
|
104
123
|
mime: 'image/jpeg'
|
|
105
124
|
}, progress => {
|
|
106
125
|
console.log('[ChatComposer] Thumbnail upload progress:', {
|
|
126
|
+
videoIndex: idx,
|
|
107
127
|
percentage: progress
|
|
108
128
|
});
|
|
109
129
|
});
|
|
@@ -111,30 +131,36 @@ export const useAttachmentSendHandler = ({
|
|
|
111
131
|
throw new Error('No thumbnail URL returned');
|
|
112
132
|
}
|
|
113
133
|
|
|
114
|
-
// Store
|
|
115
|
-
galleryVideoThumbnails[
|
|
134
|
+
// ✅ FIX: Store with unique ID instead of path
|
|
135
|
+
galleryVideoThumbnails[videoId] = {
|
|
116
136
|
url: uploadedThumbnail.url,
|
|
117
137
|
size: uploadedThumbnail.size || 0
|
|
118
138
|
};
|
|
119
|
-
console.log('[ChatComposer] Thumbnail ready:', {
|
|
139
|
+
console.log('[ChatComposer] Thumbnail ready for video:', {
|
|
140
|
+
videoIndex: idx,
|
|
141
|
+
videoId,
|
|
120
142
|
url: uploadedThumbnail.url,
|
|
121
143
|
size: uploadedThumbnail.size
|
|
122
144
|
});
|
|
123
|
-
console.log(`✅ [ChatComposer] THUMBNAIL URL: ${uploadedThumbnail.url}`);
|
|
145
|
+
console.log(`✅ [ChatComposer] Video #${idx} THUMBNAIL URL: ${uploadedThumbnail.url}`);
|
|
124
146
|
} catch (error) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
147
|
+
// ✅ FIX: Skip failed video instead of aborting all
|
|
148
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
149
|
+
console.error('[ChatComposer] Thumbnail generation error for video:', idx, errorMsg);
|
|
150
|
+
failedVideos.push(vidItem.image.filename);
|
|
151
|
+
|
|
152
|
+
// Mark this video as failed (no thumbnail)
|
|
153
|
+
galleryVideoThumbnails[videoId] = {
|
|
154
|
+
url: '',
|
|
155
|
+
size: 0
|
|
156
|
+
};
|
|
132
157
|
} finally {
|
|
133
158
|
// Cleanup cached video file
|
|
134
159
|
if (cachedVideoPath) {
|
|
135
160
|
try {
|
|
136
161
|
await RNFS.unlink(cachedVideoPath);
|
|
137
162
|
console.log('[ChatComposer] Cleaned up cached video:', {
|
|
163
|
+
videoIndex: idx,
|
|
138
164
|
path: cachedVideoPath
|
|
139
165
|
});
|
|
140
166
|
} catch (err) {
|
|
@@ -143,6 +169,16 @@ export const useAttachmentSendHandler = ({
|
|
|
143
169
|
}
|
|
144
170
|
}
|
|
145
171
|
}
|
|
172
|
+
|
|
173
|
+
// Show error about failed videos if any
|
|
174
|
+
if (failedVideos.length > 0) {
|
|
175
|
+
UIUtils.toast.open({
|
|
176
|
+
title: 'Thumbnail Generation Failed',
|
|
177
|
+
message: `Failed for: ${failedVideos.join(', ')}. Videos will be sent without thumbnails.`,
|
|
178
|
+
theme: 'warning'
|
|
179
|
+
});
|
|
180
|
+
console.warn('[ChatComposer] Failed to generate thumbnails for:', failedVideos);
|
|
181
|
+
}
|
|
146
182
|
}
|
|
147
183
|
const allUploadedVideos = [...uploadedVideosFromGallery];
|
|
148
184
|
console.log('[ChatComposer] handleSend summary:', {
|
|
@@ -155,10 +191,13 @@ export const useAttachmentSendHandler = ({
|
|
|
155
191
|
|
|
156
192
|
// Log thumbnail URLs
|
|
157
193
|
if (uploadedVideosFromGallery.length > 0) {
|
|
158
|
-
uploadedVideosFromGallery.forEach(vid => {
|
|
159
|
-
|
|
194
|
+
uploadedVideosFromGallery.forEach((vid, vidIdx) => {
|
|
195
|
+
// ✅ Use same key as storage: uploadedUrl or video-${idx}
|
|
196
|
+
const videoId = vid.uploadedUrl || `video-${vidIdx}`;
|
|
197
|
+
const thumbnail = galleryVideoThumbnails[videoId];
|
|
160
198
|
console.log(`✅ [ChatComposer] Gallery Video Thumbnail:`, {
|
|
161
199
|
filename: vid.image.filename,
|
|
200
|
+
videoId,
|
|
162
201
|
thumbnailUrl: thumbnail?.url || 'NOT FOUND',
|
|
163
202
|
videoUrl: vid.uploadedUrl
|
|
164
203
|
});
|
|
@@ -172,8 +211,10 @@ export const useAttachmentSendHandler = ({
|
|
|
172
211
|
type: 'image'
|
|
173
212
|
})),
|
|
174
213
|
// Videos from gallery picker with auto-generated thumbnails
|
|
175
|
-
...uploadedVideosFromGallery.map(vid => {
|
|
176
|
-
|
|
214
|
+
...uploadedVideosFromGallery.map((vid, vidIdx) => {
|
|
215
|
+
// ✅ Use same key as storage: uploadedUrl or video-${idx}
|
|
216
|
+
const videoId = vid.uploadedUrl || `video-${vidIdx}`;
|
|
217
|
+
const thumbnail = galleryVideoThumbnails[videoId];
|
|
177
218
|
return {
|
|
178
219
|
type: 'video',
|
|
179
220
|
video: vid.image,
|