@repzo/widget-react-native 1.3.1 → 1.4.0

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.
Files changed (224) hide show
  1. package/CHANGELOG.md +137 -5
  2. package/README.md +64 -12
  3. package/lib/commonjs/api/client.js +96 -23
  4. package/lib/commonjs/api/client.js.map +1 -1
  5. package/lib/commonjs/attachments/file-size.js +52 -0
  6. package/lib/commonjs/attachments/file-size.js.map +1 -0
  7. package/lib/commonjs/attachments/local-previews.js +40 -0
  8. package/lib/commonjs/attachments/local-previews.js.map +1 -0
  9. package/lib/commonjs/attachments/pickers.js +20 -29
  10. package/lib/commonjs/attachments/pickers.js.map +1 -1
  11. package/lib/commonjs/i18n.js +22 -3
  12. package/lib/commonjs/i18n.js.map +1 -1
  13. package/lib/commonjs/locales.js +12 -3
  14. package/lib/commonjs/locales.js.map +1 -1
  15. package/lib/commonjs/state/widget-store.js +277 -30
  16. package/lib/commonjs/state/widget-store.js.map +1 -1
  17. package/lib/commonjs/storage.js +3 -1
  18. package/lib/commonjs/storage.js.map +1 -1
  19. package/lib/commonjs/types.js.map +1 -1
  20. package/lib/commonjs/ui/WidgetProvider.js +33 -13
  21. package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
  22. package/lib/commonjs/ui/components/AttachmentChips.js +109 -40
  23. package/lib/commonjs/ui/components/AttachmentChips.js.map +1 -1
  24. package/lib/commonjs/ui/components/ConversationRow.js +65 -10
  25. package/lib/commonjs/ui/components/ConversationRow.js.map +1 -1
  26. package/lib/commonjs/ui/components/ImageViewer.js +229 -24
  27. package/lib/commonjs/ui/components/ImageViewer.js.map +1 -1
  28. package/lib/commonjs/ui/components/RatingCard.js +5 -2
  29. package/lib/commonjs/ui/components/RatingCard.js.map +1 -1
  30. package/lib/commonjs/ui/components/ZoomableImage.js +58 -10
  31. package/lib/commonjs/ui/components/ZoomableImage.js.map +1 -1
  32. package/lib/commonjs/ui/hooks/use-retained-state.js +39 -0
  33. package/lib/commonjs/ui/hooks/use-retained-state.js.map +1 -0
  34. package/lib/commonjs/ui/screens/chat/ChatView.js +637 -164
  35. package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
  36. package/lib/commonjs/ui/screens/chat/ChatView.styles.js +138 -1
  37. package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
  38. package/lib/commonjs/ui/screens/conversations/ConversationsList.js +1 -0
  39. package/lib/commonjs/ui/screens/conversations/ConversationsList.js.map +1 -1
  40. package/lib/commonjs/ui/screens/home/HomeView.js +38 -55
  41. package/lib/commonjs/ui/screens/home/HomeView.js.map +1 -1
  42. package/lib/commonjs/ui/screens/home/HomeView.styles.js +36 -45
  43. package/lib/commonjs/ui/screens/home/HomeView.styles.js.map +1 -1
  44. package/lib/commonjs/ui/utils/html.js +13 -0
  45. package/lib/commonjs/ui/utils/html.js.map +1 -1
  46. package/lib/commonjs/ui/utils/image-load-queue.js +114 -0
  47. package/lib/commonjs/ui/utils/image-load-queue.js.map +1 -0
  48. package/lib/commonjs/ui/utils/inline-attachments.js +88 -0
  49. package/lib/commonjs/ui/utils/inline-attachments.js.map +1 -0
  50. package/lib/module/api/client.js +96 -23
  51. package/lib/module/api/client.js.map +1 -1
  52. package/lib/module/attachments/file-size.js +47 -0
  53. package/lib/module/attachments/file-size.js.map +1 -0
  54. package/lib/module/attachments/local-previews.js +33 -0
  55. package/lib/module/attachments/local-previews.js.map +1 -0
  56. package/lib/module/attachments/pickers.js +15 -25
  57. package/lib/module/attachments/pickers.js.map +1 -1
  58. package/lib/module/i18n.js +22 -3
  59. package/lib/module/i18n.js.map +1 -1
  60. package/lib/module/locales.js +12 -3
  61. package/lib/module/locales.js.map +1 -1
  62. package/lib/module/state/widget-store.js +279 -32
  63. package/lib/module/state/widget-store.js.map +1 -1
  64. package/lib/module/storage.js +2 -0
  65. package/lib/module/storage.js.map +1 -1
  66. package/lib/module/types.js.map +1 -1
  67. package/lib/module/ui/WidgetProvider.js +33 -13
  68. package/lib/module/ui/WidgetProvider.js.map +1 -1
  69. package/lib/module/ui/components/AttachmentChips.js +111 -42
  70. package/lib/module/ui/components/AttachmentChips.js.map +1 -1
  71. package/lib/module/ui/components/ConversationRow.js +65 -10
  72. package/lib/module/ui/components/ConversationRow.js.map +1 -1
  73. package/lib/module/ui/components/ImageViewer.js +231 -26
  74. package/lib/module/ui/components/ImageViewer.js.map +1 -1
  75. package/lib/module/ui/components/RatingCard.js +5 -2
  76. package/lib/module/ui/components/RatingCard.js.map +1 -1
  77. package/lib/module/ui/components/ZoomableImage.js +58 -10
  78. package/lib/module/ui/components/ZoomableImage.js.map +1 -1
  79. package/lib/module/ui/hooks/use-retained-state.js +34 -0
  80. package/lib/module/ui/hooks/use-retained-state.js.map +1 -0
  81. package/lib/module/ui/screens/chat/ChatView.js +641 -168
  82. package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
  83. package/lib/module/ui/screens/chat/ChatView.styles.js +140 -2
  84. package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
  85. package/lib/module/ui/screens/conversations/ConversationsList.js +1 -0
  86. package/lib/module/ui/screens/conversations/ConversationsList.js.map +1 -1
  87. package/lib/module/ui/screens/home/HomeView.js +40 -57
  88. package/lib/module/ui/screens/home/HomeView.js.map +1 -1
  89. package/lib/module/ui/screens/home/HomeView.styles.js +36 -45
  90. package/lib/module/ui/screens/home/HomeView.styles.js.map +1 -1
  91. package/lib/module/ui/utils/html.js +12 -0
  92. package/lib/module/ui/utils/html.js.map +1 -1
  93. package/lib/module/ui/utils/image-load-queue.js +109 -0
  94. package/lib/module/ui/utils/image-load-queue.js.map +1 -0
  95. package/lib/module/ui/utils/inline-attachments.js +85 -0
  96. package/lib/module/ui/utils/inline-attachments.js.map +1 -0
  97. package/lib/typescript/commonjs/api/client.d.ts +12 -4
  98. package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/attachments/file-size.d.ts +15 -0
  100. package/lib/typescript/commonjs/attachments/file-size.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/attachments/local-previews.d.ts +14 -0
  102. package/lib/typescript/commonjs/attachments/local-previews.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/attachments/pickers.d.ts +15 -2
  104. package/lib/typescript/commonjs/attachments/pickers.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/i18n.d.ts +12 -3
  106. package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/locales.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/state/widget-store.d.ts +40 -1
  109. package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/storage.d.ts +2 -0
  111. package/lib/typescript/commonjs/storage.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/types.d.ts +41 -0
  113. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts +13 -3
  116. package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts +15 -1
  118. package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts +26 -6
  120. package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/ui/components/RatingCard.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts +10 -1
  123. package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts +11 -0
  125. package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +4 -4
  127. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +144 -0
  129. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +26 -1
  131. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
  134. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts +7 -5
  136. package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts +30 -35
  138. package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts +5 -6
  140. package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/ui/utils/html.d.ts +5 -0
  142. package/lib/typescript/commonjs/ui/utils/html.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts +44 -0
  144. package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts +29 -0
  146. package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts.map +1 -0
  147. package/lib/typescript/module/api/client.d.ts +12 -4
  148. package/lib/typescript/module/api/client.d.ts.map +1 -1
  149. package/lib/typescript/module/attachments/file-size.d.ts +15 -0
  150. package/lib/typescript/module/attachments/file-size.d.ts.map +1 -0
  151. package/lib/typescript/module/attachments/local-previews.d.ts +14 -0
  152. package/lib/typescript/module/attachments/local-previews.d.ts.map +1 -0
  153. package/lib/typescript/module/attachments/pickers.d.ts +15 -2
  154. package/lib/typescript/module/attachments/pickers.d.ts.map +1 -1
  155. package/lib/typescript/module/i18n.d.ts +12 -3
  156. package/lib/typescript/module/i18n.d.ts.map +1 -1
  157. package/lib/typescript/module/locales.d.ts.map +1 -1
  158. package/lib/typescript/module/state/widget-store.d.ts +40 -1
  159. package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
  160. package/lib/typescript/module/storage.d.ts +2 -0
  161. package/lib/typescript/module/storage.d.ts.map +1 -1
  162. package/lib/typescript/module/types.d.ts +41 -0
  163. package/lib/typescript/module/types.d.ts.map +1 -1
  164. package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
  165. package/lib/typescript/module/ui/components/AttachmentChips.d.ts +13 -3
  166. package/lib/typescript/module/ui/components/AttachmentChips.d.ts.map +1 -1
  167. package/lib/typescript/module/ui/components/ConversationRow.d.ts +15 -1
  168. package/lib/typescript/module/ui/components/ConversationRow.d.ts.map +1 -1
  169. package/lib/typescript/module/ui/components/ImageViewer.d.ts +26 -6
  170. package/lib/typescript/module/ui/components/ImageViewer.d.ts.map +1 -1
  171. package/lib/typescript/module/ui/components/RatingCard.d.ts.map +1 -1
  172. package/lib/typescript/module/ui/components/ZoomableImage.d.ts +10 -1
  173. package/lib/typescript/module/ui/components/ZoomableImage.d.ts.map +1 -1
  174. package/lib/typescript/module/ui/hooks/use-retained-state.d.ts +11 -0
  175. package/lib/typescript/module/ui/hooks/use-retained-state.d.ts.map +1 -0
  176. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +4 -4
  177. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
  178. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +144 -0
  179. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
  180. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +26 -1
  181. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
  182. package/lib/typescript/module/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
  183. package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
  184. package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
  185. package/lib/typescript/module/ui/screens/home/HomeView.d.ts +7 -5
  186. package/lib/typescript/module/ui/screens/home/HomeView.d.ts.map +1 -1
  187. package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts +30 -35
  188. package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts.map +1 -1
  189. package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts +5 -6
  190. package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts.map +1 -1
  191. package/lib/typescript/module/ui/utils/html.d.ts +5 -0
  192. package/lib/typescript/module/ui/utils/html.d.ts.map +1 -1
  193. package/lib/typescript/module/ui/utils/image-load-queue.d.ts +44 -0
  194. package/lib/typescript/module/ui/utils/image-load-queue.d.ts.map +1 -0
  195. package/lib/typescript/module/ui/utils/inline-attachments.d.ts +29 -0
  196. package/lib/typescript/module/ui/utils/inline-attachments.d.ts.map +1 -0
  197. package/package.json +1 -1
  198. package/src/api/client.ts +116 -34
  199. package/src/attachments/file-size.ts +42 -0
  200. package/src/attachments/local-previews.ts +32 -0
  201. package/src/attachments/pickers.ts +23 -25
  202. package/src/i18n.ts +22 -3
  203. package/src/locales.ts +12 -3
  204. package/src/state/widget-store.ts +322 -50
  205. package/src/storage.ts +2 -0
  206. package/src/types.ts +41 -0
  207. package/src/ui/WidgetProvider.tsx +35 -8
  208. package/src/ui/components/AttachmentChips.tsx +100 -29
  209. package/src/ui/components/ConversationRow.tsx +90 -9
  210. package/src/ui/components/ImageViewer.tsx +242 -24
  211. package/src/ui/components/RatingCard.tsx +5 -2
  212. package/src/ui/components/ZoomableImage.tsx +58 -5
  213. package/src/ui/hooks/use-retained-state.ts +35 -0
  214. package/src/ui/screens/chat/ChatView.styles.ts +139 -1
  215. package/src/ui/screens/chat/ChatView.tsx +721 -197
  216. package/src/ui/screens/chat/ChatView.types.ts +26 -1
  217. package/src/ui/screens/conversations/ConversationsList.tsx +1 -0
  218. package/src/ui/screens/conversations/ConversationsList.types.ts +2 -0
  219. package/src/ui/screens/home/HomeView.styles.ts +36 -45
  220. package/src/ui/screens/home/HomeView.tsx +54 -70
  221. package/src/ui/screens/home/HomeView.types.ts +5 -6
  222. package/src/ui/utils/html.ts +26 -0
  223. package/src/ui/utils/image-load-queue.ts +108 -0
  224. package/src/ui/utils/inline-attachments.ts +71 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.splitInlineAttachments = splitInlineAttachments;
