@repzo/widget-react-native 1.3.1 → 1.5.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 (240) hide show
  1. package/CHANGELOG.md +173 -5
  2. package/README.md +99 -13
  3. package/lib/commonjs/api/client.js +125 -28
  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/index.js.map +1 -1
  14. package/lib/commonjs/locales.js +12 -3
  15. package/lib/commonjs/locales.js.map +1 -1
  16. package/lib/commonjs/state/user-update-queue.js +168 -0
  17. package/lib/commonjs/state/user-update-queue.js.map +1 -0
  18. package/lib/commonjs/state/widget-store.js +303 -33
  19. package/lib/commonjs/state/widget-store.js.map +1 -1
  20. package/lib/commonjs/storage.js +3 -1
  21. package/lib/commonjs/storage.js.map +1 -1
  22. package/lib/commonjs/types.js.map +1 -1
  23. package/lib/commonjs/ui/WidgetProvider.js +33 -13
  24. package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
  25. package/lib/commonjs/ui/components/AttachmentChips.js +109 -40
  26. package/lib/commonjs/ui/components/AttachmentChips.js.map +1 -1
  27. package/lib/commonjs/ui/components/ConversationRow.js +65 -10
  28. package/lib/commonjs/ui/components/ConversationRow.js.map +1 -1
  29. package/lib/commonjs/ui/components/ImageViewer.js +229 -24
  30. package/lib/commonjs/ui/components/ImageViewer.js.map +1 -1
  31. package/lib/commonjs/ui/components/RatingCard.js +5 -2
  32. package/lib/commonjs/ui/components/RatingCard.js.map +1 -1
  33. package/lib/commonjs/ui/components/ZoomableImage.js +58 -10
  34. package/lib/commonjs/ui/components/ZoomableImage.js.map +1 -1
  35. package/lib/commonjs/ui/hooks/use-retained-state.js +39 -0
  36. package/lib/commonjs/ui/hooks/use-retained-state.js.map +1 -0
  37. package/lib/commonjs/ui/screens/chat/ChatView.js +651 -165
  38. package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
  39. package/lib/commonjs/ui/screens/chat/ChatView.styles.js +138 -1
  40. package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
  41. package/lib/commonjs/ui/screens/conversations/ConversationsList.js +1 -0
  42. package/lib/commonjs/ui/screens/conversations/ConversationsList.js.map +1 -1
  43. package/lib/commonjs/ui/screens/home/HomeView.js +38 -55
  44. package/lib/commonjs/ui/screens/home/HomeView.js.map +1 -1
  45. package/lib/commonjs/ui/screens/home/HomeView.styles.js +36 -45
  46. package/lib/commonjs/ui/screens/home/HomeView.styles.js.map +1 -1
  47. package/lib/commonjs/ui/utils/html.js +13 -0
  48. package/lib/commonjs/ui/utils/html.js.map +1 -1
  49. package/lib/commonjs/ui/utils/image-load-queue.js +114 -0
  50. package/lib/commonjs/ui/utils/image-load-queue.js.map +1 -0
  51. package/lib/commonjs/ui/utils/inline-attachments.js +88 -0
  52. package/lib/commonjs/ui/utils/inline-attachments.js.map +1 -0
  53. package/lib/module/api/client.js +123 -27
  54. package/lib/module/api/client.js.map +1 -1
  55. package/lib/module/attachments/file-size.js +47 -0
  56. package/lib/module/attachments/file-size.js.map +1 -0
  57. package/lib/module/attachments/local-previews.js +33 -0
  58. package/lib/module/attachments/local-previews.js.map +1 -0
  59. package/lib/module/attachments/pickers.js +15 -25
  60. package/lib/module/attachments/pickers.js.map +1 -1
  61. package/lib/module/i18n.js +22 -3
  62. package/lib/module/i18n.js.map +1 -1
  63. package/lib/module/index.js.map +1 -1
  64. package/lib/module/locales.js +12 -3
  65. package/lib/module/locales.js.map +1 -1
  66. package/lib/module/state/user-update-queue.js +163 -0
  67. package/lib/module/state/user-update-queue.js.map +1 -0
  68. package/lib/module/state/widget-store.js +305 -35
  69. package/lib/module/state/widget-store.js.map +1 -1
  70. package/lib/module/storage.js +2 -0
  71. package/lib/module/storage.js.map +1 -1
  72. package/lib/module/types.js.map +1 -1
  73. package/lib/module/ui/WidgetProvider.js +33 -13
  74. package/lib/module/ui/WidgetProvider.js.map +1 -1
  75. package/lib/module/ui/components/AttachmentChips.js +111 -42
  76. package/lib/module/ui/components/AttachmentChips.js.map +1 -1
  77. package/lib/module/ui/components/ConversationRow.js +65 -10
  78. package/lib/module/ui/components/ConversationRow.js.map +1 -1
  79. package/lib/module/ui/components/ImageViewer.js +231 -26
  80. package/lib/module/ui/components/ImageViewer.js.map +1 -1
  81. package/lib/module/ui/components/RatingCard.js +5 -2
  82. package/lib/module/ui/components/RatingCard.js.map +1 -1
  83. package/lib/module/ui/components/ZoomableImage.js +58 -10
  84. package/lib/module/ui/components/ZoomableImage.js.map +1 -1
  85. package/lib/module/ui/hooks/use-retained-state.js +34 -0
  86. package/lib/module/ui/hooks/use-retained-state.js.map +1 -0
  87. package/lib/module/ui/screens/chat/ChatView.js +655 -169
  88. package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
  89. package/lib/module/ui/screens/chat/ChatView.styles.js +140 -2
  90. package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
  91. package/lib/module/ui/screens/conversations/ConversationsList.js +1 -0
  92. package/lib/module/ui/screens/conversations/ConversationsList.js.map +1 -1
  93. package/lib/module/ui/screens/home/HomeView.js +40 -57
  94. package/lib/module/ui/screens/home/HomeView.js.map +1 -1
  95. package/lib/module/ui/screens/home/HomeView.styles.js +36 -45
  96. package/lib/module/ui/screens/home/HomeView.styles.js.map +1 -1
  97. package/lib/module/ui/utils/html.js +12 -0
  98. package/lib/module/ui/utils/html.js.map +1 -1
  99. package/lib/module/ui/utils/image-load-queue.js +109 -0
  100. package/lib/module/ui/utils/image-load-queue.js.map +1 -0
  101. package/lib/module/ui/utils/inline-attachments.js +85 -0
  102. package/lib/module/ui/utils/inline-attachments.js.map +1 -0
  103. package/lib/typescript/commonjs/api/client.d.ts +20 -6
  104. package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/attachments/file-size.d.ts +15 -0
  106. package/lib/typescript/commonjs/attachments/file-size.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/attachments/local-previews.d.ts +14 -0
  108. package/lib/typescript/commonjs/attachments/local-previews.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/attachments/pickers.d.ts +15 -2
  110. package/lib/typescript/commonjs/attachments/pickers.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/i18n.d.ts +12 -3
  112. package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/index.d.ts +5 -0
  114. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/locales.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/state/user-update-queue.d.ts +62 -0
  117. package/lib/typescript/commonjs/state/user-update-queue.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/state/widget-store.d.ts +44 -1
  119. package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/storage.d.ts +2 -0
  121. package/lib/typescript/commonjs/storage.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/types.d.ts +53 -0
  123. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts +13 -3
  126. package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts +15 -1
  128. package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts +26 -6
  130. package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/ui/components/RatingCard.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts +10 -1
  133. package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts.map +1 -1
  134. package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts +11 -0
  135. package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +4 -4
  137. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +144 -0
  139. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +26 -1
  141. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
  144. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts +7 -5
  146. package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts +30 -35
  148. package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts +5 -6
  150. package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/ui/utils/html.d.ts +5 -0
  152. package/lib/typescript/commonjs/ui/utils/html.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts +44 -0
  154. package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts.map +1 -0
  155. package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts +29 -0
  156. package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts.map +1 -0
  157. package/lib/typescript/module/api/client.d.ts +20 -6
  158. package/lib/typescript/module/api/client.d.ts.map +1 -1
  159. package/lib/typescript/module/attachments/file-size.d.ts +15 -0
  160. package/lib/typescript/module/attachments/file-size.d.ts.map +1 -0
  161. package/lib/typescript/module/attachments/local-previews.d.ts +14 -0
  162. package/lib/typescript/module/attachments/local-previews.d.ts.map +1 -0
  163. package/lib/typescript/module/attachments/pickers.d.ts +15 -2
  164. package/lib/typescript/module/attachments/pickers.d.ts.map +1 -1
  165. package/lib/typescript/module/i18n.d.ts +12 -3
  166. package/lib/typescript/module/i18n.d.ts.map +1 -1
  167. package/lib/typescript/module/index.d.ts +5 -0
  168. package/lib/typescript/module/index.d.ts.map +1 -1
  169. package/lib/typescript/module/locales.d.ts.map +1 -1
  170. package/lib/typescript/module/state/user-update-queue.d.ts +62 -0
  171. package/lib/typescript/module/state/user-update-queue.d.ts.map +1 -0
  172. package/lib/typescript/module/state/widget-store.d.ts +44 -1
  173. package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
  174. package/lib/typescript/module/storage.d.ts +2 -0
  175. package/lib/typescript/module/storage.d.ts.map +1 -1
  176. package/lib/typescript/module/types.d.ts +53 -0
  177. package/lib/typescript/module/types.d.ts.map +1 -1
  178. package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
  179. package/lib/typescript/module/ui/components/AttachmentChips.d.ts +13 -3
  180. package/lib/typescript/module/ui/components/AttachmentChips.d.ts.map +1 -1
  181. package/lib/typescript/module/ui/components/ConversationRow.d.ts +15 -1
  182. package/lib/typescript/module/ui/components/ConversationRow.d.ts.map +1 -1
  183. package/lib/typescript/module/ui/components/ImageViewer.d.ts +26 -6
  184. package/lib/typescript/module/ui/components/ImageViewer.d.ts.map +1 -1
  185. package/lib/typescript/module/ui/components/RatingCard.d.ts.map +1 -1
  186. package/lib/typescript/module/ui/components/ZoomableImage.d.ts +10 -1
  187. package/lib/typescript/module/ui/components/ZoomableImage.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/hooks/use-retained-state.d.ts +11 -0
  189. package/lib/typescript/module/ui/hooks/use-retained-state.d.ts.map +1 -0
  190. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +4 -4
  191. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
  192. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +144 -0
  193. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
  194. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +26 -1
  195. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
  196. package/lib/typescript/module/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
  197. package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
  198. package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
  199. package/lib/typescript/module/ui/screens/home/HomeView.d.ts +7 -5
  200. package/lib/typescript/module/ui/screens/home/HomeView.d.ts.map +1 -1
  201. package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts +30 -35
  202. package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts.map +1 -1
  203. package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts +5 -6
  204. package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts.map +1 -1
  205. package/lib/typescript/module/ui/utils/html.d.ts +5 -0
  206. package/lib/typescript/module/ui/utils/html.d.ts.map +1 -1
  207. package/lib/typescript/module/ui/utils/image-load-queue.d.ts +44 -0
  208. package/lib/typescript/module/ui/utils/image-load-queue.d.ts.map +1 -0
  209. package/lib/typescript/module/ui/utils/inline-attachments.d.ts +29 -0
  210. package/lib/typescript/module/ui/utils/inline-attachments.d.ts.map +1 -0
  211. package/package.json +1 -1
  212. package/src/api/client.ts +149 -38
  213. package/src/attachments/file-size.ts +42 -0
  214. package/src/attachments/local-previews.ts +32 -0
  215. package/src/attachments/pickers.ts +23 -25
  216. package/src/i18n.ts +22 -3
  217. package/src/index.tsx +5 -0
  218. package/src/locales.ts +12 -3
  219. package/src/state/user-update-queue.ts +178 -0
  220. package/src/state/widget-store.ts +346 -51
  221. package/src/storage.ts +2 -0
  222. package/src/types.ts +53 -0
  223. package/src/ui/WidgetProvider.tsx +35 -8
  224. package/src/ui/components/AttachmentChips.tsx +100 -29
  225. package/src/ui/components/ConversationRow.tsx +90 -9
  226. package/src/ui/components/ImageViewer.tsx +242 -24
  227. package/src/ui/components/RatingCard.tsx +5 -2
  228. package/src/ui/components/ZoomableImage.tsx +58 -5
  229. package/src/ui/hooks/use-retained-state.ts +35 -0
  230. package/src/ui/screens/chat/ChatView.styles.ts +139 -1
  231. package/src/ui/screens/chat/ChatView.tsx +735 -198
  232. package/src/ui/screens/chat/ChatView.types.ts +26 -1
  233. package/src/ui/screens/conversations/ConversationsList.tsx +1 -0
  234. package/src/ui/screens/conversations/ConversationsList.types.ts +2 -0
  235. package/src/ui/screens/home/HomeView.styles.ts +36 -45
  236. package/src/ui/screens/home/HomeView.tsx +54 -70
  237. package/src/ui/screens/home/HomeView.types.ts +5 -6
  238. package/src/ui/utils/html.ts +26 -0
  239. package/src/ui/utils/image-load-queue.ts +108 -0
  240. package/src/ui/utils/inline-attachments.ts +71 -0
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Agent replies with images between their paragraphs. Workstation marks such
5
+ * images `inline` among the message's attachments and keeps an `<img>` for
6
+ * each in the HTML body, where the teammate put it. Same split as the web
7
+ * Messenger, so both show the text and images in the order they were written.
8
+ */
9
+
10
+ import { htmlToMarkdown } from "./html.js";
11
+
12
+ /** Markdown for the bubble to draw, or one attachment. */
13
+
14
+ /**
15
+ * The body and its inline images in order, plus the other attachments
16
+ * (`files`) that show after them. Null when nothing is inline: the bubble then
17
+ * shows the body, followed by every attachment.
18
+ *
19
+ * An `<img>` finds its attachment by the id in its URL. In a body whose
20
+ * images carry no ids, they take the attachments in order instead; in one
21
+ * that does, an image without an id (a logo, an emoji) isn't one of the files
22
+ * and takes nothing. One whose id names no remaining attachment (the same file
23
+ * twice) takes nothing either. Inline attachments with no `<img>` go at the end.
24
+ */
25
+ export function splitInlineAttachments(body, attachments) {
26
+ const inline = (attachments ?? []).filter(isInline);
27
+ if (!body || inline.length === 0) return null;
28
+ const remaining = [...inline];
29
+ const parts = [];
30
+ const pushText = html => {
31
+ const text = htmlToMarkdown(html);
32
+ if (text) parts.push({
33
+ text
34
+ });
35
+ };
36
+ const image = /<img\b[^>]*?\bsrc=(["'])(.*?)\1[^>]*>/gi;
37
+ const images = [];
38
+ for (let match = image.exec(body); match; match = image.exec(body)) {
39
+ images.push({
40
+ start: match.index,
41
+ end: image.lastIndex,
42
+ id: mediaId(match[2] ?? '')
43
+ });
44
+ }
45
+ const byId = images.some(found => found.id !== null);
46
+ let last = 0;
47
+ for (const {
48
+ start,
49
+ end,
50
+ id
51
+ } of images) {
52
+ // Left in the text, which drops it as it always has.
53
+ if (byId && !id) continue;
54
+ pushText(body.slice(last, start));
55
+ last = end;
56
+ const index = id ? remaining.findIndex(attachment => attachment.id === id) : 0;
57
+ if (index < 0) continue;
58
+ const [attachment] = remaining.splice(index, 1);
59
+ if (attachment) parts.push({
60
+ attachment
61
+ });
62
+ }
63
+ pushText(body.slice(last));
64
+ remaining.forEach(attachment => parts.push({
65
+ attachment
66
+ }));
67
+ return {
68
+ parts,
69
+ files: (attachments ?? []).filter(attachment => !isInline(attachment))
70
+ };
71
+ }
72
+
73
+ /**
74
+ * Workstation's media URLs carry the attachment's id, as
75
+ * `/api/widget/media/<id>?…` (what replies carry) or `/api/media/<id>/download`.
76
+ */
77
+ function mediaId(src) {
78
+ return /\/api\/(?:widget\/)?media\/([^/?#"'&]+)/.exec(src)?.[1] ?? null;
79
+ }
80
+
81
+ /** Only Workstation's agent replies set `inline`, so it isn't on `WidgetAttachment`. */
82
+ function isInline(attachment) {
83
+ return attachment.inline === true;
84
+ }
85
+ //# sourceMappingURL=inline-attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["htmlToMarkdown","splitInlineAttachments","body","attachments","inline","filter","isInline","length","remaining","parts","pushText","html","text","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":[]}
@@ -12,9 +12,21 @@ export declare function isTerminalErrorCode(code: string | null | undefined): bo
12
12
  export declare class RepzoWidgetError extends Error {
13
13
  readonly status: number;
14
14
  readonly code: RepzoWidgetErrorCode;
15
- constructor(message: string, status: number, code?: RepzoWidgetErrorCode);
15
+ /**
16
+ * Seconds Workstation asked to wait before trying again, on a 429
17
+ * (`Retry-After`). Undefined when it didn't say.
18
+ * @since 1.5.0
19
+ */
20
+ readonly retryAfter?: number;
21
+ constructor(message: string, status: number, code?: RepzoWidgetErrorCode, retryAfter?: number);
16
22
  /** Builds the error for a non-2xx `{ message, code }` body. */
17
- static fromResponse(status: number, body: unknown): RepzoWidgetError;
23
+ static fromResponse(status: number, body: unknown, retryAfterHeader?: string | null): RepzoWidgetError;
24
+ }
25
+ /** A file in storage, waiting for the message that names it. */
26
+ export interface UploadedFile {
27
+ uploadToken: string;
28
+ /** When Workstation stops taking `uploadToken`, on this phone's clock (ms). */
29
+ expiresAt: number;
18
30
  }
19
31
  export declare class WidgetApiClient {
20
32
  private baseUrl;
@@ -125,16 +137,18 @@ export declare class WidgetApiClient {
125
137
  /**
126
138
  * Puts a local file in storage ahead of the message, which then names it by
127
139
  * the returned upload token. The target is presigned storage, or a path on
128
- * the server where its storage can't presign. The file is read as a native
129
- * blob, so it never becomes a JS string; its size is the blob's, since the
130
- * upload URL is signed for exactly the size asked for.
140
+ * the server where its storage can't presign. The upload URL is signed for
141
+ * exactly the size asked for: a `file://` file whose size `expo-file-system`
142
+ * can read streams from disk, anything else is read as a native blob and
143
+ * measured. `signal` cancels the transfer (the visitor removed the file, or
144
+ * left the conversation). Resolves the token and when it expires.
131
145
  */
132
146
  uploadAttachment(file: {
133
147
  uri: string;
134
148
  name: string;
135
149
  contentType: string;
136
150
  size: number;
137
- }): Promise<string>;
151
+ }, signal?: AbortSignal): Promise<UploadedFile>;
138
152
  listConversations(): Promise<{
139
153
  data: Conversation[];
140
154
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Local file sizes from the host's `expo-file-system` (optional, like the
3
+ * pickers): read from the file's metadata, never from its contents. Shared by
4
+ * the pickers and the upload client, so the client doesn't pull in pickers.
5
+ *
6
+ * No `react-native` import on purpose: it stays testable in plain Node.
7
+ */
8
+ /** A positive, finite byte count, or null. */
9
+ export declare function validSize(size: unknown): number | null;
10
+ /**
11
+ * A local file's exact size in bytes, from its metadata without reading it.
12
+ * Null without `expo-file-system`, or when it can't tell.
13
+ */
14
+ export declare function measureFileSize(uri: string): Promise<number | null>;
15
+ //# sourceMappingURL=file-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-size.d.ts","sourceRoot":"","sources":["../../../../src/attachments/file-size.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBzE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The phone's copy of each file the visitor sent, by the URL of the stored
3
+ * copy that replaced it in the thread. Right after a send the stored copy
4
+ * may not load yet (Workstation can still be storing it), so a photo keeps
5
+ * showing from the phone instead of turning into a file row. Kept in memory
6
+ * only: a later session shows the stored copy.
7
+ */
8
+ export declare function rememberLocalPreview(storedUrl: string, localUrl: string): void;
9
+ export declare function localPreviewFor(storedUrl: string): string | null;
10
+ /** One that failed to load (the OS cleared the picker's cache): every view moves to the stored copy. */
11
+ export declare function forgetLocalPreview(storedUrl: string): void;
12
+ /** Signing out forgets them: the next visitor on the phone doesn't inherit the paths. */
13
+ export declare function clearLocalPreviews(): void;
14
+ //# sourceMappingURL=local-previews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-previews.d.ts","sourceRoot":"","sources":["../../../../src/attachments/local-previews.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM9E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED,wGAAwG;AACxG,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -2,7 +2,7 @@
2
2
  * Visitor attachments: picking photos/files for `POST /api/widget/messages`.
3
3
  *
4
4
  * A server that takes uploads names its cap (`maxAttachmentBytes`): a picked
5
- * file then stays a local URI and is uploaded when the message is sent. An
5
+ * file then stays a local URI, which the composer uploads right away. An
6
6
  * older server only takes files inline, as base64 data URLs within the
7
7
  * 1.5 MB / 6 MB caps below.
8
8
  *
@@ -42,10 +42,19 @@ export interface DraftAttachment {
42
42
  size: number;
43
43
  /** `data:<mime>;base64,<…>` for an inline file; empty when `fileUri` is uploaded instead. */
44
44
  dataUrl: string;
45
- /** The local file uploaded when the message is sent. */
45
+ /** The local file uploaded ahead of the message. */
46
46
  fileUri?: string;
47
47
  /** What `<Image>` renders locally: the picked file's URI, else the data URL. */
48
48
  previewUri: string;
49
+ /**
50
+ * Where `fileUri`'s upload stands. The composer starts it as soon as the
51
+ * file is picked and holds Send until every file is up. Absent for inline files.
52
+ */
53
+ uploadStatus?: 'uploading' | 'uploaded' | 'failed';
54
+ /** What the message names the uploaded file by, once `uploadStatus` is `uploaded`. */
55
+ uploadToken?: string;
56
+ /** When `uploadToken` stops working, on this phone's clock (ms). */
57
+ uploadExpiresAt?: number;
49
58
  }
50
59
  /** Why some (or all) of a pick didn't make it into the composer. */
51
60
  export type AttachmentProblem = 'tooMany' | 'tooLarge' | 'tooLargeTogether' | 'cameraDenied' | 'failed';
@@ -56,6 +65,8 @@ export interface PickResult {
56
65
  }
57
66
  /** Set from `boot({ attachments })`; `null` restores auto-detection. */
58
67
  export declare function setAttachmentOptions(options: RepzoWidgetAttachmentOptions | null): void;
68
+ /** Whether a picked file starts uploading before Send (`attachments.uploadOnPick`). */
69
+ export declare function uploadsOnPick(): boolean;
59
70
  /**
60
71
  * The options the attach menu offers, in menu order. Empty means no button:
61
72
  * attachments were switched off by the host, or nothing can pick a file.
@@ -90,4 +101,6 @@ export declare function base64ByteLength(base64: string): number;
90
101
  /** `1.2 MB`, `340 KB` — for chips; the limits themselves use decimal units too. */
91
102
  export declare function formatBytes(bytes: number): string;
92
103
  export declare function isImageAttachment(contentType: string | null | undefined): boolean;
104
+ /** The type a file name's extension implies, or null for one this table doesn't know. */
105
+ export declare function guessContentType(nameOrUri: string | null | undefined): string | null;
93
106
  //# sourceMappingURL=pickers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pickers.d.ts","sourceRoot":"","sources":["../../../../src/attachments/pickers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAmB,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAEhG,mEAAmE;AACnE,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,UAAY,CAAC;AAC9C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAKpD,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,kBAAkB,GAClB,cAAc,GACd,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,uEAAuE;IACvE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnC;AAgDD,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAEvF;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,EAAE,CAWzD;AAOD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,eAAe,EAAE,EAC1B,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,OAAO,CAAC,UAAU,CAAC,CAuDrB;AAgQD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1D,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,iBAAiB,GAAG,IAAI,CAO1B;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIpF;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEjF"}
1
+ {"version":3,"file":"pickers.d.ts","sourceRoot":"","sources":["../../../../src/attachments/pickers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAmB,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAGhG,mEAAmE;AACnE,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,UAAY,CAAC;AAC9C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAKpD,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnD,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,kBAAkB,GAClB,cAAc,GACd,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,uEAAuE;IACvE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnC;AAgDD,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAEvF;AAED,uFAAuF;AACvF,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,EAAE,CAWzD;AAOD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,eAAe,EAAE,EAC1B,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,OAAO,CAAC,UAAU,CAAC,CAuDrB;AAkPD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1D,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,iBAAiB,GAAG,IAAI,CAO1B;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIpF;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEjF;AAqCD,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGpF"}
@@ -20,6 +20,10 @@ export declare const DEFAULT_LABELS: {
20
20
  readonly loadEarlier: "Load earlier messages";
21
21
  readonly emptyConversation: "Send a message to start the conversation";
22
22
  readonly messagePlaceholder: "Type a message...";
23
+ readonly sendMessage: "Send message";
24
+ readonly jumpToLatest: "Jump to latest messages";
25
+ readonly jumpToLatestNew: "New messages: {count}. Jump to latest";
26
+ readonly morePhotos: "{count} more photos";
23
27
  readonly attachFile: "Attach file";
24
28
  readonly attachPhotoLibrary: "Photo library";
25
29
  readonly attachTakePhoto: "Take photo";
@@ -29,12 +33,16 @@ export declare const DEFAULT_LABELS: {
29
33
  readonly attachmentTooMany: "You can attach up to {count} files";
30
34
  readonly attachmentsTooLargeTogether: "Attachments are too large to send together — send some in another message";
31
35
  readonly attachmentFailed: "Couldn't attach that file";
36
+ readonly attachmentUploading: "Uploading {name}";
37
+ readonly attachmentUploadFailed: "Couldn't upload {name}. Tap to try again";
38
+ readonly attachmentsUploadFailed: "Couldn't upload a file. Tap it to try again";
32
39
  readonly openAttachment: "Open {name}";
33
40
  readonly voicePlay: "Play voice message";
34
41
  readonly voicePause: "Pause voice message";
35
42
  readonly voiceSpeed: "Playback speed";
36
43
  readonly imageLoadFailed: "Couldn't load this image";
37
44
  readonly openImageExternally: "Open image";
45
+ readonly imagePosition: "{current} of {total}";
38
46
  readonly cameraPermissionDenied: "Allow camera access in Settings to take a photo";
39
47
  readonly cancel: "Cancel";
40
48
  readonly failedToSend: "Failed to send";
@@ -48,13 +56,14 @@ export declare const DEFAULT_LABELS: {
48
56
  readonly preChatSubtitle: "Let us know a bit about you so we can help you better.";
49
57
  readonly preChatSkip: "Skip";
50
58
  readonly preChatSubmit: "Start chat";
51
- readonly viewPreviousConversations: "View previous conversations";
52
- readonly homeRecentTitle: "Recent";
53
- readonly homeViewAllCount: "View all ({count})";
59
+ readonly homeRecentMessageTitle: "Recent message";
54
60
  readonly homeNoConversations: "Your conversations will show up here";
55
61
  readonly homeStatusOnline: "We're online";
56
62
  readonly homeStatusAway: "We're away";
57
63
  readonly unreadBadge: "{count} unread";
64
+ readonly lastMessagePhoto: "Photo";
65
+ readonly lastMessageFile: "File";
66
+ readonly lastMessageYou: "You: {message}";
58
67
  readonly team: "Team";
59
68
  readonly home: "Home";
60
69
  readonly close: "Close";
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/i18n.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAYxF;AAeD,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAQpG;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJjB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,cAAc,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAI7F;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAM3E"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/i18n.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAYxF;AAeD,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAQpG;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqKjB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,cAAc,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAI7F;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAM3E"}
@@ -43,6 +43,11 @@ export type RepzoWidgetType = {
43
43
  /**
44
44
  * Attach custom attributes to the visitor's identity so agents see them on
45
45
  * the conversation (max 30 keys, 64-char keys, 512-char values).
46
+ *
47
+ * Since 1.5.0 calls are paced (see `BootOptions.throttleUpdateUser`):
48
+ * values Workstation already has are skipped, and once more than 20 updates
49
+ * go out in 30 minutes the rest are merged and sent later. Those calls
50
+ * resolve right away. A call sent straight away still rejects when it fails.
46
51
  */
47
52
  updateUser(attributes: WidgetCustomAttributes): Promise<void>;
48
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/locales.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,KAAK,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAqIrE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAErE,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../src/locales.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,KAAK,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AA8IrE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAErE,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3D"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Paces `updateUser()` the way Intercom paces its web `update` (20 calls per
3
+ * 30 minutes), so a host that calls it on a timer or on every GPS fix can't
4
+ * flood Workstation.
5
+ *
6
+ * - Values that match what Workstation already has are not sent again.
7
+ * - Up to `burst` sends go out straight away; after that one more is allowed
8
+ * every `windowMs / burst` (90 s by default).
9
+ * - While a send is in flight, rate limited or out of budget, new values wait
10
+ * and merge into one bag, newest value per key. Nothing is lost: the latest
11
+ * of every key goes out on the next allowed send. Workstation merges the bag
12
+ * into the saved attributes per key, so sending only what changed is enough.
13
+ * - A 429 holds sends until its `Retry-After`. A failed connection or a 5xx
14
+ * keeps the values and tries again later.
15
+ */
16
+ import type { WidgetCustomAttributes } from '../types';
17
+ export declare const USER_UPDATE_BURST = 20;
18
+ export declare const USER_UPDATE_WINDOW_MS: number;
19
+ type Attributes = WidgetCustomAttributes;
20
+ export interface UserUpdateQueueOptions {
21
+ burst?: number;
22
+ windowMs?: number;
23
+ now?: () => number;
24
+ }
25
+ export declare class UserUpdateQueue {
26
+ private readonly send;
27
+ private readonly burst;
28
+ private readonly refillMs;
29
+ private readonly now;
30
+ private tokens;
31
+ private refilledAt;
32
+ /** Values Workstation accepted for the current identity. */
33
+ private sent;
34
+ /** Values waiting for the next allowed send. */
35
+ private pending;
36
+ private inFlight;
37
+ private holdUntil;
38
+ private timer;
39
+ /** Bumped by reset(): a send that settles after it writes nothing back. */
40
+ private generation;
41
+ constructor(send: (attributes: Attributes) => Promise<void>, options?: UserUpdateQueueOptions);
42
+ /**
43
+ * Resolves once the values are sent, or straight away when nothing changed
44
+ * or they were held for a later send. Rejects only when a send made right
45
+ * now fails with something other than a 429, as `updateUser()` always has.
46
+ */
47
+ update(attributes: Attributes): Promise<void>;
48
+ /** The visitor's identity changed (anonymous → signed in): Workstation may hold other values now. */
49
+ forgetSent(): void;
50
+ /** Sign-out or a different user: drop everything waiting so it can't reach the next visitor. */
51
+ reset(): void;
52
+ destroy(): void;
53
+ /** The send budget is per device, not per visitor, so reset() leaves it alone. */
54
+ private takeToken;
55
+ private refill;
56
+ private sendPending;
57
+ private schedule;
58
+ private flush;
59
+ private clearTimer;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=user-update-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-update-queue.d.ts","sourceRoot":"","sources":["../../../../src/state/user-update-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAIpD,KAAK,UAAU,GAAG,sBAAsB,CAAC;AAEzC,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,eAAe;IAkBxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAjBvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,4DAA4D;IAC5D,OAAO,CAAC,IAAI,CAAkB;IAC9B,gDAAgD;IAChD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAA8C;IAC3D,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAK;gBAGJ,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,EAChE,OAAO,GAAE,sBAA2B;IAStC;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7C,qGAAqG;IACrG,UAAU,IAAI,IAAI;IAIlB,gGAAgG;IAChG,KAAK,IAAI,IAAI;IASb,OAAO,IAAI,IAAI;IAIf,kFAAkF;IAClF,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,MAAM;YAYA,WAAW;IA8BzB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,UAAU;CAInB"}
@@ -7,7 +7,7 @@
7
7
  * and the unread count must stay alive while the UI is closed — the modal is
8
8
  * only a subscriber.
9
9
  */
10
- import { WidgetApiClient } from '../api/client';
10
+ import { WidgetApiClient, type UploadedFile } from '../api/client';
11
11
  import { EventEmitter } from '../events';
12
12
  import { PushManager } from '../push/push-notifications';
13
13
  import type { AgentUiAction, BootOptions, ConversationRatingResult, OutgoingAttachment, PostInteractionKind, PostReply, WidgetCustomAttributes, WidgetSpaceType, WidgetState, WidgetUser, WidgetView } from '../types';
@@ -15,6 +15,8 @@ import type { AgentUiAction, BootOptions, ConversationRatingResult, OutgoingAtta
15
15
  export declare const POST_THANKS_MS = 1600;
16
16
  export declare class WidgetStore {
17
17
  readonly client: WidgetApiClient;
18
+ /** Paces `updateUser()` — see `boot({ throttleUpdateUser })`. */
19
+ private readonly userUpdates;
18
20
  readonly events: EventEmitter;
19
21
  readonly push: PushManager;
20
22
  private state;
@@ -27,6 +29,12 @@ export declare class WidgetStore {
27
29
  private inAppNotificationsEnabled;
28
30
  /** `boot({ posts })` — Send posts over the app. */
29
31
  private postsEnabled;
32
+ /** `boot({ photoAlbums })` — a message's photos share one album in the thread. */
33
+ private photoAlbumsEnabled;
34
+ /** `boot({ youPrefix })` — "You:" before the visitor's own newest message in the lists. */
35
+ private youPrefixEnabled;
36
+ /** `boot({ throttleUpdateUser })` — skip unchanged `updateUser()` values and pace the rest. */
37
+ private throttleUpdateUserEnabled;
30
38
  /** Posts whose view was reported this session (the server also dedupes per day). */
31
39
  private viewedPostIds;
32
40
  /** Bumped per post load, so an older answer never lands over a newer one. */
@@ -67,6 +75,9 @@ export declare class WidgetStore {
67
75
  private lastTypingPingAt;
68
76
  private visitorTypingActive;
69
77
  private seenMessageIds;
78
+ /** Who sent each thread's newest message and what it carried; see `withLastMessage`. */
79
+ private lastMessages;
80
+ private lastMessagesLoaded;
70
81
  /** Statuses (e.g. "read") that arrived for an id before a send response revealed it. */
71
82
  private earlyStatuses;
72
83
  /** The agent UI action behind a failed bubble, so Retry runs it again too. */
@@ -122,6 +133,8 @@ export declare class WidgetStore {
122
133
  getState: () => WidgetState;
123
134
  /** Composer identity: explicit opens reset it; a draft receiving its server ID does not. */
124
135
  getThreadGeneration: () => number;
136
+ showsPhotoAlbums: () => boolean;
137
+ showsYouPrefix: () => boolean;
125
138
  private setState;
126
139
  private serialize;
127
140
  /** Queue a requested identity op; anything older becomes stale right away. */
@@ -246,6 +259,25 @@ export declare class WidgetStore {
246
259
  private rememberConversationAgent;
247
260
  private applyConversationAgent;
248
261
  private hydrateConversation;
262
+ /**
263
+ * Workstation's list doesn't say who sent the newest message, and calls one
264
+ * without words "2 attachments". While a row still describes the message
265
+ * this device saw last, both are filled in from it. `snippet` keeps the
266
+ * list's words: apps read it, and the lists draw "Photo" or "File" from
267
+ * `lastMessageAttachment` instead.
268
+ */
269
+ private withLastMessage;
270
+ /**
271
+ * A send or a streamed message is the newest by arrival, whatever the two
272
+ * clocks say; a history page only replaces something older. A sent message
273
+ * is timed by the phone, which may run ahead of Workstation, so instead a
274
+ * page that has it replaces it: whatever is newest there came after it, and
275
+ * Workstation's own time then stands in for the phone's.
276
+ */
277
+ private rememberLastMessage;
278
+ private loadLastMessages;
279
+ /** A thread's newest page shows who sent its newest message, so its row can say too. */
280
+ private learnLastMessage;
249
281
  /**
250
282
  * Normalizes attachments from history pages and live payloads alike. Live
251
283
  * payloads may omit `id`/`size`, so the list still gets a stable key.
@@ -314,6 +346,17 @@ export declare class WidgetStore {
314
346
  * failed bubble of the same action, since its card stays tappable.
315
347
  */
316
348
  sendMessage(body: string, attachments?: OutgoingAttachment[], agentUiAction?: AgentUiAction): Promise<void>;
349
+ /**
350
+ * Puts a picked file in storage while the visitor is still writing, so
351
+ * Send goes out at once. Resolves the token `sendMessage` names it by, and
352
+ * when that token expires.
353
+ */
354
+ uploadAttachment(file: {
355
+ uri: string;
356
+ name: string;
357
+ contentType: string;
358
+ size: number;
359
+ }, signal?: AbortSignal): Promise<UploadedFile>;
317
360
  /**
318
361
  * Re-sends a text bubble that failed. It moves to the end of the thread,
319
362
  * since it now goes out after anything sent meanwhile. Rejects like
@@ -1 +1 @@
1
- {"version":3,"file":"widget-store.d.ts","sourceRoot":"","sources":["../../../../src/state/widget-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-store.d.ts","sourceRoot":"","sources":["../../../../src/state/widget-store.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export declare const TOKEN_KEY = "repzo_widget_token";
18
18
  export declare const USER_KEY = "repzo_widget_user_key";
19
19
  export declare const DEVICE_ID_KEY = "repzo_widget_device_id";
20
20
  export declare const UNREAD_KEY = "repzo_widget_unread";
21
+ /** Who sent each conversation's newest message; Workstation's list doesn't say. */
22
+ export declare const LAST_MESSAGE_KEY = "repzo_widget_last_message";
21
23
  /** Last config received — repaints the real theme instantly on relaunch. */
22
24
  /**
23
25
  * v2 wraps the config with the channel/baseUrl/platform it came from. v1 held a
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAC9C,sFAAsF;AACtF,eAAO,MAAM,QAAQ,0BAA0B,CAAC;AAChD,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,4EAA4E;AAC5E;;;;GAIG;AACH,eAAO,MAAM,UAAU,2BAA2B,CAAC;AACnD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAwCvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAEjF;AAED,eAAO,MAAM,OAAO;iBACC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;iBAS/B,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;oBAQlC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO7C,CAAC;AAMF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAEvF;AAiBD,eAAO,MAAM,aAAa;iBACL,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;iBAkB/B,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD,0EAA0E;oBACpD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAU7C,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAC9C,sFAAsF;AACtF,eAAO,MAAM,QAAQ,0BAA0B,CAAC;AAChD,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAC5D,4EAA4E;AAC5E;;;;GAIG;AACH,eAAO,MAAM,UAAU,2BAA2B,CAAC;AACnD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAwCvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAEjF;AAED,eAAO,MAAM,OAAO;iBACC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;iBAS/B,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;oBAQlC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO7C,CAAC;AAMF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAEvF;AAiBD,eAAO,MAAM,aAAa;iBACL,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;iBAkB/B,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD,0EAA0E;oBACpD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAU7C,CAAC"}