@repzo/widget-react-native 1.2.2 → 1.3.1
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/CHANGELOG.md +88 -0
- package/README.md +43 -33
- package/android/build.gradle +22 -0
- package/android/src/main/java/expo/modules/repzowidget/RepzoVoicePlayer.kt +222 -0
- package/android/src/main/java/expo/modules/repzowidget/RepzoWidgetAudioModule.kt +68 -0
- package/expo-module.config.json +9 -0
- package/ios/RepzoVoicePlayer.swift +175 -0
- package/ios/RepzoWidgetAudio.podspec +26 -0
- package/ios/RepzoWidgetAudioModule.swift +65 -0
- package/lib/commonjs/api/client.js +40 -0
- package/lib/commonjs/api/client.js.map +1 -1
- package/lib/commonjs/attachments/pickers.js +80 -23
- package/lib/commonjs/attachments/pickers.js.map +1 -1
- package/lib/commonjs/audio/native-player.js +97 -0
- package/lib/commonjs/audio/native-player.js.map +1 -0
- package/lib/commonjs/audio/voice.js +34 -7
- package/lib/commonjs/audio/voice.js.map +1 -1
- package/lib/commonjs/i18n.js +2 -0
- package/lib/commonjs/i18n.js.map +1 -1
- package/lib/commonjs/locales.js +1 -0
- package/lib/commonjs/locales.js.map +1 -1
- package/lib/commonjs/state/widget-store.js +238 -40
- package/lib/commonjs/state/widget-store.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/WidgetProvider.js +8 -6
- package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
- package/lib/commonjs/ui/components/ImageViewer.js +20 -37
- package/lib/commonjs/ui/components/ImageViewer.js.map +1 -1
- package/lib/commonjs/ui/components/MessagesSkeleton.js +126 -0
- package/lib/commonjs/ui/components/MessagesSkeleton.js.map +1 -0
- package/lib/commonjs/ui/components/VoiceNote.js +8 -9
- package/lib/commonjs/ui/components/VoiceNote.js.map +1 -1
- package/lib/commonjs/ui/components/ZoomableImage.js +299 -0
- package/lib/commonjs/ui/components/ZoomableImage.js.map +1 -0
- package/lib/commonjs/ui/components/icons.js +22 -16
- package/lib/commonjs/ui/components/icons.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.js +42 -18
- package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js +17 -9
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/commonjs/ui/styles/theme.js +1 -0
- package/lib/commonjs/ui/styles/theme.js.map +1 -1
- package/lib/commonjs/ui/utils/conversations.js +17 -1
- package/lib/commonjs/ui/utils/conversations.js.map +1 -1
- package/lib/module/api/client.js +40 -0
- package/lib/module/api/client.js.map +1 -1
- package/lib/module/attachments/pickers.js +80 -23
- package/lib/module/attachments/pickers.js.map +1 -1
- package/lib/module/audio/native-player.js +93 -0
- package/lib/module/audio/native-player.js.map +1 -0
- package/lib/module/audio/voice.js +32 -6
- package/lib/module/audio/voice.js.map +1 -1
- package/lib/module/i18n.js +2 -0
- package/lib/module/i18n.js.map +1 -1
- package/lib/module/locales.js +1 -0
- package/lib/module/locales.js.map +1 -1
- package/lib/module/state/widget-store.js +238 -40
- package/lib/module/state/widget-store.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/WidgetProvider.js +8 -6
- package/lib/module/ui/WidgetProvider.js.map +1 -1
- package/lib/module/ui/components/ImageViewer.js +21 -38
- package/lib/module/ui/components/ImageViewer.js.map +1 -1
- package/lib/module/ui/components/MessagesSkeleton.js +124 -0
- package/lib/module/ui/components/MessagesSkeleton.js.map +1 -0
- package/lib/module/ui/components/VoiceNote.js +9 -10
- package/lib/module/ui/components/VoiceNote.js.map +1 -1
- package/lib/module/ui/components/ZoomableImage.js +291 -0
- package/lib/module/ui/components/ZoomableImage.js.map +1 -0
- package/lib/module/ui/components/icons.js +21 -15
- package/lib/module/ui/components/icons.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.js +44 -20
- package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.styles.js +17 -9
- package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/module/ui/styles/theme.js +1 -0
- package/lib/module/ui/styles/theme.js.map +1 -1
- package/lib/module/ui/utils/conversations.js +15 -1
- package/lib/module/ui/utils/conversations.js.map +1 -1
- package/lib/typescript/commonjs/api/client.d.ts +27 -1
- package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/attachments/pickers.d.ts +22 -10
- package/lib/typescript/commonjs/attachments/pickers.d.ts.map +1 -1
- package/lib/typescript/commonjs/audio/native-player.d.ts +36 -0
- package/lib/typescript/commonjs/audio/native-player.d.ts.map +1 -0
- package/lib/typescript/commonjs/audio/voice.d.ts +17 -4
- package/lib/typescript/commonjs/audio/voice.d.ts.map +1 -1
- package/lib/typescript/commonjs/i18n.d.ts +1 -0
- package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
- package/lib/typescript/commonjs/locales.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/widget-store.d.ts +38 -3
- package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +17 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/MessagesSkeleton.d.ts +10 -0
- package/lib/typescript/commonjs/ui/components/MessagesSkeleton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/VoiceNote.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/VoiceNote.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts +45 -0
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/icons.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/icons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +14 -9
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +4 -0
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/styles/theme.d.ts +2 -0
- package/lib/typescript/commonjs/ui/styles/theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/conversations.d.ts +10 -2
- package/lib/typescript/commonjs/ui/utils/conversations.d.ts.map +1 -1
- package/lib/typescript/module/api/client.d.ts +27 -1
- package/lib/typescript/module/api/client.d.ts.map +1 -1
- package/lib/typescript/module/attachments/pickers.d.ts +22 -10
- package/lib/typescript/module/attachments/pickers.d.ts.map +1 -1
- package/lib/typescript/module/audio/native-player.d.ts +36 -0
- package/lib/typescript/module/audio/native-player.d.ts.map +1 -0
- package/lib/typescript/module/audio/voice.d.ts +17 -4
- package/lib/typescript/module/audio/voice.d.ts.map +1 -1
- package/lib/typescript/module/i18n.d.ts +1 -0
- package/lib/typescript/module/i18n.d.ts.map +1 -1
- package/lib/typescript/module/locales.d.ts.map +1 -1
- package/lib/typescript/module/state/widget-store.d.ts +38 -3
- package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +17 -0
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ImageViewer.d.ts +2 -2
- package/lib/typescript/module/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/MessagesSkeleton.d.ts +10 -0
- package/lib/typescript/module/ui/components/MessagesSkeleton.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/VoiceNote.d.ts +2 -2
- package/lib/typescript/module/ui/components/VoiceNote.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts +45 -0
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/icons.d.ts +2 -1
- package/lib/typescript/module/ui/components/icons.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +14 -9
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +4 -0
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/styles/theme.d.ts +2 -0
- package/lib/typescript/module/ui/styles/theme.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/conversations.d.ts +10 -2
- package/lib/typescript/module/ui/utils/conversations.d.ts.map +1 -1
- package/package.json +10 -3
- package/react-native.config.js +12 -0
- package/src/api/client.ts +66 -2
- package/src/attachments/pickers.ts +87 -25
- package/src/audio/native-player.ts +106 -0
- package/src/audio/voice.ts +30 -6
- package/src/i18n.ts +2 -0
- package/src/locales.ts +1 -0
- package/src/state/widget-store.ts +233 -33
- package/src/types.ts +17 -0
- package/src/ui/WidgetProvider.tsx +16 -7
- package/src/ui/components/ImageViewer.tsx +21 -36
- package/src/ui/components/MessagesSkeleton.tsx +92 -0
- package/src/ui/components/VoiceNote.tsx +6 -14
- package/src/ui/components/ZoomableImage.tsx +250 -0
- package/src/ui/components/icons.tsx +10 -12
- package/src/ui/screens/chat/ChatView.styles.ts +17 -9
- package/src/ui/screens/chat/ChatView.tsx +49 -25
- package/src/ui/screens/chat/ChatView.types.ts +4 -0
- package/src/ui/styles/theme.ts +6 -0
- package/src/ui/utils/conversations.ts +16 -2
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Visitor attachments: picking photos/files
|
|
5
|
-
*
|
|
4
|
+
* Visitor attachments: picking photos/files for `POST /api/widget/messages`.
|
|
5
|
+
*
|
|
6
|
+
* A server that takes uploads names its cap (`maxAttachmentBytes`): a picked
|
|
7
|
+
* file then stays a local URI and is uploaded when the message is sent. An
|
|
8
|
+
* older server only takes files inline, as base64 data URLs within the
|
|
9
|
+
* 1.5 MB / 6 MB caps below.
|
|
6
10
|
*
|
|
7
11
|
* The SDK ships no native code, so every picker is borrowed from the host —
|
|
8
12
|
* the same approach as `storage.ts` and `native-gradient.ts`:
|
|
@@ -10,7 +14,7 @@
|
|
|
10
14
|
* - `expo-document-picker` → any file
|
|
11
15
|
* - `expo-file-system` → reads a picked file as base64 (optional; without it
|
|
12
16
|
* the file is read through `fetch` + `FileReader`)
|
|
13
|
-
* - `expo-image-manipulator` → shrinks photos to fit the 1.5 MB cap (optional;
|
|
17
|
+
* - `expo-image-manipulator` → shrinks photos, to fit the 1.5 MB inline cap (optional;
|
|
14
18
|
* without it a full-resolution camera photo is usually refused as too large)
|
|
15
19
|
*
|
|
16
20
|
* A host without those (or with `react-native-image-picker` etc.) plugs its own
|
|
@@ -23,10 +27,10 @@
|
|
|
23
27
|
|
|
24
28
|
/** The server keeps the first five and silently drops the rest. */
|
|
25
29
|
export const MAX_ATTACHMENTS = 5;
|
|
26
|
-
/** Per file, decoded. The server silently drops anything larger. */
|
|
30
|
+
/** Per inline file, decoded. The server silently drops anything larger. */
|
|
27
31
|
export const MAX_ATTACHMENT_BYTES = 1_500_000;
|
|
28
32
|
/**
|
|
29
|
-
* All files in one message, decoded. Base64 inside JSON inflates bytes by
|
|
33
|
+
* All inline files in one message, decoded. Base64 inside JSON inflates bytes by
|
|
30
34
|
* ~1.37x and the server caps a request body at 10 MB, so five files at the
|
|
31
35
|
* per-file maximum would come back as a 413.
|
|
32
36
|
*/
|
|
@@ -35,7 +39,7 @@ export const MAX_TOTAL_ATTACHMENT_BYTES = 6_000_000;
|
|
|
35
39
|
/** Photos are re-encoded at this JPEG quality — small enough to fit the cap more often. */
|
|
36
40
|
const IMAGE_QUALITY = 0.7;
|
|
37
41
|
|
|
38
|
-
/** A picked file,
|
|
42
|
+
/** A picked file, ready to send; what the composer shows as a chip. */
|
|
39
43
|
|
|
40
44
|
/** Why some (or all) of a pick didn't make it into the composer. */
|
|
41
45
|
|
|
@@ -108,9 +112,10 @@ const CAMERA_DENIED = 'cameraDenied';
|
|
|
108
112
|
|
|
109
113
|
/**
|
|
110
114
|
* Opens the picker for `source` and returns what fits alongside `current`.
|
|
115
|
+
* `uploadLimit` is the server's upload cap; without it files go inline.
|
|
111
116
|
* Never throws: a cancelled pick is `{ added: [], problem: null }`.
|
|
112
117
|
*/
|
|
113
|
-
export async function pickAttachments(source, current) {
|
|
118
|
+
export async function pickAttachments(source, current, uploadLimit = null) {
|
|
114
119
|
const slots = MAX_ATTACHMENTS - current.length;
|
|
115
120
|
if (slots <= 0) return {
|
|
116
121
|
added: [],
|
|
@@ -118,7 +123,7 @@ export async function pickAttachments(source, current) {
|
|
|
118
123
|
};
|
|
119
124
|
let picked;
|
|
120
125
|
try {
|
|
121
|
-
picked = hostOptions?.pick ? await hostOptions.pick(source) : await launchBuiltInPicker(source, slots);
|
|
126
|
+
picked = hostOptions?.pick ? await hostOptions.pick(source) : await launchBuiltInPicker(source, slots, !!uploadLimit);
|
|
122
127
|
} catch (error) {
|
|
123
128
|
console.warn('[repzo-widget] attachment picker failed', error);
|
|
124
129
|
return {
|
|
@@ -144,15 +149,16 @@ export async function pickAttachments(source, current) {
|
|
|
144
149
|
}
|
|
145
150
|
// A size the picker already knows rules a file out before it's read, so
|
|
146
151
|
// a 40 MB video never lands in memory as a base64 string.
|
|
147
|
-
const
|
|
148
|
-
const
|
|
152
|
+
const uploads = !!uploadLimit && !!file.uri;
|
|
153
|
+
const declared = file.base64 && !uploads ? null : validSize(file.size);
|
|
154
|
+
const early = declared === null ? null : checkAttachmentFits(accepted, declared, uploads ? uploadLimit : null);
|
|
149
155
|
if (early) {
|
|
150
156
|
problem = problem ?? early;
|
|
151
157
|
continue;
|
|
152
158
|
}
|
|
153
159
|
let draft;
|
|
154
160
|
try {
|
|
155
|
-
draft = await toDraft(file);
|
|
161
|
+
draft = uploads ? await toUploadDraft(file, uploadLimit) : await toDraft(file);
|
|
156
162
|
} catch (error) {
|
|
157
163
|
if (error === TOO_LARGE) {
|
|
158
164
|
problem = problem ?? 'tooLarge';
|
|
@@ -162,7 +168,7 @@ export async function pickAttachments(source, current) {
|
|
|
162
168
|
problem = problem ?? 'failed';
|
|
163
169
|
continue;
|
|
164
170
|
}
|
|
165
|
-
const fits = draft.size > 0 ? checkAttachmentFits(accepted, draft.size) : 'failed';
|
|
171
|
+
const fits = draft.size > 0 ? checkAttachmentFits(accepted, draft.size, uploads ? uploadLimit : null) : 'failed';
|
|
166
172
|
if (fits) {
|
|
167
173
|
problem = problem ?? fits;
|
|
168
174
|
continue;
|
|
@@ -174,7 +180,7 @@ export async function pickAttachments(source, current) {
|
|
|
174
180
|
problem
|
|
175
181
|
};
|
|
176
182
|
}
|
|
177
|
-
async function launchBuiltInPicker(source, slots) {
|
|
183
|
+
async function launchBuiltInPicker(source, slots, uploads) {
|
|
178
184
|
if (source === 'file') {
|
|
179
185
|
if (!documentPicker) return null;
|
|
180
186
|
const result = await documentPicker.getDocumentAsync({
|
|
@@ -195,9 +201,10 @@ async function launchBuiltInPicker(source, slots) {
|
|
|
195
201
|
if (!imagePicker) return null;
|
|
196
202
|
const options = {
|
|
197
203
|
quality: IMAGE_QUALITY,
|
|
198
|
-
// With the manipulator the photo is re-encoded below,
|
|
199
|
-
// (full-resolution)
|
|
200
|
-
base64
|
|
204
|
+
// With the manipulator the photo is re-encoded below, and an uploaded
|
|
205
|
+
// photo is read from its file, so the picker's own (full-resolution)
|
|
206
|
+
// base64 would only waste memory.
|
|
207
|
+
base64: !uploads && !imageManipulator,
|
|
201
208
|
exif: false
|
|
202
209
|
};
|
|
203
210
|
let result;
|
|
@@ -216,13 +223,13 @@ async function launchBuiltInPicker(source, slots) {
|
|
|
216
223
|
const assets = Array.isArray(result?.assets) ? result.assets : [];
|
|
217
224
|
const files = [];
|
|
218
225
|
for (const [index, asset] of assets.slice(0, slots).entries()) {
|
|
219
|
-
const shrunk = await shrinkPhoto(asset);
|
|
226
|
+
const shrunk = await shrinkPhoto(asset, !uploads);
|
|
220
227
|
const type = shrunk ? 'image/jpeg' : asset.mimeType || guessContentType(asset.fileName || asset.uri) || 'image/jpeg';
|
|
221
228
|
const baseName = (asset.fileName || `photo-${Date.now()}-${index + 1}`).replace(/\.[^.]+$/, '');
|
|
222
229
|
files.push({
|
|
223
230
|
name: `${baseName}.${extensionFor(type)}`,
|
|
224
231
|
type,
|
|
225
|
-
// No `size`: `fileSize` is the original's, not the re-encoded
|
|
232
|
+
// No `size`: `fileSize` is the original's, not the re-encoded file's.
|
|
226
233
|
uri: shrunk?.uri ?? asset.uri,
|
|
227
234
|
base64: shrunk?.base64 ?? asset.base64 ?? undefined
|
|
228
235
|
});
|
|
@@ -256,7 +263,7 @@ async function launchImagePicker(launch, options) {
|
|
|
256
263
|
* MAX_IMAGE_EDGE. Null when the manipulator isn't installed or fails — the
|
|
257
264
|
* caller then falls back to the picker's own output (and the size check).
|
|
258
265
|
*/
|
|
259
|
-
async function shrinkPhoto(asset) {
|
|
266
|
+
async function shrinkPhoto(asset, withBase64) {
|
|
260
267
|
if (!imageManipulator || !asset?.uri) return null;
|
|
261
268
|
const width = Number(asset.width) || 0;
|
|
262
269
|
const height = Number(asset.height) || 0;
|
|
@@ -269,7 +276,7 @@ async function shrinkPhoto(asset) {
|
|
|
269
276
|
const saveOptions = {
|
|
270
277
|
compress: IMAGE_QUALITY,
|
|
271
278
|
format: imageManipulator.SaveFormat?.JPEG ?? 'jpeg',
|
|
272
|
-
base64:
|
|
279
|
+
base64: withBase64
|
|
273
280
|
};
|
|
274
281
|
try {
|
|
275
282
|
let output;
|
|
@@ -283,6 +290,9 @@ async function shrinkPhoto(asset) {
|
|
|
283
290
|
const image = await context.renderAsync();
|
|
284
291
|
output = await image.saveAsync(saveOptions);
|
|
285
292
|
}
|
|
293
|
+
if (!withBase64) return typeof output?.uri === 'string' && output.uri ? {
|
|
294
|
+
uri: output.uri
|
|
295
|
+
} : null;
|
|
286
296
|
return typeof output?.base64 === 'string' && output.base64 ? {
|
|
287
297
|
uri: output.uri ?? asset.uri,
|
|
288
298
|
base64: output.base64
|
|
@@ -313,6 +323,48 @@ async function toDraft(file) {
|
|
|
313
323
|
};
|
|
314
324
|
}
|
|
315
325
|
|
|
326
|
+
/** A file that's uploaded when the message is sent: only its size is read here. */
|
|
327
|
+
async function toUploadDraft(file, uploadLimit) {
|
|
328
|
+
const uri = file.uri;
|
|
329
|
+
const size = validSize(file.size) ?? (await readFileSize(uri));
|
|
330
|
+
if (size > uploadLimit) throw TOO_LARGE;
|
|
331
|
+
const name = (file.name || fileNameFromUri(uri) || 'file').slice(0, 255);
|
|
332
|
+
return {
|
|
333
|
+
id: `draft-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
|
|
334
|
+
name,
|
|
335
|
+
contentType: normalizeContentType(file.type) ?? guessContentType(name) ?? 'application/octet-stream',
|
|
336
|
+
size,
|
|
337
|
+
dataUrl: '',
|
|
338
|
+
fileUri: uri,
|
|
339
|
+
previewUri: uri
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/** A local file's size in bytes, or 0 when nothing can tell. */
|
|
344
|
+
async function readFileSize(uri) {
|
|
345
|
+
if (typeof fileSystem?.File === 'function') {
|
|
346
|
+
try {
|
|
347
|
+
const size = validSize(new fileSystem.File(uri).size);
|
|
348
|
+
if (size !== null) return size;
|
|
349
|
+
} catch {
|
|
350
|
+
// Fall through to the next reader.
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (typeof fileSystem?.getInfoAsync === 'function') {
|
|
354
|
+
try {
|
|
355
|
+
const size = validSize((await fileSystem.getInfoAsync(uri, {
|
|
356
|
+
size: true
|
|
357
|
+
}))?.size);
|
|
358
|
+
if (size !== null) return size;
|
|
359
|
+
} catch {
|
|
360
|
+
// Fall through to fetch.
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// A native blob: its size is known without reading it into JS.
|
|
364
|
+
const blob = await (await fetch(uri)).blob();
|
|
365
|
+
return validSize(blob.size) ?? 0;
|
|
366
|
+
}
|
|
367
|
+
|
|
316
368
|
/** Thrown (by identity) when a file is over the per-file cap before it's read. */
|
|
317
369
|
const TOO_LARGE = new Error('File exceeds the attachment cap');
|
|
318
370
|
|
|
@@ -380,11 +432,16 @@ async function readBase64WithFetch(uri) {
|
|
|
380
432
|
|
|
381
433
|
// ─── Pure helpers ──────────────────────────────────────────────────────────
|
|
382
434
|
|
|
383
|
-
/**
|
|
384
|
-
|
|
435
|
+
/**
|
|
436
|
+
* Null when a file of `size` bytes still fits beside `current`; otherwise the
|
|
437
|
+
* limit it breaks. With `uploadLimit` the file is uploaded on its own, so
|
|
438
|
+
* only its own size counts; inline files also share one request body.
|
|
439
|
+
*/
|
|
440
|
+
export function checkAttachmentFits(current, size, uploadLimit = null) {
|
|
385
441
|
if (current.length >= MAX_ATTACHMENTS) return 'tooMany';
|
|
442
|
+
if (uploadLimit) return size > uploadLimit ? 'tooLarge' : null;
|
|
386
443
|
if (size > MAX_ATTACHMENT_BYTES) return 'tooLarge';
|
|
387
|
-
const total = current.reduce((sum, item) => sum + item.size, 0);
|
|
444
|
+
const total = current.filter(item => !item.fileUri).reduce((sum, item) => sum + item.size, 0);
|
|
388
445
|
if (total + size > MAX_TOTAL_ATTACHMENT_BYTES) return 'tooLargeTogether';
|
|
389
446
|
return null;
|
|
390
447
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MAX_ATTACHMENTS","MAX_ATTACHMENT_BYTES","MAX_TOTAL_ATTACHMENT_BYTES","IMAGE_QUALITY","imagePicker","mod","require","launchImageLibraryAsync","documentPicker","getDocumentAsync","fileSystem","imageManipulator","manipulateAsync","ImageManipulator","manipulate","MAX_IMAGE_EDGE","hostOptions","setAttachmentOptions","options","ALL_SOURCES","getAttachmentSources","enabled","pick","wanted","sources","filter","source","includes","push","launchCameraAsync","CAMERA_DENIED","pickAttachments","current","slots","length","added","problem","picked","launchBuiltInPicker","error","console","warn","Array","isArray","file","accepted","declared","base64","validSize","size","early","checkAttachmentFits","draft","toDraft","TOO_LARGE","fits","result","type","multiple","copyToCacheDirectory","canceled","assets","uri","map","asset","name","fileNameFromUri","mimeType","quality","exif","permission","requestCameraPermissionsAsync","granted","launchImagePicker","allowsMultipleSelection","selectionLimit","cancelled","files","index","slice","entries","shrunk","shrinkPhoto","guessContentType","fileName","baseName","Date","now","replace","extensionFor","undefined","launch","mediaTypes","legacy","MediaTypeOptions","Images","width","Number","height","longest","Math","max","resize","saveOptions","compress","format","SaveFormat","JPEG","output","context","image","renderAsync","saveAsync","stripDataUrlPrefix","Error","readBase64","contentType","normalizeContentType","dataUrl","buildDataUrl","id","random","toString","base64ByteLength","previewUri","File","value","readAsStringAsync","getInfoAsync","info","encoding","readBase64WithFetch","response","fetch","blob","Promise","resolve","reject","reader","FileReader","onload","onerror","readAsDataURL","total","reduce","sum","item","MIME_TYPE","bare","split","trim","toLowerCase","test","comma","startsWith","indexOf","clean","padding","endsWith","floor","formatBytes","bytes","toFixed","round","isImageAttachment","isFinite","last","pop","decodeURIComponent","CONTENT_TYPES","jpg","jpeg","png","gif","webp","heic","heif","pdf","txt","csv","doc","docx","xls","xlsx","ppt","pptx","zip","mp3","m4a","mp4","mov","nameOrUri","extension","exec","subtype"],"sourceRoot":"../../../src","sources":["attachments/pickers.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA,OAAO,MAAMA,eAAe,GAAG,CAAC;AAChC;AACA,OAAO,MAAMC,oBAAoB,GAAG,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAG,SAAS;;AAEnD;AACA,MAAMC,aAAa,GAAG,GAAG;;AAEzB;;AAaA;;AAcA;AACA;AACA;AACA;;AAEA,IAAIC,WAAgB,GAAG,IAAI;AAC3B,IAAI;EACF,MAAMC,GAAG,GAAGC,OAAO,CAAC,mBAAmB,CAAC;EACxC,IAAI,OAAOD,GAAG,EAAEE,uBAAuB,KAAK,UAAU,EAAEH,WAAW,GAAGC,GAAG;AAC3E,CAAC,CAAC,MAAM;EACND,WAAW,GAAG,IAAI;AACpB;AAEA,IAAII,cAAmB,GAAG,IAAI;AAC9B,IAAI;EACF,MAAMH,GAAG,GAAGC,OAAO,CAAC,sBAAsB,CAAC;EAC3C,IAAI,OAAOD,GAAG,EAAEI,gBAAgB,KAAK,UAAU,EAAED,cAAc,GAAGH,GAAG;AACvE,CAAC,CAAC,MAAM;EACNG,cAAc,GAAG,IAAI;AACvB;AAEA,IAAIE,UAAe,GAAG,IAAI;AAC1B,IAAI;EACFA,UAAU,GAAGJ,OAAO,CAAC,kBAAkB,CAAC,IAAI,IAAI;AAClD,CAAC,CAAC,MAAM;EACNI,UAAU,GAAG,IAAI;AACnB;AAEA,IAAIC,gBAAqB,GAAG,IAAI;AAChC,IAAI;EACF,MAAMN,GAAG,GAAGC,OAAO,CAAC,wBAAwB,CAAC;EAC7C,IACE,OAAOD,GAAG,EAAEO,eAAe,KAAK,UAAU,IAC1C,OAAOP,GAAG,EAAEQ,gBAAgB,EAAEC,UAAU,KAAK,UAAU,EACvD;IACAH,gBAAgB,GAAGN,GAAG;EACxB;AACF,CAAC,CAAC,MAAM;EACNM,gBAAgB,GAAG,IAAI;AACzB;;AAEA;AACA,MAAMI,cAAc,GAAG,IAAI;AAE3B,IAAIC,WAAgD,GAAG,IAAI;;AAE3D;AACA,OAAO,SAASC,oBAAoBA,CAACC,OAA4C,EAAQ;EACvFF,WAAW,GAAGE,OAAO;AACvB;AAEA,MAAMC,WAA+B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;;AAEnE;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAuB;EACzD,IAAIJ,WAAW,EAAEK,OAAO,KAAK,KAAK,EAAE,OAAO,EAAE;EAC7C,IAAIL,WAAW,EAAEM,IAAI,EAAE;IACrB,MAAMC,MAAM,GAAGP,WAAW,CAACQ,OAAO,IAAIL,WAAW;IACjD,OAAOA,WAAW,CAACM,MAAM,CAAEC,MAAM,IAAKH,MAAM,CAACI,QAAQ,CAACD,MAAM,CAAC,CAAC;EAChE;EACA,MAAMF,OAA2B,GAAG,EAAE;EACtC,IAAIpB,WAAW,EAAEoB,OAAO,CAACI,IAAI,CAAC,OAAO,CAAC;EACtC,IAAI,OAAOxB,WAAW,EAAEyB,iBAAiB,KAAK,UAAU,EAAEL,OAAO,CAACI,IAAI,CAAC,QAAQ,CAAC;EAChF,IAAIpB,cAAc,EAAEgB,OAAO,CAACI,IAAI,CAAC,MAAM,CAAC;EACxC,OAAOJ,OAAO;AAChB;;AAEA;;AAEA;AACA,MAAMM,aAAa,GAAG,cAAuB;;AAE7C;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CACnCL,MAAwB,EACxBM,OAA0B,EACL;EACrB,MAAMC,KAAK,GAAGjC,eAAe,GAAGgC,OAAO,CAACE,MAAM;EAC9C,IAAID,KAAK,IAAI,CAAC,EAAE,OAAO;IAAEE,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAU,CAAC;EAExD,IAAIC,MAAuD;EAC3D,IAAI;IACFA,MAAM,GAAGrB,WAAW,EAAEM,IAAI,GACtB,MAAMN,WAAW,CAACM,IAAI,CAACI,MAAM,CAAC,GAC9B,MAAMY,mBAAmB,CAACZ,MAAM,EAAEO,KAAK,CAAC;EAC9C,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,yCAAyC,EAAEF,KAAK,CAAC;IAC9D,OAAO;MAAEJ,KAAK,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAS,CAAC;EACzC;EACA,IAAIC,MAAM,KAAKP,aAAa,EAAE,OAAO;IAAEK,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAe,CAAC;EAC3E,IAAI,CAACM,KAAK,CAACC,OAAO,CAACN,MAAM,CAAC,IAAIA,MAAM,CAACH,MAAM,KAAK,CAAC,EAAE,OAAO;IAAEC,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAK,CAAC;EAEtF,MAAMD,KAAwB,GAAG,EAAE;EACnC,IAAIC,OAAiC,GAAG,IAAI;EAC5C,KAAK,MAAMQ,IAAI,IAAIP,MAAM,EAAE;IACzB,MAAMQ,QAAQ,GAAG,CAAC,GAAGb,OAAO,EAAE,GAAGG,KAAK,CAAC;IACvC,IAAIU,QAAQ,CAACX,MAAM,IAAIlC,eAAe,EAAE;MACtCoC,OAAO,GAAGA,OAAO,IAAI,SAAS;MAC9B;IACF;IACA;IACA;IACA,MAAMU,QAAQ,GAAGF,IAAI,CAACG,MAAM,GAAG,IAAI,GAAGC,SAAS,CAACJ,IAAI,CAACK,IAAI,CAAC;IAC1D,MAAMC,KAAK,GAAGJ,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAGK,mBAAmB,CAACN,QAAQ,EAAEC,QAAQ,CAAC;IAChF,IAAII,KAAK,EAAE;MACTd,OAAO,GAAGA,OAAO,IAAIc,KAAK;MAC1B;IACF;IAEA,IAAIE,KAAsB;IAC1B,IAAI;MACFA,KAAK,GAAG,MAAMC,OAAO,CAACT,IAAI,CAAC;IAC7B,CAAC,CAAC,OAAOL,KAAK,EAAE;MACd,IAAIA,KAAK,KAAKe,SAAS,EAAE;QACvBlB,OAAO,GAAGA,OAAO,IAAI,UAAU;QAC/B;MACF;MACAI,OAAO,CAACC,IAAI,CAAC,0CAA0C,EAAEF,KAAK,CAAC;MAC/DH,OAAO,GAAGA,OAAO,IAAI,QAAQ;MAC7B;IACF;IACA,MAAMmB,IAAI,GAAGH,KAAK,CAACH,IAAI,GAAG,CAAC,GAAGE,mBAAmB,CAACN,QAAQ,EAAEO,KAAK,CAACH,IAAI,CAAC,GAAG,QAAQ;IAClF,IAAIM,IAAI,EAAE;MACRnB,OAAO,GAAGA,OAAO,IAAImB,IAAI;MACzB;IACF;IACApB,KAAK,CAACP,IAAI,CAACwB,KAAK,CAAC;EACnB;EACA,OAAO;IAAEjB,KAAK;IAAEC;EAAQ,CAAC;AAC3B;AAEA,eAAeE,mBAAmBA,CAChCZ,MAAwB,EACxBO,KAAa,EAC6C;EAC1D,IAAIP,MAAM,KAAK,MAAM,EAAE;IACrB,IAAI,CAAClB,cAAc,EAAE,OAAO,IAAI;IAChC,MAAMgD,MAAM,GAAG,MAAMhD,cAAc,CAACC,gBAAgB,CAAC;MACnDgD,IAAI,EAAE,KAAK;MACXC,QAAQ,EAAEzB,KAAK,GAAG,CAAC;MACnB0B,oBAAoB,EAAE;IACxB,CAAC,CAAC;IACF;IACA,IAAIH,MAAM,EAAEI,QAAQ,IAAIJ,MAAM,EAAEC,IAAI,KAAK,QAAQ,EAAE,OAAO,IAAI;IAC9D,MAAMI,MAAa,GAAGnB,KAAK,CAACC,OAAO,CAACa,MAAM,EAAEK,MAAM,CAAC,GAAGL,MAAM,CAACK,MAAM,GAAGL,MAAM,EAAEM,GAAG,GAAG,CAACN,MAAM,CAAC,GAAG,EAAE;IACjG,OAAOK,MAAM,CAACE,GAAG,CAAEC,KAAK,KAAM;MAC5BC,IAAI,EAAED,KAAK,CAACC,IAAI,IAAIC,eAAe,CAACF,KAAK,CAACF,GAAG,CAAC,IAAI,MAAM;MACxDL,IAAI,EAAEO,KAAK,CAACG,QAAQ,IAAI,EAAE;MAC1BlB,IAAI,EAAEe,KAAK,CAACf,IAAI;MAChBa,GAAG,EAAEE,KAAK,CAACF;IACb,CAAC,CAAC,CAAC;EACL;EAEA,IAAI,CAAC1D,WAAW,EAAE,OAAO,IAAI;EAC7B,MAAMc,OAAO,GAAG;IACdkD,OAAO,EAAEjE,aAAa;IACtB;IACA;IACA4C,MAAM,EAAE,CAACpC,gBAAgB;IACzB0D,IAAI,EAAE;EACR,CAAC;EAED,IAAIb,MAAW;EACf,IAAI9B,MAAM,KAAK,QAAQ,EAAE;IACvB,MAAM4C,UAAU,GAAG,MAAMlE,WAAW,CAACmE,6BAA6B,GAAG,CAAC;IACtE,IAAID,UAAU,IAAIA,UAAU,CAACE,OAAO,KAAK,KAAK,EAAE,OAAO1C,aAAa;IACpE0B,MAAM,GAAG,MAAMiB,iBAAiB,CAACrE,WAAW,CAACyB,iBAAiB,EAAEX,OAAO,CAAC;EAC1E,CAAC,MAAM;IACLsC,MAAM,GAAG,MAAMiB,iBAAiB,CAACrE,WAAW,CAACG,uBAAuB,EAAE;MACpE,GAAGW,OAAO;MACVwD,uBAAuB,EAAEzC,KAAK,GAAG,CAAC;MAClC0C,cAAc,EAAE1C;IAClB,CAAC,CAAC;EACJ;EACA,IAAIuB,MAAM,EAAEI,QAAQ,IAAIJ,MAAM,EAAEoB,SAAS,EAAE,OAAO,IAAI;EACtD,MAAMf,MAAa,GAAGnB,KAAK,CAACC,OAAO,CAACa,MAAM,EAAEK,MAAM,CAAC,GAAGL,MAAM,CAACK,MAAM,GAAG,EAAE;EACxE,MAAMgB,KAAwB,GAAG,EAAE;EACnC,KAAK,MAAM,CAACC,KAAK,EAAEd,KAAK,CAAC,IAAIH,MAAM,CAACkB,KAAK,CAAC,CAAC,EAAE9C,KAAK,CAAC,CAAC+C,OAAO,CAAC,CAAC,EAAE;IAC7D,MAAMC,MAAM,GAAG,MAAMC,WAAW,CAAClB,KAAK,CAAC;IACvC,MAAMP,IAAI,GAAGwB,MAAM,GACf,YAAY,GACZjB,KAAK,CAACG,QAAQ,IAAIgB,gBAAgB,CAACnB,KAAK,CAACoB,QAAQ,IAAIpB,KAAK,CAACF,GAAG,CAAC,IAAI,YAAY;IACnF,MAAMuB,QAAQ,GAAG,CAACrB,KAAK,CAACoB,QAAQ,IAAI,SAASE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIT,KAAK,GAAG,CAAC,EAAE,EAAEU,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IAC/FX,KAAK,CAACjD,IAAI,CAAC;MACTqC,IAAI,EAAE,GAAGoB,QAAQ,IAAII,YAAY,CAAChC,IAAI,CAAC,EAAE;MACzCA,IAAI;MACJ;MACAK,GAAG,EAAEmB,MAAM,EAAEnB,GAAG,IAAIE,KAAK,CAACF,GAAG;MAC7Bf,MAAM,EAAEkC,MAAM,EAAElC,MAAM,IAAIiB,KAAK,CAACjB,MAAM,IAAI2C;IAC5C,CAAC,CAAC;EACJ;EACA,OAAOb,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeJ,iBAAiBA,CAACkB,MAAyC,EAAEzE,OAAe,EAAE;EAC3F,IAAI;IACF,OAAO,MAAMyE,MAAM,CAAC;MAAE,GAAGzE,OAAO;MAAE0E,UAAU,EAAE,CAAC,QAAQ;IAAE,CAAC,CAAC;EAC7D,CAAC,CAAC,OAAOrD,KAAK,EAAE;IACd,MAAMsD,MAAM,GAAGzF,WAAW,EAAE0F,gBAAgB,EAAEC,MAAM;IACpD,IAAI,CAACF,MAAM,EAAE,MAAMtD,KAAK;IACxB,OAAOoD,MAAM,CAAC;MAAE,GAAGzE,OAAO;MAAE0E,UAAU,EAAEC;IAAO,CAAC,CAAC;EACnD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeX,WAAWA,CAAClB,KAAU,EAAmD;EACtF,IAAI,CAACrD,gBAAgB,IAAI,CAACqD,KAAK,EAAEF,GAAG,EAAE,OAAO,IAAI;EACjD,MAAMkC,KAAK,GAAGC,MAAM,CAACjC,KAAK,CAACgC,KAAK,CAAC,IAAI,CAAC;EACtC,MAAME,MAAM,GAAGD,MAAM,CAACjC,KAAK,CAACkC,MAAM,CAAC,IAAI,CAAC;EACxC,MAAMC,OAAO,GAAGC,IAAI,CAACC,GAAG,CAACL,KAAK,EAAEE,MAAM,CAAC;EACvC,MAAMI,MAAM,GACVH,OAAO,GAAGpF,cAAc,GACpBiF,KAAK,IAAIE,MAAM,GACb;IAAEF,KAAK,EAAEjF;EAAe,CAAC,GACzB;IAAEmF,MAAM,EAAEnF;EAAe,CAAC,GAC5B,IAAI;EACV,MAAMwF,WAAW,GAAG;IAClBC,QAAQ,EAAErG,aAAa;IACvBsG,MAAM,EAAE9F,gBAAgB,CAAC+F,UAAU,EAAEC,IAAI,IAAI,MAAM;IACnD5D,MAAM,EAAE;EACV,CAAC;EACD,IAAI;IACF,IAAI6D,MAAW;IACf,IAAI,OAAOjG,gBAAgB,CAACC,eAAe,KAAK,UAAU,EAAE;MAC1DgG,MAAM,GAAG,MAAMjG,gBAAgB,CAACC,eAAe,CAACoD,KAAK,CAACF,GAAG,EAAEwC,MAAM,GAAG,CAAC;QAAEA;MAAO,CAAC,CAAC,GAAG,EAAE,EAAEC,WAAW,CAAC;IACrG,CAAC,MAAM;MACL,MAAMM,OAAO,GAAGlG,gBAAgB,CAACE,gBAAgB,CAACC,UAAU,CAACkD,KAAK,CAACF,GAAG,CAAC;MACvE,IAAIwC,MAAM,EAAEO,OAAO,CAACP,MAAM,CAACA,MAAM,CAAC;MAClC,MAAMQ,KAAK,GAAG,MAAMD,OAAO,CAACE,WAAW,CAAC,CAAC;MACzCH,MAAM,GAAG,MAAME,KAAK,CAACE,SAAS,CAACT,WAAW,CAAC;IAC7C;IACA,OAAO,OAAOK,MAAM,EAAE7D,MAAM,KAAK,QAAQ,IAAI6D,MAAM,CAAC7D,MAAM,GACtD;MAAEe,GAAG,EAAE8C,MAAM,CAAC9C,GAAG,IAAIE,KAAK,CAACF,GAAG;MAAEf,MAAM,EAAE6D,MAAM,CAAC7D;IAAO,CAAC,GACvD,IAAI;EACV,CAAC,CAAC,OAAOR,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,8DAA8D,EAAEF,KAAK,CAAC;IACnF,OAAO,IAAI;EACb;AACF;AAEA,eAAec,OAAOA,CAACT,IAAqB,EAA4B;EACtE,IAAIG,MAAM,GAAGH,IAAI,CAACG,MAAM,GAAGkE,kBAAkB,CAACrE,IAAI,CAACG,MAAM,CAAC,GAAG,EAAE;EAC/D,IAAI,CAACA,MAAM,EAAE;IACX,IAAI,CAACH,IAAI,CAACkB,GAAG,EAAE,MAAM,IAAIoD,KAAK,CAAC,wCAAwC,CAAC;IACxEnE,MAAM,GAAG,MAAMoE,UAAU,CAACvE,IAAI,CAACkB,GAAG,CAAC;EACrC;EACAf,MAAM,GAAGA,MAAM,CAACyC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAElC,MAAMvB,IAAI,GAAG,CAACrB,IAAI,CAACqB,IAAI,IAAIC,eAAe,CAACtB,IAAI,CAACkB,GAAG,CAAC,IAAI,MAAM,EAAEiB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;EAC7E,MAAMqC,WAAW,GACfC,oBAAoB,CAACzE,IAAI,CAACa,IAAI,CAAC,IAAI0B,gBAAgB,CAAClB,IAAI,CAAC,IAAI,0BAA0B;EACzF,MAAMqD,OAAO,GAAGC,YAAY,CAACH,WAAW,EAAErE,MAAM,CAAC;EACjD,OAAO;IACLyE,EAAE,EAAE,SAASlC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIa,IAAI,CAACqB,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAC3C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IACnEd,IAAI;IACJmD,WAAW;IACXnE,IAAI,EAAE0E,gBAAgB,CAAC5E,MAAM,CAAC;IAC9BuE,OAAO;IACP;IACAM,UAAU,EAAEhF,IAAI,CAACkB,GAAG,IAAIwD;EAC1B,CAAC;AACH;;AAEA;AACA,MAAMhE,SAAS,GAAG,IAAI4D,KAAK,CAAC,iCAAiC,CAAC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeC,UAAUA,CAACrD,GAAW,EAAmB;EACtD,IAAI,OAAOpD,UAAU,EAAEmH,IAAI,KAAK,UAAU,EAAE;IAC1C,IAAIjF,IAAS,GAAG,IAAI;IACpB,IAAI;MACFA,IAAI,GAAG,IAAIlC,UAAU,CAACmH,IAAI,CAAC/D,GAAG,CAAC;IACjC,CAAC,CAAC,MAAM;MACNlB,IAAI,GAAG,IAAI;IACb;IACA,MAAMK,IAAI,GAAGD,SAAS,CAACJ,IAAI,EAAEK,IAAI,CAAC;IAClC,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,GAAGhD,oBAAoB,EAAE,MAAMqD,SAAS;IACjE,IAAIL,IAAI,KAAK,IAAI,IAAI,OAAOL,IAAI,CAACG,MAAM,KAAK,UAAU,EAAE;MACtD,IAAI;QACF,MAAM+E,KAAK,GAAG,MAAMlF,IAAI,CAACG,MAAM,CAAC,CAAC;QACjC,IAAI,OAAO+E,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE,OAAOA,KAAK;MACtD,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;EACA,IACE,OAAOpH,UAAU,EAAEqH,iBAAiB,KAAK,UAAU,IACnD,OAAOrH,UAAU,EAAEsH,YAAY,KAAK,UAAU,EAC9C;IACA,IAAI;MACF,MAAMC,IAAI,GAAG,MAAMvH,UAAU,CAACsH,YAAY,CAAClE,GAAG,EAAE;QAAEb,IAAI,EAAE;MAAK,CAAC,CAAC;MAC/D,MAAMA,IAAI,GAAGD,SAAS,CAACiF,IAAI,EAAEhF,IAAI,CAAC;MAClC,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,GAAGhD,oBAAoB,EAAE,MAAMqD,SAAS;MACjE,IAAIL,IAAI,KAAK,IAAI,EAAE;QACjB,MAAM6E,KAAK,GAAG,MAAMpH,UAAU,CAACqH,iBAAiB,CAACjE,GAAG,EAAE;UAAEoE,QAAQ,EAAE;QAAS,CAAC,CAAC;QAC7E,IAAI,OAAOJ,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE,OAAOA,KAAK;MACtD;IACF,CAAC,CAAC,OAAOvF,KAAK,EAAE;MACd,IAAIA,KAAK,KAAKe,SAAS,EAAE,MAAMf,KAAK;MACpC;IACF;EACF;EACA,OAAO4F,mBAAmB,CAACrE,GAAG,CAAC;AACjC;AAEA,eAAeqE,mBAAmBA,CAACrE,GAAW,EAAmB;EAC/D,MAAMsE,QAAQ,GAAG,MAAMC,KAAK,CAACvE,GAAG,CAAC;EACjC,MAAMwE,IAAI,GAAG,MAAMF,QAAQ,CAACE,IAAI,CAAC,CAAC;EAClC;EACA,IAAIA,IAAI,CAACrF,IAAI,GAAGhD,oBAAoB,EAAE,MAAMqD,SAAS;EACrD,MAAMgE,OAAO,GAAG,MAAM,IAAIiB,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC7D,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;IAC/BD,MAAM,CAACE,MAAM,GAAG,MAAMJ,OAAO,CAAC,OAAOE,MAAM,CAAClF,MAAM,KAAK,QAAQ,GAAGkF,MAAM,CAAClF,MAAM,GAAG,EAAE,CAAC;IACrFkF,MAAM,CAACG,OAAO,GAAG,MAAMJ,MAAM,CAACC,MAAM,CAACnG,KAAK,IAAI,IAAI2E,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7EwB,MAAM,CAACI,aAAa,CAACR,IAAI,CAAC;EAC5B,CAAC,CAAC;EACF,OAAOrB,kBAAkB,CAACK,OAAO,CAAC;AACpC;;AAEA;;AAEA;AACA,OAAO,SAASnE,mBAAmBA,CACjCnB,OAAwC,EACxCiB,IAAY,EACc;EAC1B,IAAIjB,OAAO,CAACE,MAAM,IAAIlC,eAAe,EAAE,OAAO,SAAS;EACvD,IAAIiD,IAAI,GAAGhD,oBAAoB,EAAE,OAAO,UAAU;EAClD,MAAM8I,KAAK,GAAG/G,OAAO,CAACgH,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGC,IAAI,CAACjG,IAAI,EAAE,CAAC,CAAC;EAC/D,IAAI8F,KAAK,GAAG9F,IAAI,GAAG/C,0BAA0B,EAAE,OAAO,kBAAkB;EACxE,OAAO,IAAI;AACb;AAEA,OAAO,SAASqH,YAAYA,CAACH,WAAmB,EAAErE,MAAc,EAAU;EACxE,OAAO,QAAQsE,oBAAoB,CAACD,WAAW,CAAC,IAAI,0BAA0B,WAAWrE,MAAM,EAAE;AACnG;;AAEA;AACA,MAAMoG,SAAS,GAAG,oEAAoE;;AAEtF;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS9B,oBAAoBA,CAACS,KAAgC,EAAiB;EACpF,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EAC1C,MAAMsB,IAAI,GAAGtB,KAAK,CAACuB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAEC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EACtD,OAAOJ,SAAS,CAACK,IAAI,CAACJ,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;AAC3C;;AAEA;AACA,OAAO,SAASnC,kBAAkBA,CAACa,KAAa,EAAU;EACxD,MAAM2B,KAAK,GAAG3B,KAAK,CAAC4B,UAAU,CAAC,OAAO,CAAC,GAAG5B,KAAK,CAAC6B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACjE,OAAOF,KAAK,IAAI,CAAC,GAAG3B,KAAK,CAAC/C,KAAK,CAAC0E,KAAK,GAAG,CAAC,CAAC,GAAG3B,KAAK;AACpD;;AAEA;AACA,OAAO,SAASH,gBAAgBA,CAAC5E,MAAc,EAAU;EACvD,MAAM6G,KAAK,GAAG7G,MAAM,CAACyC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACvC,IAAI,CAACoE,KAAK,EAAE,OAAO,CAAC;EACpB,MAAMC,OAAO,GAAGD,KAAK,CAACE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGF,KAAK,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;EACtE,OAAO1D,IAAI,CAAC2D,KAAK,CAAEH,KAAK,CAAC1H,MAAM,GAAG,CAAC,GAAI,CAAC,CAAC,GAAG2H,OAAO;AACrD;;AAEA;AACA,OAAO,SAASG,WAAWA,CAACC,KAAa,EAAU;EACjD,IAAIA,KAAK,IAAI,SAAS,EAAE,OAAO,GAAG,CAACA,KAAK,GAAG,SAAS,EAAEC,OAAO,CAAC,CAAC,CAAC,CAAC1E,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK;EACzF,IAAIyE,KAAK,IAAI,KAAK,EAAE,OAAO,GAAG7D,IAAI,CAAC+D,KAAK,CAACF,KAAK,GAAG,KAAK,CAAC,KAAK;EAC5D,OAAO,GAAG7D,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAAC+D,KAAK,CAACF,KAAK,CAAC,CAAC,IAAI;AAC9C;AAEA,OAAO,SAASG,iBAAiBA,CAAChD,WAAsC,EAAW;EACjF,OAAO,CAAC,CAACA,WAAW,IAAIA,WAAW,CAACmC,WAAW,CAAC,CAAC,CAACG,UAAU,CAAC,QAAQ,CAAC;AACxE;AAEA,SAAS1G,SAASA,CAACC,IAAa,EAAiB;EAC/C,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIgD,MAAM,CAACoE,QAAQ,CAACpH,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,IAAI;AACpF;AAEA,SAASiB,eAAeA,CAACJ,GAAuB,EAAiB;EAC/D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,MAAMwG,IAAI,GAAGxG,GAAG,CAACuF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,CAAC,CAACkB,GAAG,CAAC,CAAC;EACnD,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;EACtB,IAAI;IACF,OAAOE,kBAAkB,CAACF,IAAI,CAAC;EACjC,CAAC,CAAC,MAAM;IACN,OAAOA,IAAI;EACb;AACF;AAEA,MAAMG,aAAqC,GAAG;EAC5CC,GAAG,EAAE,YAAY;EACjBC,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,WAAW;EAChBC,GAAG,EAAE,WAAW;EAChBC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,iBAAiB;EACtBC,GAAG,EAAE,YAAY;EACjBC,GAAG,EAAE,UAAU;EACfC,GAAG,EAAE,oBAAoB;EACzBC,IAAI,EAAE,yEAAyE;EAC/EC,GAAG,EAAE,0BAA0B;EAC/BC,IAAI,EAAE,mEAAmE;EACzEC,GAAG,EAAE,+BAA+B;EACpCC,IAAI,EAAE,2EAA2E;EACjFC,GAAG,EAAE,iBAAiB;EACtBC,GAAG,EAAE,YAAY;EACjBC,GAAG,EAAE,WAAW;EAChBC,GAAG,EAAE,WAAW;EAChBC,GAAG,EAAE;AACP,CAAC;AAED,SAAS3G,gBAAgBA,CAAC4G,SAAoC,EAAiB;EAC7E,MAAMC,SAAS,GAAG,iBAAiB,CAACC,IAAI,CAACF,SAAS,EAAE1C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;EAChF,OAAO2C,SAAS,GAAIvB,aAAa,CAACuB,SAAS,CAACzC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,GAAI,IAAI;AAC5E;AAEA,SAAS9D,YAAYA,CAAC2B,WAAmB,EAAU;EACjD,MAAM8E,OAAO,GAAG9E,WAAW,CAACiC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAEE,WAAW,CAAC,CAAC;EACxD,OAAO2C,OAAO,KAAK,MAAM,IAAI,CAACA,OAAO,GAAG,KAAK,GAAGA,OAAO;AACzD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MAX_ATTACHMENTS","MAX_ATTACHMENT_BYTES","MAX_TOTAL_ATTACHMENT_BYTES","IMAGE_QUALITY","imagePicker","mod","require","launchImageLibraryAsync","documentPicker","getDocumentAsync","fileSystem","imageManipulator","manipulateAsync","ImageManipulator","manipulate","MAX_IMAGE_EDGE","hostOptions","setAttachmentOptions","options","ALL_SOURCES","getAttachmentSources","enabled","pick","wanted","sources","filter","source","includes","push","launchCameraAsync","CAMERA_DENIED","pickAttachments","current","uploadLimit","slots","length","added","problem","picked","launchBuiltInPicker","error","console","warn","Array","isArray","file","accepted","uploads","uri","declared","base64","validSize","size","early","checkAttachmentFits","draft","toUploadDraft","toDraft","TOO_LARGE","fits","result","type","multiple","copyToCacheDirectory","canceled","assets","map","asset","name","fileNameFromUri","mimeType","quality","exif","permission","requestCameraPermissionsAsync","granted","launchImagePicker","allowsMultipleSelection","selectionLimit","cancelled","files","index","slice","entries","shrunk","shrinkPhoto","guessContentType","fileName","baseName","Date","now","replace","extensionFor","undefined","launch","mediaTypes","legacy","MediaTypeOptions","Images","withBase64","width","Number","height","longest","Math","max","resize","saveOptions","compress","format","SaveFormat","JPEG","output","context","image","renderAsync","saveAsync","stripDataUrlPrefix","Error","readBase64","contentType","normalizeContentType","dataUrl","buildDataUrl","id","random","toString","base64ByteLength","previewUri","readFileSize","fileUri","File","getInfoAsync","blob","fetch","value","readAsStringAsync","info","encoding","readBase64WithFetch","response","Promise","resolve","reject","reader","FileReader","onload","onerror","readAsDataURL","total","item","reduce","sum","MIME_TYPE","bare","split","trim","toLowerCase","test","comma","startsWith","indexOf","clean","padding","endsWith","floor","formatBytes","bytes","toFixed","round","isImageAttachment","isFinite","last","pop","decodeURIComponent","CONTENT_TYPES","jpg","jpeg","png","gif","webp","heic","heif","pdf","txt","csv","doc","docx","xls","xlsx","ppt","pptx","zip","mp3","m4a","mp4","mov","nameOrUri","extension","exec","subtype"],"sourceRoot":"../../../src","sources":["attachments/pickers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The SDK's own voice-note player (`ios/` and `android/`), on the system
|
|
5
|
+
* players: AVPlayer on iOS, MediaPlayer on Android. It's an Expo module, so it
|
|
6
|
+
* exists in apps with Expo modules after a native build; in Expo Go, bare
|
|
7
|
+
* React Native apps and an over-the-air update to an app built with an older
|
|
8
|
+
* SDK it's missing, and `src/audio/voice.ts` falls back to `expo-audio` or the
|
|
9
|
+
* file row.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
13
|
+
|
|
14
|
+
/** What the player reports; the same fields `expo-audio`'s status has. */
|
|
15
|
+
|
|
16
|
+
function loadNativeAudio() {
|
|
17
|
+
let mod = null;
|
|
18
|
+
try {
|
|
19
|
+
mod = require('expo-modules-core').requireOptionalNativeModule('RepzoWidgetAudio');
|
|
20
|
+
} catch {
|
|
21
|
+
mod = null;
|
|
22
|
+
}
|
|
23
|
+
// Without the JS package (an unusual setup), the module can still be installed.
|
|
24
|
+
mod = mod ?? globalThis.expo?.modules?.RepzoWidgetAudio ?? null;
|
|
25
|
+
return mod && typeof mod.create === 'function' && typeof mod.play === 'function' ? mod : null;
|
|
26
|
+
}
|
|
27
|
+
const nativeAudio = loadNativeAudio();
|
|
28
|
+
|
|
29
|
+
/** Subscribes to every player's status; null when events can't be received. */
|
|
30
|
+
function addStatusListener(listener) {
|
|
31
|
+
if (!nativeAudio) return null;
|
|
32
|
+
try {
|
|
33
|
+
if (typeof nativeAudio.addListener === 'function') return nativeAudio.addListener('onStatus', listener);
|
|
34
|
+
// Expo SDK 51 and older: native modules aren't event emitters themselves.
|
|
35
|
+
const {
|
|
36
|
+
EventEmitter
|
|
37
|
+
} = require('expo-modules-core');
|
|
38
|
+
return new EventEmitter(nativeAudio).addListener('onStatus', listener);
|
|
39
|
+
} catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Whether the app has the SDK's own player. */
|
|
45
|
+
export function hasNativeVoicePlayer() {
|
|
46
|
+
return nativeAudio != null;
|
|
47
|
+
}
|
|
48
|
+
let nextPlayerId = 0;
|
|
49
|
+
const ignore = () => {};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A player for one note, released when the component goes away. Shaped like
|
|
53
|
+
* `expo-audio`'s `useAudioPlayer` + `useAudioPlayerStatus`, so the voice note
|
|
54
|
+
* drives either the same way.
|
|
55
|
+
*/
|
|
56
|
+
export function useNativeVoicePlayer(url) {
|
|
57
|
+
const id = useMemo(() => `repzo-voice-${nextPlayerId += 1}`, []);
|
|
58
|
+
const [status, setStatus] = useState({
|
|
59
|
+
isLoaded: false
|
|
60
|
+
});
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
const audio = nativeAudio;
|
|
63
|
+
const subscription = addStatusListener(next => {
|
|
64
|
+
if (next?.id === id) setStatus(next);
|
|
65
|
+
});
|
|
66
|
+
if (!subscription) {
|
|
67
|
+
setStatus({
|
|
68
|
+
isLoaded: false,
|
|
69
|
+
error: 'Voice notes need a newer Expo SDK'
|
|
70
|
+
});
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
audio.create(id, url).catch(error => setStatus({
|
|
74
|
+
isLoaded: false,
|
|
75
|
+
error: String(error)
|
|
76
|
+
}));
|
|
77
|
+
return () => {
|
|
78
|
+
subscription.remove();
|
|
79
|
+
audio.release(id).catch(ignore);
|
|
80
|
+
};
|
|
81
|
+
}, [id, url]);
|
|
82
|
+
const player = useMemo(() => ({
|
|
83
|
+
play: () => void nativeAudio.play(id).catch(ignore),
|
|
84
|
+
pause: () => void nativeAudio.pause(id).catch(ignore),
|
|
85
|
+
seekTo: seconds => nativeAudio.seekTo(id, seconds).catch(ignore),
|
|
86
|
+
setPlaybackRate: rate => void nativeAudio.setRate(id, rate).catch(ignore)
|
|
87
|
+
}), [id]);
|
|
88
|
+
return {
|
|
89
|
+
player,
|
|
90
|
+
status
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=native-player.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useState","loadNativeAudio","mod","require","requireOptionalNativeModule","globalThis","expo","modules","RepzoWidgetAudio","create","play","nativeAudio","addStatusListener","listener","addListener","EventEmitter","hasNativeVoicePlayer","nextPlayerId","ignore","useNativeVoicePlayer","url","id","status","setStatus","isLoaded","audio","subscription","next","error","undefined","catch","String","remove","release","player","pause","seekTo","seconds","setPlaybackRate","rate","setRate"],"sourceRoot":"../../../src","sources":["audio/native-player.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Voice notes (and any audio file) play inside the chat
|
|
5
|
-
* `
|
|
4
|
+
* Voice notes (and any audio file) play inside the chat with the SDK's own
|
|
5
|
+
* native player (`src/audio/native-player.ts`). Where that isn't built into
|
|
6
|
+
* the app (Expo Go, bare React Native, an app built with SDK 1.2.2 or older),
|
|
7
|
+
* they play with the host app's `expo-audio` if it has one; otherwise they
|
|
8
|
+
* stay a file row that opens in the browser.
|
|
6
9
|
*
|
|
7
10
|
* Resolved once at module load, like the attachment pickers: each `require` is
|
|
8
11
|
* static so Metro can see it, and with `allowOptionalDependencies` (see
|
|
@@ -10,6 +13,7 @@
|
|
|
10
13
|
* `try` around it catches.
|
|
11
14
|
*/
|
|
12
15
|
|
|
16
|
+
import { hasNativeVoicePlayer, useNativeVoicePlayer } from "./native-player.js";
|
|
13
17
|
let expoAudio = null;
|
|
14
18
|
try {
|
|
15
19
|
const mod = require('expo-audio');
|
|
@@ -33,9 +37,10 @@ try {
|
|
|
33
37
|
/** How often the playhead moves while a note plays. */
|
|
34
38
|
const UPDATE_INTERVAL_MS = 100;
|
|
35
39
|
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
/** Which player voice notes use in this app, or null when audio stays a file row. */
|
|
41
|
+
const backend = hasNativeVoicePlayer() ? 'native' : expoAudio ? 'expo-audio' : null;
|
|
42
|
+
export function voicePlaybackBackend() {
|
|
43
|
+
return backend;
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
/** The second argument to `useAudioPlayer` for the installed expo-audio. */
|
|
@@ -45,9 +50,30 @@ export function audioPlayerOptions() {
|
|
|
45
50
|
} : UPDATE_INTERVAL_MS;
|
|
46
51
|
}
|
|
47
52
|
|
|
53
|
+
/** expo-audio's player for a note, on the same terms as the native one. */
|
|
54
|
+
function useExpoAudioPlayer(url) {
|
|
55
|
+
const player = expoAudio.useAudioPlayer({
|
|
56
|
+
uri: url
|
|
57
|
+
}, audioPlayerOptions());
|
|
58
|
+
const status = expoAudio.useAudioPlayerStatus(player);
|
|
59
|
+
return {
|
|
60
|
+
player,
|
|
61
|
+
status
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The player for one note: `play()`, `pause()`, `seekTo(seconds)`,
|
|
67
|
+
* `setPlaybackRate(rate)`, and its status (`currentTime`, `duration`,
|
|
68
|
+
* `playing`, `isLoaded`, `isBuffering`, `didJustFinish`, `error`). Only use it
|
|
69
|
+
* when `voicePlaybackBackend()` isn't null. Picked once, since the backend
|
|
70
|
+
* never changes while the app runs.
|
|
71
|
+
*/
|
|
72
|
+
export const useVoicePlayer = backend === 'native' ? useNativeVoicePlayer : useExpoAudioPlayer;
|
|
73
|
+
|
|
48
74
|
/** Audio the chat can play in place: an `audio/*` attachment with a web address. */
|
|
49
75
|
export function isPlayableAudio(contentType, url) {
|
|
50
|
-
return
|
|
76
|
+
return backend != null && (contentType ?? '').toLowerCase().startsWith('audio/') && /^https?:\/\//i.test(url ?? '');
|
|
51
77
|
}
|
|
52
78
|
|
|
53
79
|
// ─── One note at a time ─────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["expoAudio","mod","require","useAudioPlayer","useAudioPlayerStatus","takesOptionsObject","version","Number","split","UPDATE_INTERVAL_MS","
|
|
1
|
+
{"version":3,"names":["hasNativeVoicePlayer","useNativeVoicePlayer","expoAudio","mod","require","useAudioPlayer","useAudioPlayerStatus","takesOptionsObject","version","Number","split","UPDATE_INTERVAL_MS","backend","voicePlaybackBackend","audioPlayerOptions","updateInterval","useExpoAudioPlayer","url","player","uri","status","useVoicePlayer","isPlayableAudio","contentType","toLowerCase","startsWith","test","playing","claimVoicePlayback","pause","claim","previous","voiceWaveformLevels","seed","count","h","i","length","charCodeAt","Math","imul","levels","n","push","pow","formatVoiceClock","seconds","s","max","floor","isFinite","toString","padStart"],"sourceRoot":"../../../src","sources":["audio/voice.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/i18n.js
CHANGED
|
@@ -67,6 +67,8 @@ export const DEFAULT_LABELS = {
|
|
|
67
67
|
cameraPermissionDenied: 'Allow camera access in Settings to take a photo',
|
|
68
68
|
cancel: 'Cancel',
|
|
69
69
|
failedToSend: 'Failed to send',
|
|
70
|
+
// After "Failed to send" under a message the visitor can send again.
|
|
71
|
+
tapToRetry: 'Tap to retry',
|
|
70
72
|
thinking: 'Typing',
|
|
71
73
|
messages: 'Messages',
|
|
72
74
|
noMessages: 'No messages yet',
|
package/lib/module/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BUNDLED_TRANSLATIONS","baseLanguage","createTranslator","config","locale","defaultLocale","active","fallbackLocale","key","fallback","translations","WELCOME_TEXT_KEYS","localizeWelcomeText","translate","localized","forEach","DEFAULT_LABELS","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","openAttachment","voicePlay","voicePause","voiceSpeed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","procedureEmailPlaceholder","procedurePhonePlaceholder","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","formatLabel","template","values","replace","match","String","buildLabels","labels","Object","keys"],"sourceRoot":"../../src","sources":["i18n.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,oBAAoB,EAAEC,YAAY,QAAQ,cAAW;AAK9D;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,MAA2B,EAAEC,MAAc,EAAc;EACxF,MAAMC,aAAa,GAAGF,MAAM,EAAEE,aAAa,IAAI,IAAI;EACnD,MAAMC,MAAM,GAAGL,YAAY,CAACG,MAAM,CAAC;EACnC,MAAMG,cAAc,GAAGN,YAAY,CAACI,aAAa,CAAC;EAElD,OAAO,CAACG,GAAG,EAAEC,QAAQ,KACnBN,MAAM,EAAEO,YAAY,GAAGN,MAAM,CAAC,GAAGI,GAAG,CAAC,IACrCL,MAAM,EAAEO,YAAY,GAAGJ,MAAM,CAAC,GAAGE,GAAG,CAAC,IACrCR,oBAAoB,CAACM,MAAM,CAAC,GAAGE,GAAG,CAAgC,IAClEL,MAAM,EAAEO,YAAY,GAAGL,aAAa,CAAC,GAAGG,GAAG,CAAC,IAC5CR,oBAAoB,CAACO,cAAc,CAAC,GAAGC,GAAG,CAAgC,IAC1EC,QAAQ;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAME,iBAAiB,GAAG,CACxB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,CACR;;AAEV;AACA,OAAO,SAASC,mBAAmBA,CAACT,MAA2B,EAAEC,MAAc,EAAuB;EACpG,IAAI,CAACD,MAAM,EAAE,OAAOA,MAAM;EAC1B,MAAMU,SAAS,GAAGX,gBAAgB,CAACC,MAAM,EAAEC,MAAM,CAAC;EAClD,MAAMU,SAAS,GAAG;IAAE,GAAGX;EAAO,CAAC;EAC/BQ,iBAAiB,CAACI,OAAO,CAAEP,GAAG,IAAK;IACjCM,SAAS,CAACN,GAAG,CAAC,GAAGK,SAAS,CAACL,GAAG,EAAEL,MAAM,CAACK,GAAG,CAAC,CAAC;EAC9C,CAAC,CAAC;EACF,OAAOM,SAAS;AAClB;AAEA,OAAO,MAAME,cAAc,GAAG;EAC5BC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,YAAY;EACrBC,WAAW,EAAE,uBAAuB;EACpCC,iBAAiB,EAAE,0CAA0C;EAC7DC,kBAAkB,EAAE,mBAAmB;EACvCC,UAAU,EAAE,aAAa;EACzB;EACAC,kBAAkB,EAAE,eAAe;EACnCC,eAAe,EAAE,YAAY;EAC7BC,gBAAgB,EAAE,MAAM;EACxBC,gBAAgB,EAAE,eAAe;EACjCC,kBAAkB,EAAE,+BAA+B;EACnDC,iBAAiB,EAAE,oCAAoC;EACvDC,2BAA2B,EACzB,2EAA2E;EAC7EC,gBAAgB,EAAE,2BAA2B;EAC7C;EACAC,cAAc,EAAE,aAAa;EAC7B;EACAC,SAAS,EAAE,oBAAoB;EAC/BC,UAAU,EAAE,qBAAqB;EACjCC,UAAU,EAAE,gBAAgB;EAC5B;EACAC,eAAe,EAAE,0BAA0B;EAC3CC,mBAAmB,EAAE,YAAY;EACjCC,sBAAsB,EAAE,iDAAiD;EACzEC,MAAM,EAAE,QAAQ;EAChBC,YAAY,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"names":["BUNDLED_TRANSLATIONS","baseLanguage","createTranslator","config","locale","defaultLocale","active","fallbackLocale","key","fallback","translations","WELCOME_TEXT_KEYS","localizeWelcomeText","translate","localized","forEach","DEFAULT_LABELS","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","openAttachment","voicePlay","voicePause","voiceSpeed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","tapToRetry","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","procedureEmailPlaceholder","procedurePhonePlaceholder","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","formatLabel","template","values","replace","match","String","buildLabels","labels","Object","keys"],"sourceRoot":"../../src","sources":["i18n.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/locales.js
CHANGED
|
@@ -36,6 +36,7 @@ const ar = {
|
|
|
36
36
|
cameraPermissionDenied: 'اسمح بالوصول إلى الكاميرا من الإعدادات لالتقاط صورة',
|
|
37
37
|
cancel: 'إلغاء',
|
|
38
38
|
failedToSend: 'تعذر الإرسال',
|
|
39
|
+
tapToRetry: 'اضغط لإعادة المحاولة',
|
|
39
40
|
thinking: 'يكتب',
|
|
40
41
|
messages: 'الرسائل',
|
|
41
42
|
noMessages: 'لا توجد رسائل بعد',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ar","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","openAttachment","voicePlay","voicePause","voiceSpeed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","BUNDLED_TRANSLATIONS","baseLanguage","locale","split","toLowerCase"],"sourceRoot":"../../src","sources":["locales.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["ar","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","openAttachment","voicePlay","voicePause","voiceSpeed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","tapToRetry","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","BUNDLED_TRANSLATIONS","baseLanguage","locale","split","toLowerCase"],"sourceRoot":"../../src","sources":["locales.ts"],"mappings":"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","ignoreList":[]}
|