7
+ var _html = require("./html.js");
8
+ /**
9
+ * Agent replies with images between their paragraphs. Workstation marks such
10
+ * images `inline` among the message's attachments and keeps an `<img>` for
11
+ * each in the HTML body, where the teammate put it. Same split as the web
12
+ * Messenger, so both show the text and images in the order they were written.
13
+ */
14
+
15
+ /** Markdown for the bubble to draw, or one attachment. */
16
+
17
+ /**
18
+ * The body and its inline images in order, plus the other attachments
19
+ * (`files`) that show after them. Null when nothing is inline: the bubble then
20
+ * shows the body, followed by every attachment.
21
+ *
22
+ * An `<img>` finds its attachment by the id in its URL. In a body whose
23
+ * images carry no ids, they take the attachments in order instead; in one
24
+ * that does, an image without an id (a logo, an emoji) isn't one of the files
25
+ * and takes nothing. One whose id names no remaining attachment (the same file
26
+ * twice) takes nothing either. Inline attachments with no `<img>` go at the end.
27
+ */
28
+ function splitInlineAttachments(body, attachments) {
29
+ const inline = (attachments ?? []).filter(isInline);
30
+ if (!body || inline.length === 0) return null;
31
+ const remaining = [...inline];
32
+ const parts = [];
33
+ const pushText = html => {
34
+ const text = (0, _html.htmlToMarkdown)(html);
35
+ if (text) parts.push({
36
+ text
37
+ });
38
+ };
39
+ const image = /<img\b[^>]*?\bsrc=(["'])(.*?)\1[^>]*>/gi;
40
+ const images = [];
41
+ for (let match = image.exec(body); match; match = image.exec(body)) {
42
+ images.push({
43
+ start: match.index,
44
+ end: image.lastIndex,
45
+ id: mediaId(match[2] ?? '')
46
+ });
47
+ }
48
+ const byId = images.some(found => found.id !== null);
49
+ let last = 0;
50
+ for (const {
51
+ start,
52
+ end,
53
+ id
54
+ } of images) {
55
+ // Left in the text, which drops it as it always has.
56
+ if (byId && !id) continue;
57
+ pushText(body.slice(last, start));
58
+ last = end;
59
+ const index = id ? remaining.findIndex(attachment => attachment.id === id) : 0;
60
+ if (index < 0) continue;
61
+ const [attachment] = remaining.splice(index, 1);
62
+ if (attachment) parts.push({
63
+ attachment
64
+ });
65
+ }
66
+ pushText(body.slice(last));
67
+ remaining.forEach(attachment => parts.push({
68
+ attachment
69
+ }));
70
+ return {
71
+ parts,
72
+ files: (attachments ?? []).filter(attachment => !isInline(attachment))
73
+ };
74
+ }
75
+
76
+ /**
77
+ * Workstation's media URLs carry the attachment's id, as
78
+ * `/api/widget/media/<id>?…` (what replies carry) or `/api/media/<id>/download`.
79
+ */
80
+ function mediaId(src) {
81
+ return /\/api\/(?:widget\/)?media\/([^/?#"'&]+)/.exec(src)?.[1] ?? null;
82
+ }
83
+
84
+ /** Only Workstation's agent replies set `inline`, so it isn't on `WidgetAttachment`. */
85
+ function isInline(attachment) {
86
+ return attachment.inline === true;
87
+ }
88
+ //# sourceMappingURL=inline-attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_html","require","splitInlineAttachments","body","attachments","inline","filter","isInline","length","remaining","parts","pushText","html","text","htmlToMarkdown","push","image","images","match","exec","start","index","end","lastIndex","id","mediaId","byId","some","found","last","slice","findIndex","attachment","splice","forEach","files","src"],"sourceRoot":"../../../../src","sources":["ui/utils/inline-attachments.ts"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@
10
10
  * The token itself lives in `SecureStorage`.
11
11
  */
12
12
 
13
+ import { measureFileSize } from "../attachments/file-size.js";
13
14
  import { SecureStorage, TOKEN_KEY } from "../storage.js";
14
15
  import { isHttpUrl, urlScheme } from "../ui/utils/safe-url.js";
15
16
 
@@ -37,6 +38,49 @@ export class RepzoWidgetError extends Error {
37
38
 
38
39
  /** A Send message part asked for on its own, which may share one request with others. */
39
40
 
41
+ /**
42
+ * Sends a local file as the request body straight from disk and resolves the
43
+ * HTTP status. React Native streams a `{ uri }` body natively; `fetch` would
44
+ * stringify it, so this goes through XMLHttpRequest.
45
+ */
46
+ function sendFileFromDisk(url, method, headers, file, signal) {
47
+ return new Promise((resolve, reject) => {
48
+ const xhr = new XMLHttpRequest();
49
+ const cancel = () => xhr.abort();
50
+ const settle = finish => {
51
+ signal?.removeEventListener('abort', cancel);
52
+ finish();
53
+ };
54
+ xhr.onload = () => settle(() => resolve(xhr.status));
55
+ xhr.onerror = () => settle(() => reject(new RepzoWidgetError('Network request failed', 0, 'network')));
56
+ xhr.ontimeout = xhr.onerror;
57
+ xhr.onabort = () => settle(() => reject(new RepzoWidgetError('Upload cancelled', 0, 'network')));
58
+ xhr.open(method, url);
59
+ Object.entries(headers).forEach(([name, value]) => xhr.setRequestHeader(name, value));
60
+ // Android refuses a `{ uri }` body without one.
61
+ if (!Object.keys(headers).some(name => name.toLowerCase() === 'content-type')) {
62
+ xhr.setRequestHeader('Content-Type', file.contentType);
63
+ }
64
+ signal?.addEventListener('abort', cancel);
65
+ xhr.send({
66
+ uri: file.uri
67
+ });
68
+ });
69
+ }
70
+
71
+ /**
72
+ * How long Workstation keeps an upload for a message to name, when its answer
73
+ * has no usable `expiresAt` (deployments without it, or a phone clock that
74
+ * reads it as already past).
75
+ */
76
+ const UPLOAD_LIFETIME_MS = 60 * 60 * 1000;
77
+
78
+ /** A file in storage, waiting for the message that names it. */
79
+
80
+ function uploadExpiry(expiresAt, now) {
81
+ const at = typeof expiresAt === 'string' ? Date.parse(expiresAt) : typeof expiresAt === 'number' ? expiresAt : NaN;
82
+ return at > now ? at : now + UPLOAD_LIFETIME_MS;
83
+ }
40
84
  export class WidgetApiClient {
41
85
  baseUrl = '';
42
86
  channelAccountId = '';
@@ -278,41 +322,70 @@ export class WidgetApiClient {
278
322
  /**
279
323
  * Puts a local file in storage ahead of the message, which then names it by
280
324
  * the returned upload token. The target is presigned storage, or a path on
281
- * the server where its storage can't presign. The file is read as a native
282
- * blob, so it never becomes a JS string; its size is the blob's, since the
283
- * upload URL is signed for exactly the size asked for.
325
+ * the server where its storage can't presign. The upload URL is signed for
326
+ * exactly the size asked for: a `file://` file whose size `expo-file-system`
327
+ * can read streams from disk, anything else is read as a native blob and
328
+ * measured. `signal` cancels the transfer (the visitor removed the file, or
329
+ * left the conversation). Resolves the token and when it expires.
284
330
  */
285
- async uploadAttachment(file) {
286
- let blob;
287
- try {
288
- blob = await (await fetch(file.uri)).blob();
289
- } catch (error) {
290
- throw new RepzoWidgetError(error instanceof Error ? error.message : 'Could not read the file', 0, 'network');
331
+ async uploadAttachment(file, signal) {
332
+ // A file removed early is never read, nor given a slot in storage.
333
+ const stopIfCancelled = () => {
334
+ if (signal?.aborted) throw new RepzoWidgetError('Upload cancelled', 0, 'network');
335
+ };
336
+ stopIfCancelled();
337
+ // Streaming matters on Android: React Native also copies a blob it reads
338
+ // into a Base64 string for its network inspector, so a file past ~30 MB
339
+ // runs the app out of memory. Only file:// gives an exact Content-Length.
340
+ const streamedSize = urlScheme(file.uri) === 'file:' ? await measureFileSize(file.uri) : null;
341
+ let blob = null;
342
+ if (streamedSize === null) {
343
+ try {
344
+ blob = await (await fetch(file.uri, {
345
+ signal
346
+ })).blob();
347
+ } catch (error) {
348
+ throw new RepzoWidgetError(error instanceof Error ? error.message : 'Could not read the file', 0, 'network');
349
+ }
291
350
  }
351
+ stopIfCancelled();
292
352
  const target = await this.request('/api/widget/uploads', {
293
353
  method: 'POST',
294
354
  body: {
295
355
  fileName: file.name,
296
356
  contentType: file.contentType,
297
- size: blob.size || file.size
357
+ size: streamedSize ?? (blob?.size || file.size)
298
358
  }
299
359
  });
360
+ // Counted from when the token was issued, not from when the file is up.
361
+ const expiresAt = uploadExpiry(target.expiresAt, Date.now());
300
362
  const uploadUrl = this.resolveUrl(target.uploadUrl);
301
363
  if (!uploadUrl) throw new RepzoWidgetError('Invalid upload target', 0, 'http');
302
- let response;
303
- try {
304
- response = await fetch(uploadUrl, {
305
- method: target.method ?? 'PUT',
306
- headers: target.headers ?? {
307
- 'Content-Type': file.contentType
308
- },
309
- body: blob
310
- });
311
- } catch (error) {
312
- throw new RepzoWidgetError(error instanceof Error ? error.message : 'Upload failed', 0, 'network');
364
+ stopIfCancelled();
365
+ const method = target.method ?? 'PUT';
366
+ const headers = target.headers ?? {
367
+ 'Content-Type': file.contentType
368
+ };
369
+ let status;
370
+ if (blob) {
371
+ try {
372
+ status = (await fetch(uploadUrl, {
373
+ method,
374
+ headers,
375
+ body: blob,
376
+ signal
377
+ })).status;
378
+ } catch (error) {
379
+ throw new RepzoWidgetError(error instanceof Error ? error.message : 'Upload failed', 0, 'network');
380
+ }
381
+ } else {
382
+ status = await sendFileFromDisk(uploadUrl, method, headers, file, signal);
313
383
  }
314
- if (!response.ok) throw new RepzoWidgetError('Upload failed', response.status, 'http');
315
- return target.uploadToken;
384
+ if (status < 200 || status >= 300) throw new RepzoWidgetError('Upload failed', status, 'http');
385
+ return {
386
+ uploadToken: target.uploadToken,
387
+ expiresAt
388
+ };
316
389
  }
317
390
  listConversations() {
318
391
  return this.request('/api/widget/conversations');
@@ -1 +1 @@
1
- {"version":3,"names":["SecureStorage","TOKEN_KEY","isHttpUrl","urlScheme","TERMINAL_CODES","Set","isTerminalErrorCode","code","has","RepzoWidgetError","Error","constructor","message","status","name","fromResponse","body","payload","WidgetApiClient","baseUrl","channelAccountId","token","tokenLoaded","reauthorize","onTerminalError","sendPartBatch","configure","replace","getBaseUrl","getChannelAccountId","getToken","getItem","setToken","setItem","clearToken","removeItem","resolveUrl","url","trimmed","trim","resolved","startsWith","request","path","options","sentToken","send","headers","authToken","undefined","Authorization","fetch","method","JSON","stringify","error","response","skipReauth","refreshed","ok","json","catch","getConfig","platform","query","encodeURIComponent","getOutboundMessage","askSendPart","getPost","part","own","Promise","resolve","reject","setTimeout","flushSendParts","push","asks","parts","Array","from","map","ask","answer","length","join","value","then","sendPostInteraction","campaignId","kind","init","params","visitorToken","resumeToken","user","email","phone","userId","user_id","userHash","user_hash","account","id","signedUpAt","signed_up_at","Date","toISOString","trackingVisitorId","sdkVersion","logout","sendMessage","data","uploadAttachment","file","blob","uri","target","fileName","contentType","size","uploadUrl","uploadToken","listConversations","listMessages","conversationId","cursor","markConversationRead","rateConversation","ratingId","identify","sendTyping","isTyping","trackEvent","registerPushToken","reportPushOpened","deliveryId","removePushToken","auth"],"sourceRoot":"../../../src","sources":["api/client.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["measureFileSize","SecureStorage","TOKEN_KEY","isHttpUrl","urlScheme","TERMINAL_CODES","Set","isTerminalErrorCode","code","has","RepzoWidgetError","Error","constructor","message","status","name","fromResponse","body","payload","sendFileFromDisk","url","method","headers","file","signal","Promise","resolve","reject","xhr","XMLHttpRequest","cancel","abort","settle","finish","removeEventListener","onload","onerror","ontimeout","onabort","open","Object","entries","forEach","value","setRequestHeader","keys","some","toLowerCase","contentType","addEventListener","send","uri","UPLOAD_LIFETIME_MS","uploadExpiry","expiresAt","now","at","Date","parse","NaN","WidgetApiClient","baseUrl","channelAccountId","token","tokenLoaded","reauthorize","onTerminalError","sendPartBatch","configure","replace","getBaseUrl","getChannelAccountId","getToken","getItem","setToken","setItem","clearToken","removeItem","resolveUrl","trimmed","trim","resolved","startsWith","request","path","options","sentToken","authToken","undefined","Authorization","fetch","JSON","stringify","error","response","skipReauth","refreshed","ok","json","catch","getConfig","platform","query","encodeURIComponent","getOutboundMessage","askSendPart","getPost","part","own","setTimeout","flushSendParts","push","asks","parts","Array","from","map","ask","answer","length","join","then","sendPostInteraction","campaignId","kind","init","params","visitorToken","resumeToken","user","email","phone","userId","user_id","userHash","user_hash","account","id","signedUpAt","signed_up_at","toISOString","trackingVisitorId","sdkVersion","logout","sendMessage","data","uploadAttachment","stopIfCancelled","aborted","streamedSize","blob","target","fileName","size","uploadUrl","uploadToken","listConversations","listMessages","conversationId","cursor","markConversationRead","rateConversation","ratingId","identify","sendTyping","isTyping","trackEvent","registerPushToken","reportPushOpened","deliveryId","removePushToken","auth"],"sourceRoot":"../../../src","sources":["api/client.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Local file sizes from the host's `expo-file-system` (optional, like the
5
+ * pickers): read from the file's metadata, never from its contents. Shared by
6
+ * the pickers and the upload client, so the client doesn't pull in pickers.
7
+ *
8
+ * No `react-native` import on purpose: it stays testable in plain Node.
9
+ */
10
+
11
+ let fileSystem = null;
12
+ try {
13
+ fileSystem = require('expo-file-system') ?? null;
14
+ } catch {
15
+ fileSystem = null;
16
+ }
17
+
18
+ /** A positive, finite byte count, or null. */
19
+ export function validSize(size) {
20
+ return typeof size === 'number' && Number.isFinite(size) && size > 0 ? size : null;
21
+ }
22
+
23
+ /**
24
+ * A local file's exact size in bytes, from its metadata without reading it.
25
+ * Null without `expo-file-system`, or when it can't tell.
26
+ */
27
+ export async function measureFileSize(uri) {
28
+ if (typeof fileSystem?.File === 'function') {
29
+ try {
30
+ const size = validSize(new fileSystem.File(uri).size);
31
+ if (size !== null) return size;
32
+ } catch {
33
+ // Fall through to the next reader.
34
+ }
35
+ }
36
+ if (typeof fileSystem?.getInfoAsync === 'function') {
37
+ try {
38
+ return validSize((await fileSystem.getInfoAsync(uri, {
39
+ size: true
40
+ }))?.size);
41
+ } catch {
42
+ return null;
43
+ }
44
+ }
45
+ return null;
46
+ }
47
+ //# sourceMappingURL=file-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fileSystem","require","validSize","size","Number","isFinite","measureFileSize","uri","File","getInfoAsync"],"sourceRoot":"../../../src","sources":["attachments/file-size.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIA,UAAe,GAAG,IAAI;AAC1B,IAAI;EACFA,UAAU,GAAGC,OAAO,CAAC,kBAAkB,CAAC,IAAI,IAAI;AAClD,CAAC,CAAC,MAAM;EACND,UAAU,GAAG,IAAI;AACnB;;AAEA;AACA,OAAO,SAASE,SAASA,CAACC,IAAa,EAAiB;EACtD,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIC,MAAM,CAACC,QAAQ,CAACF,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,IAAI;AACpF;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeG,eAAeA,CAACC,GAAW,EAA0B;EACzE,IAAI,OAAOP,UAAU,EAAEQ,IAAI,KAAK,UAAU,EAAE;IAC1C,IAAI;MACF,MAAML,IAAI,GAAGD,SAAS,CAAC,IAAIF,UAAU,CAACQ,IAAI,CAACD,GAAG,CAAC,CAACJ,IAAI,CAAC;MACrD,IAAIA,IAAI,KAAK,IAAI,EAAE,OAAOA,IAAI;IAChC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,IAAI,OAAOH,UAAU,EAAES,YAAY,KAAK,UAAU,EAAE;IAClD,IAAI;MACF,OAAOP,SAAS,CAAC,CAAC,MAAMF,UAAU,CAACS,YAAY,CAACF,GAAG,EAAE;QAAEJ,IAAI,EAAE;MAAK,CAAC,CAAC,GAAGA,IAAI,CAAC;IAC9E,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EACA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The phone's copy of each file the visitor sent, by the URL of the stored
5
+ * copy that replaced it in the thread. Right after a send the stored copy
6
+ * may not load yet (Workstation can still be storing it), so a photo keeps
7
+ * showing from the phone instead of turning into a file row. Kept in memory
8
+ * only: a later session shows the stored copy.
9
+ */
10
+
11
+ const MAX_PREVIEWS = 50;
12
+ const previews = new Map();
13
+ export function rememberLocalPreview(storedUrl, localUrl) {
14
+ if (!storedUrl || !localUrl) return;
15
+ previews.delete(storedUrl);
16
+ previews.set(storedUrl, localUrl);
17
+ // Oldest first: a Map iterates in insertion order.
18
+ if (previews.size > MAX_PREVIEWS) previews.delete(previews.keys().next().value);
19
+ }
20
+ export function localPreviewFor(storedUrl) {
21
+ return storedUrl && previews.get(storedUrl) || null;
22
+ }
23
+
24
+ /** One that failed to load (the OS cleared the picker's cache): every view moves to the stored copy. */
25
+ export function forgetLocalPreview(storedUrl) {
26
+ previews.delete(storedUrl);
27
+ }
28
+
29
+ /** Signing out forgets them: the next visitor on the phone doesn't inherit the paths. */
30
+ export function clearLocalPreviews() {
31
+ previews.clear();
32
+ }
33
+ //# sourceMappingURL=local-previews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MAX_PREVIEWS","previews","Map","rememberLocalPreview","storedUrl","localUrl","delete","set","size","keys","next","value","localPreviewFor","get","forgetLocalPreview","clearLocalPreviews","clear"],"sourceRoot":"../../../src","sources":["attachments/local-previews.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG,EAAE;AACvB,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAE1C,OAAO,SAASC,oBAAoBA,CAACC,SAAiB,EAAEC,QAAgB,EAAQ;EAC9E,IAAI,CAACD,SAAS,IAAI,CAACC,QAAQ,EAAE;EAC7BJ,QAAQ,CAACK,MAAM,CAACF,SAAS,CAAC;EAC1BH,QAAQ,CAACM,GAAG,CAACH,SAAS,EAAEC,QAAQ,CAAC;EACjC;EACA,IAAIJ,QAAQ,CAACO,IAAI,GAAGR,YAAY,EAAEC,QAAQ,CAACK,MAAM,CAACL,QAAQ,CAACQ,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,KAAe,CAAC;AAC3F;AAEA,OAAO,SAASC,eAAeA,CAACR,SAAiB,EAAiB;EAChE,OAAQA,SAAS,IAAIH,QAAQ,CAACY,GAAG,CAACT,SAAS,CAAC,IAAK,IAAI;AACvD;;AAEA;AACA,OAAO,SAASU,kBAAkBA,CAACV,SAAiB,EAAQ;EAC1DH,QAAQ,CAACK,MAAM,CAACF,SAAS,CAAC;AAC5B;;AAEA;AACA,OAAO,SAASW,kBAAkBA,CAAA,EAAS;EACzCd,QAAQ,CAACe,KAAK,CAAC,CAAC;AAClB","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  * Visitor attachments: picking photos/files for `POST /api/widget/messages`.
5
5
  *
6
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
7
+ * file then stays a local URI, which the composer uploads right away. An
8
8
  * older server only takes files inline, as base64 data URLs within the
9
9
  * 1.5 MB / 6 MB caps below.
10
10
  *
@@ -25,6 +25,8 @@
25
25
  * testable in plain Node.
26
26
  */
27
27
 
28
+ import { measureFileSize, validSize } from "./file-size.js";
29
+
28
30
  /** The server keeps the first five and silently drops the rest. */
29
31
  export const MAX_ATTACHMENTS = 5;
30
32
  /** Per inline file, decoded. The server silently drops anything larger. */
@@ -86,6 +88,11 @@ let hostOptions = null;
86
88
  export function setAttachmentOptions(options) {
87
89
  hostOptions = options;
88
90
  }
91
+
92
+ /** Whether a picked file starts uploading before Send (`attachments.uploadOnPick`). */
93
+ export function uploadsOnPick() {
94
+ return hostOptions?.uploadOnPick !== false;
95
+ }
89
96
  const ALL_SOURCES = ['photo', 'camera', 'file'];
90
97
 
91
98
  /**
@@ -323,7 +330,7 @@ async function toDraft(file) {
323
330
  };
324
331
  }
325
332
 
326
- /** A file that's uploaded when the message is sent: only its size is read here. */
333
+ /** A file that's uploaded on its own, ahead of the message: only its size is read here. */
327
334
  async function toUploadDraft(file, uploadLimit) {
328
335
  const uri = file.uri;
329
336
  const size = validSize(file.size) ?? (await readFileSize(uri));
@@ -342,25 +349,9 @@ async function toUploadDraft(file, uploadLimit) {
342
349
 
343
350
  /** A local file's size in bytes, or 0 when nothing can tell. */
344
351
  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.
352
+ const size = await measureFileSize(uri);
353
+ if (size !== null) return size;
354
+ // Last resort: the native blob reads the whole file (on Android, into memory).
364
355
  const blob = await (await fetch(uri)).blob();
365
356
  return validSize(blob.size) ?? 0;
366
357
  }
@@ -486,9 +477,6 @@ export function formatBytes(bytes) {
486
477
  export function isImageAttachment(contentType) {
487
478
  return !!contentType && contentType.toLowerCase().startsWith('image/');
488
479
  }
489
- function validSize(size) {
490
- return typeof size === 'number' && Number.isFinite(size) && size > 0 ? size : null;
491
- }
492
480
  function fileNameFromUri(uri) {
493
481
  if (!uri) return null;
494
482
  const last = uri.split(/[?#]/)[0]?.split('/').pop();
@@ -522,7 +510,9 @@ const CONTENT_TYPES = {
522
510
  mp4: 'video/mp4',
523
511
  mov: 'video/quicktime'
524
512
  };
525
- function guessContentType(nameOrUri) {
513
+
514
+ /** The type a file name's extension implies, or null for one this table doesn't know. */
515
+ export function guessContentType(nameOrUri) {
526
516
  const extension = /\.([a-z0-9]+)$/i.exec(nameOrUri?.split(/[?#]/)[0] ?? '')?.[1];
527
517
  return extension ? CONTENT_TYPES[extension.toLowerCase()] ?? null : null;
528
518
  }
@@ -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","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":[]}
1
+ {"version":3,"names":["measureFileSize","validSize","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","uploadsOnPick","uploadOnPick","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","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","blob","fetch","File","value","readAsStringAsync","getInfoAsync","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","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":[]}