@repzo/widget-react-native 1.4.0 → 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.
- package/CHANGELOG.md +36 -0
- package/README.md +36 -2
- package/lib/commonjs/api/client.js +29 -5
- package/lib/commonjs/api/client.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/state/user-update-queue.js +168 -0
- package/lib/commonjs/state/user-update-queue.js.map +1 -0
- package/lib/commonjs/state/widget-store.js +27 -4
- package/lib/commonjs/state/widget-store.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.js +14 -1
- package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/module/api/client.js +27 -4
- package/lib/module/api/client.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/state/user-update-queue.js +163 -0
- package/lib/module/state/user-update-queue.js.map +1 -0
- package/lib/module/state/widget-store.js +27 -4
- package/lib/module/state/widget-store.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.js +14 -1
- package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/typescript/commonjs/api/client.d.ts +8 -2
- package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +5 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/user-update-queue.d.ts +62 -0
- package/lib/typescript/commonjs/state/user-update-queue.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/widget-store.d.ts +4 -0
- package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +12 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/module/api/client.d.ts +8 -2
- package/lib/typescript/module/api/client.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +5 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/state/user-update-queue.d.ts +62 -0
- package/lib/typescript/module/state/user-update-queue.d.ts.map +1 -0
- package/lib/typescript/module/state/widget-store.d.ts +4 -0
- package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +12 -0
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/client.ts +33 -4
- package/src/index.tsx +5 -0
- package/src/state/user-update-queue.ts +178 -0
- package/src/state/widget-store.ts +25 -2
- package/src/types.ts +12 -0
- package/src/ui/screens/chat/ChatView.tsx +14 -1
|
@@ -12,9 +12,15 @@ 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
|
-
|
|
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;
|
|
18
24
|
}
|
|
19
25
|
/** A file in storage, waiting for the message that names it. */
|
|
20
26
|
export interface UploadedFile {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,UAAU,EACX,MAAM,UAAU,CAAC;AASlB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,UAAU,EACX,MAAM,UAAU,CAAC;AASlB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAEpC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,oBAA6B,EAAE,UAAU,CAAC,EAAE,MAAM;IAQrG,+DAA+D;IAC/D,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB;CAcvG;AAgFD,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,KAAK,CAAuB;IAEpC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAQ;IAEpF,kFAAkF;IAClF,eAAe,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEnE,2DAA2D;IAC3D,OAAO,CAAC,aAAa,CAA8B;IAEnD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAKnD,UAAU,IAAI,MAAM;IAIpB,mBAAmB,IAAI,MAAM;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASlC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;YAS3C,OAAO;IAmDrB,kFAAkF;IAClF,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IAKtE,kBAAkB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC;IAMlE;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAI5E;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;YAUL,cAAc;IAqB5B;;;;OAIG;IACH,mBAAmB,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAOlF;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE;QACjB,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,wEAAwE;QACxE,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiCzB,2EAA2E;IACrE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1C,WAAW,CAAC,IAAI,EAAE;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb;;;WAGG;QACH,WAAW,CAAC,EAAE,KAAK,CACf;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAChE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAC3E,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B;;;WAGG;QACH,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IAItF;;;;;;;;OAQG;IACG,gBAAgB,CACpB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,EACD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC;IA+DxB,iBAAiB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAItD,YAAY,CACV,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;IAStF;;;;OAIG;IACH,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,oFAAoF;IACpF,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACxE,OAAO,CAAC,wBAAwB,CAAC;IAOpC,QAAQ,CAAC,IAAI,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KAC9D,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE,UAAU,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjB,iBAAiB,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjB,gGAAgG;IAChG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,qEAAqE;IACrE,eAAe,CACb,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7D,OAAO,CAAC,IAAI,CAAC;CAOjB"}
|
|
@@ -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":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,4EAA4E;AAC5E,oBAAY,KAAK;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -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;
|
|
@@ -31,6 +33,8 @@ export declare class WidgetStore {
|
|
|
31
33
|
private photoAlbumsEnabled;
|
|
32
34
|
/** `boot({ youPrefix })` — "You:" before the visitor's own newest message in the lists. */
|
|
33
35
|
private youPrefixEnabled;
|
|
36
|
+
/** `boot({ throttleUpdateUser })` — skip unchanged `updateUser()` values and pace the rest. */
|
|
37
|
+
private throttleUpdateUserEnabled;
|
|
34
38
|
/** Posts whose view was reported this session (the server also dedupes per day). */
|
|
35
39
|
private viewedPostIds;
|
|
36
40
|
/** Bumped per post load, so an older answer never lands over a newer one. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget-store.d.ts","sourceRoot":"","sources":["../../../../src/state/widget-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAyC,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAG1G,OAAO,EAAE,YAAY,EAAqB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAazD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAEX,wBAAwB,EAExB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EAIT,sBAAsB,EAEtB,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACX,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"widget-store.d.ts","sourceRoot":"","sources":["../../../../src/state/widget-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -287,6 +287,18 @@ export interface BootOptions {
|
|
|
287
287
|
* @since 1.4.0
|
|
288
288
|
*/
|
|
289
289
|
youPrefix?: boolean;
|
|
290
|
+
/**
|
|
291
|
+
* Pace `updateUser()` so an app that calls it on a timer or on every
|
|
292
|
+
* location fix can't flood Workstation (default true). Values Workstation
|
|
293
|
+
* already has aren't sent again; up to 20 updates go out at once, then one
|
|
294
|
+
* every 90 seconds (20 per 30 minutes). Calls in between are merged, newest
|
|
295
|
+
* value per key, and sent on the next allowed update, so nothing is lost and
|
|
296
|
+
* `updateUser()` resolves right away for them. A rate-limit answer from
|
|
297
|
+
* Workstation is waited out and retried the same way. False sends every
|
|
298
|
+
* call straight away, as before 1.5.0.
|
|
299
|
+
* @since 1.5.0
|
|
300
|
+
*/
|
|
301
|
+
throttleUpdateUser?: boolean;
|
|
290
302
|
}
|
|
291
303
|
/** An option in the composer's attach menu. */
|
|
292
304
|
export type AttachmentSource = 'photo' | 'camera' | 'file';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IACnD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2BAA2B,EAAE,MAAM,CAAC;IACpC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,yBAAyB,EAAE,OAAO,CAAC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,MAAM,GAAG,aAAa,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,2BAA2B,EAAE,OAAO,CAAC;IACrC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAChD;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC5C,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,2FAA2F;AAC3F,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,6EAA6E;QAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;OAIG;IACH,WAAW,CAAC,EAAE,4BAA4B,CAAC;IAC3C;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;IACvE,mFAAmF;IACnF,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAOD,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,kBAAkB,GAClB,OAAO,GACP,QAAQ,GACR,UAAU,GACV,OAAO,GACP,cAAc,GACd,cAAc,GACd,MAAM,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EACA,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,gBAAgB,GAChB,6BAA6B,GAC7B,yBAAyB,GACzB,aAAa,GACb,cAAc,GACd,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAC5F;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;QAC9C,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,yBAAyB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1E,IAAI,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,KAAK,CAAC;YACX,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,aAAa,EAAE,CAAC;CAC9B,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;QACnD,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAID,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,OAAO,CAAC;AAIZ;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4DAA4D;IAC5D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,MAAM,GACN,wBAAwB,GACxB,8BAA8B,CAAC;AAEnC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,eAAe,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,0EAA0E;IAC1E,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,0EAA0E;IAC1E,cAAc,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C;;;;;OAKG;IACH,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,+HAA+H;AAC/H,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE5G,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACxC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,+FAA+F;IAC/F,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACrC,gDAAgD;IAChD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+CAA+C;IAC/C,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,0FAA0F;IAC1F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmFH,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgElE,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,eAAe,EACf,WAAW,EACX,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAgB,EAChB,cAAc,EACd,MAAM,EACN,WAAW,EACX,cAAc,EACd,MAAM,EACN,iBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,WAAkB,EAClB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,aAAa,+
|
|
1
|
+
{"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/chat/ChatView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmFH,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgElE,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,eAAe,EACf,WAAW,EACX,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAgB,EAChB,cAAc,EACd,MAAM,EACN,WAAW,EACX,cAAc,EACd,MAAM,EACN,iBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,WAAkB,EAClB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,aAAa,+BAyvBf"}
|
package/package.json
CHANGED
package/src/api/client.ts
CHANGED
|
@@ -41,26 +41,51 @@ export class RepzoWidgetError extends Error {
|
|
|
41
41
|
|
|
42
42
|
readonly code: RepzoWidgetErrorCode;
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Seconds Workstation asked to wait before trying again, on a 429
|
|
46
|
+
* (`Retry-After`). Undefined when it didn't say.
|
|
47
|
+
* @since 1.5.0
|
|
48
|
+
*/
|
|
49
|
+
readonly retryAfter?: number;
|
|
50
|
+
|
|
51
|
+
constructor(message: string, status: number, code: RepzoWidgetErrorCode = 'http', retryAfter?: number) {
|
|
45
52
|
super(message);
|
|
46
53
|
this.name = 'RepzoWidgetError';
|
|
47
54
|
this.status = status;
|
|
48
55
|
this.code = code;
|
|
56
|
+
if (retryAfter !== undefined) this.retryAfter = retryAfter;
|
|
49
57
|
}
|
|
50
58
|
|
|
51
59
|
/** Builds the error for a non-2xx `{ message, code }` body. */
|
|
52
|
-
static fromResponse(status: number, body: unknown): RepzoWidgetError {
|
|
60
|
+
static fromResponse(status: number, body: unknown, retryAfterHeader?: string | null): RepzoWidgetError {
|
|
53
61
|
const payload = (body && typeof body === 'object' ? body : {}) as {
|
|
54
62
|
message?: unknown;
|
|
55
63
|
code?: unknown;
|
|
64
|
+
retryAfter?: unknown;
|
|
56
65
|
};
|
|
57
66
|
const message = typeof payload.message === 'string' && payload.message ? payload.message : null;
|
|
58
67
|
const code =
|
|
59
68
|
status === 403 && typeof payload.code === 'string' && isTerminalErrorCode(payload.code)
|
|
60
69
|
? (payload.code as RepzoWidgetErrorCode)
|
|
61
70
|
: 'http';
|
|
62
|
-
|
|
71
|
+
const retryAfter = status === 429 ? parseRetryAfter(retryAfterHeader, payload.retryAfter) : undefined;
|
|
72
|
+
return new RepzoWidgetError(message || `HTTP ${status}`, status, code, retryAfter);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Seconds from a `Retry-After` header (seconds or an HTTP date), falling back
|
|
78
|
+
* to the `retryAfter` seconds Workstation also puts in the 429 body.
|
|
79
|
+
*/
|
|
80
|
+
function parseRetryAfter(header: string | null | undefined, bodyValue: unknown): number | undefined {
|
|
81
|
+
const value = header?.trim();
|
|
82
|
+
if (value) {
|
|
83
|
+
if (/^\d+(\.\d+)?$/.test(value)) return Number(value);
|
|
84
|
+
const at = Date.parse(value);
|
|
85
|
+
if (Number.isFinite(at)) return Math.max(0, (at - Date.now()) / 1000);
|
|
63
86
|
}
|
|
87
|
+
if (typeof bodyValue === 'number' && Number.isFinite(bodyValue) && bodyValue >= 0) return bodyValue;
|
|
88
|
+
return undefined;
|
|
64
89
|
}
|
|
65
90
|
|
|
66
91
|
/** A Send message part asked for on its own, which may share one request with others. */
|
|
@@ -242,7 +267,11 @@ export class WidgetApiClient {
|
|
|
242
267
|
|
|
243
268
|
if (!response.ok) {
|
|
244
269
|
const body = await response.json().catch(() => null);
|
|
245
|
-
const error = RepzoWidgetError.fromResponse(
|
|
270
|
+
const error = RepzoWidgetError.fromResponse(
|
|
271
|
+
response.status,
|
|
272
|
+
body,
|
|
273
|
+
response.headers?.get?.('Retry-After')
|
|
274
|
+
);
|
|
246
275
|
// skipReauth calls (init, logout-time) are handled by their caller,
|
|
247
276
|
// which knows whether the result is still current.
|
|
248
277
|
if (isTerminalErrorCode(error.code) && !options.skipReauth) this.onTerminalError?.(error);
|
package/src/index.tsx
CHANGED
|
@@ -91,6 +91,11 @@ export type RepzoWidgetType = {
|
|
|
91
91
|
/**
|
|
92
92
|
* Attach custom attributes to the visitor's identity so agents see them on
|
|
93
93
|
* the conversation (max 30 keys, 64-char keys, 512-char values).
|
|
94
|
+
*
|
|
95
|
+
* Since 1.5.0 calls are paced (see `BootOptions.throttleUpdateUser`):
|
|
96
|
+
* values Workstation already has are skipped, and once more than 20 updates
|
|
97
|
+
* go out in 30 minutes the rest are merged and sent later. Those calls
|
|
98
|
+
* resolve right away. A call sent straight away still rejects when it fails.
|
|
94
99
|
*/
|
|
95
100
|
updateUser(attributes: WidgetCustomAttributes): Promise<void>;
|
|
96
101
|
|
|
@@ -0,0 +1,178 @@
|
|
|
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
|
+
|
|
17
|
+
import { RepzoWidgetError } from '../api/client';
|
|
18
|
+
import type { WidgetCustomAttributes } from '../types';
|
|
19
|
+
|
|
20
|
+
export const USER_UPDATE_BURST = 20;
|
|
21
|
+
export const USER_UPDATE_WINDOW_MS = 30 * 60 * 1000;
|
|
22
|
+
/** Wait after a 429 without a usable `Retry-After`, or after a failed connection / 5xx. */
|
|
23
|
+
const DEFAULT_HOLD_MS = 60 * 1000;
|
|
24
|
+
|
|
25
|
+
type Attributes = WidgetCustomAttributes;
|
|
26
|
+
|
|
27
|
+
export interface UserUpdateQueueOptions {
|
|
28
|
+
burst?: number;
|
|
29
|
+
windowMs?: number;
|
|
30
|
+
now?: () => number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export class UserUpdateQueue {
|
|
34
|
+
private readonly burst: number;
|
|
35
|
+
private readonly refillMs: number;
|
|
36
|
+
private readonly now: () => number;
|
|
37
|
+
|
|
38
|
+
private tokens: number;
|
|
39
|
+
private refilledAt: number;
|
|
40
|
+
/** Values Workstation accepted for the current identity. */
|
|
41
|
+
private sent: Attributes = {};
|
|
42
|
+
/** Values waiting for the next allowed send. */
|
|
43
|
+
private pending: Attributes | null = null;
|
|
44
|
+
private inFlight = false;
|
|
45
|
+
private holdUntil = 0;
|
|
46
|
+
private timer: ReturnType<typeof setTimeout> | null = null;
|
|
47
|
+
/** Bumped by reset(): a send that settles after it writes nothing back. */
|
|
48
|
+
private generation = 0;
|
|
49
|
+
|
|
50
|
+
constructor(
|
|
51
|
+
private readonly send: (attributes: Attributes) => Promise<void>,
|
|
52
|
+
options: UserUpdateQueueOptions = {}
|
|
53
|
+
) {
|
|
54
|
+
this.burst = Math.max(1, options.burst ?? USER_UPDATE_BURST);
|
|
55
|
+
this.refillMs = (options.windowMs ?? USER_UPDATE_WINDOW_MS) / this.burst;
|
|
56
|
+
this.now = options.now ?? Date.now;
|
|
57
|
+
this.tokens = this.burst;
|
|
58
|
+
this.refilledAt = this.now();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Resolves once the values are sent, or straight away when nothing changed
|
|
63
|
+
* or they were held for a later send. Rejects only when a send made right
|
|
64
|
+
* now fails with something other than a 429, as `updateUser()` always has.
|
|
65
|
+
*/
|
|
66
|
+
update(attributes: Attributes): Promise<void> {
|
|
67
|
+
const changes: Attributes = {};
|
|
68
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
69
|
+
const known = this.pending && key in this.pending ? this.pending[key] : this.sent[key];
|
|
70
|
+
if (known !== value) changes[key] = value;
|
|
71
|
+
}
|
|
72
|
+
if (Object.keys(changes).length === 0) return Promise.resolve();
|
|
73
|
+
|
|
74
|
+
this.pending = { ...this.pending, ...changes };
|
|
75
|
+
if (this.inFlight || this.now() < this.holdUntil || !this.takeToken()) {
|
|
76
|
+
this.schedule();
|
|
77
|
+
return Promise.resolve();
|
|
78
|
+
}
|
|
79
|
+
return this.sendPending();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/** The visitor's identity changed (anonymous → signed in): Workstation may hold other values now. */
|
|
83
|
+
forgetSent(): void {
|
|
84
|
+
this.sent = {};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** Sign-out or a different user: drop everything waiting so it can't reach the next visitor. */
|
|
88
|
+
reset(): void {
|
|
89
|
+
this.generation += 1;
|
|
90
|
+
this.clearTimer();
|
|
91
|
+
this.sent = {};
|
|
92
|
+
this.pending = null;
|
|
93
|
+
this.inFlight = false;
|
|
94
|
+
this.holdUntil = 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
destroy(): void {
|
|
98
|
+
this.reset();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** The send budget is per device, not per visitor, so reset() leaves it alone. */
|
|
102
|
+
private takeToken(): boolean {
|
|
103
|
+
this.refill();
|
|
104
|
+
if (this.tokens < 1) return false;
|
|
105
|
+
this.tokens -= 1;
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
private refill(): void {
|
|
110
|
+
const now = this.now();
|
|
111
|
+
if (this.tokens >= this.burst) {
|
|
112
|
+
this.refilledAt = now;
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const earned = Math.floor((now - this.refilledAt) / this.refillMs);
|
|
116
|
+
if (earned <= 0) return;
|
|
117
|
+
this.tokens = Math.min(this.burst, this.tokens + earned);
|
|
118
|
+
this.refilledAt = this.tokens === this.burst ? now : this.refilledAt + earned * this.refillMs;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
private async sendPending(): Promise<void> {
|
|
122
|
+
const attributes = this.pending ?? {};
|
|
123
|
+
const generation = this.generation;
|
|
124
|
+
this.pending = null;
|
|
125
|
+
this.inFlight = true;
|
|
126
|
+
try {
|
|
127
|
+
await this.send(attributes);
|
|
128
|
+
if (generation !== this.generation) return;
|
|
129
|
+
this.sent = { ...this.sent, ...attributes };
|
|
130
|
+
} catch (error) {
|
|
131
|
+
if (generation !== this.generation) throw error;
|
|
132
|
+
const status = error instanceof RepzoWidgetError ? error.status : 0;
|
|
133
|
+
const retryable = status === 429 || status === 0 || status >= 500;
|
|
134
|
+
if (retryable) {
|
|
135
|
+
// Newer values that arrived meanwhile win over the ones that failed.
|
|
136
|
+
this.pending = { ...attributes, ...(this.pending ?? {}) };
|
|
137
|
+
const retryAfter = error instanceof RepzoWidgetError ? error.retryAfter : undefined;
|
|
138
|
+
const holdMs = status === 429 && retryAfter && retryAfter > 0 ? retryAfter * 1000 : DEFAULT_HOLD_MS;
|
|
139
|
+
this.holdUntil = Math.max(this.holdUntil, this.now() + holdMs);
|
|
140
|
+
}
|
|
141
|
+
// Rate limited: the values are kept and go out later, so the call succeeded.
|
|
142
|
+
if (status !== 429) throw error;
|
|
143
|
+
} finally {
|
|
144
|
+
if (generation === this.generation) {
|
|
145
|
+
this.inFlight = false;
|
|
146
|
+
if (this.pending) this.schedule();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
private schedule(): void {
|
|
152
|
+
if (this.timer || this.inFlight || !this.pending) return;
|
|
153
|
+
this.refill();
|
|
154
|
+
const now = this.now();
|
|
155
|
+
const tokenAt = this.tokens >= 1 ? now : this.refilledAt + this.refillMs;
|
|
156
|
+
const delay = Math.max(0, this.holdUntil - now, tokenAt - now);
|
|
157
|
+
this.timer = setTimeout(() => {
|
|
158
|
+
this.timer = null;
|
|
159
|
+
this.flush();
|
|
160
|
+
}, delay);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
private flush(): void {
|
|
164
|
+
if (this.inFlight || !this.pending) return;
|
|
165
|
+
if (this.now() < this.holdUntil || !this.takeToken()) {
|
|
166
|
+
this.schedule();
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
this.sendPending().catch((error) => {
|
|
170
|
+
console.warn('[repzo-widget] updateUser failed', error);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
private clearTimer(): void {
|
|
175
|
+
if (this.timer) clearTimeout(this.timer);
|
|
176
|
+
this.timer = null;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -50,9 +50,10 @@ import { clearRetainedState } from '../ui/hooks/use-retained-state';
|
|
|
50
50
|
import { canRetryMessage, isLocalMessage } from '../ui/utils/conversations';
|
|
51
51
|
import { stripHtml } from '../ui/utils/html';
|
|
52
52
|
import { setOpenUrlHandler } from '../ui/utils/safe-url';
|
|
53
|
+
import { UserUpdateQueue } from './user-update-queue';
|
|
53
54
|
|
|
54
55
|
/** Sent on every init; must match `package.json` (tests/version.test.js checks). */
|
|
55
|
-
const SDK_VERSION = '@repzo/widget-react-native@1.
|
|
56
|
+
const SDK_VERSION = '@repzo/widget-react-native@1.5.0';
|
|
56
57
|
|
|
57
58
|
/** The platform this session reports — mobile sessions get the Mobile SDKs overrides. */
|
|
58
59
|
function sessionPlatform(): 'ios' | 'android' | 'web' {
|
|
@@ -161,6 +162,11 @@ const USER_SCOPED_STATE: Partial<WidgetState> = {
|
|
|
161
162
|
export class WidgetStore {
|
|
162
163
|
readonly client = new WidgetApiClient();
|
|
163
164
|
|
|
165
|
+
/** Paces `updateUser()` — see `boot({ throttleUpdateUser })`. */
|
|
166
|
+
private readonly userUpdates = new UserUpdateQueue((customAttributes) =>
|
|
167
|
+
this.client.identify({ customAttributes })
|
|
168
|
+
);
|
|
169
|
+
|
|
164
170
|
readonly events = new EventEmitter();
|
|
165
171
|
|
|
166
172
|
readonly push = new PushManager(
|
|
@@ -195,6 +201,8 @@ export class WidgetStore {
|
|
|
195
201
|
private photoAlbumsEnabled = true;
|
|
196
202
|
/** `boot({ youPrefix })` — "You:" before the visitor's own newest message in the lists. */
|
|
197
203
|
private youPrefixEnabled = true;
|
|
204
|
+
/** `boot({ throttleUpdateUser })` — skip unchanged `updateUser()` values and pace the rest. */
|
|
205
|
+
private throttleUpdateUserEnabled = true;
|
|
198
206
|
|
|
199
207
|
/** Posts whose view was reported this session (the server also dedupes per day). */
|
|
200
208
|
private viewedPostIds = new Set<string>();
|
|
@@ -426,6 +434,9 @@ export class WidgetStore {
|
|
|
426
434
|
}
|
|
427
435
|
if (options.photoAlbums !== undefined) this.photoAlbumsEnabled = options.photoAlbums !== false;
|
|
428
436
|
if (options.youPrefix !== undefined) this.youPrefixEnabled = options.youPrefix !== false;
|
|
437
|
+
if (options.throttleUpdateUser !== undefined) {
|
|
438
|
+
this.throttleUpdateUserEnabled = options.throttleUpdateUser !== false;
|
|
439
|
+
}
|
|
429
440
|
if (options.posts !== undefined) {
|
|
430
441
|
const wasEnabled = this.postsEnabled;
|
|
431
442
|
this.postsEnabled = options.posts !== false;
|
|
@@ -609,6 +620,10 @@ export class WidgetStore {
|
|
|
609
620
|
if (onScreenId && this.isThreadOnScreen(onScreenId)) delete unreadByConversation[onScreenId];
|
|
610
621
|
this.persistUnread(unreadByConversation);
|
|
611
622
|
|
|
623
|
+
// A new identity (anonymous → signed in) may hold other attributes, so
|
|
624
|
+
// nothing is skipped as "already sent" for it.
|
|
625
|
+
if (result.identityId !== this.state.identityId) this.userUpdates.forgetSent();
|
|
626
|
+
|
|
612
627
|
this.setState((current) => ({
|
|
613
628
|
booted: true,
|
|
614
629
|
loading: false,
|
|
@@ -832,7 +847,11 @@ export class WidgetStore {
|
|
|
832
847
|
const customAttributes = sanitizeAttributes(attributes);
|
|
833
848
|
if (Object.keys(customAttributes).length === 0) return;
|
|
834
849
|
|
|
835
|
-
|
|
850
|
+
if (!this.throttleUpdateUserEnabled) {
|
|
851
|
+
await this.client.identify({ customAttributes });
|
|
852
|
+
return;
|
|
853
|
+
}
|
|
854
|
+
await this.userUpdates.update(customAttributes);
|
|
836
855
|
}
|
|
837
856
|
|
|
838
857
|
/**
|
|
@@ -844,6 +863,7 @@ export class WidgetStore {
|
|
|
844
863
|
this.loggedOut = true;
|
|
845
864
|
this.currentUser = null;
|
|
846
865
|
this.pendingConversationId = null;
|
|
866
|
+
this.userUpdates.reset();
|
|
847
867
|
this.realtime.close();
|
|
848
868
|
this.clearTypingTimer();
|
|
849
869
|
this.resetThreadTracking();
|
|
@@ -875,6 +895,8 @@ export class WidgetStore {
|
|
|
875
895
|
|
|
876
896
|
private async wipeSessionUnguarded(): Promise<void> {
|
|
877
897
|
this.realtime.close();
|
|
898
|
+
// Attributes waiting for the old visitor must never reach the next one.
|
|
899
|
+
this.userUpdates.reset();
|
|
878
900
|
this.clearTypingTimer();
|
|
879
901
|
this.resetThreadTracking();
|
|
880
902
|
this.appStateSubscription?.remove();
|
|
@@ -2730,6 +2752,7 @@ export class WidgetStore {
|
|
|
2730
2752
|
// ─── Teardown (tests / hot reload) ──────────────────────────────────────
|
|
2731
2753
|
|
|
2732
2754
|
destroy(): void {
|
|
2755
|
+
this.userUpdates.destroy();
|
|
2733
2756
|
this.clearPostRecheck();
|
|
2734
2757
|
this.clearPostThanks();
|
|
2735
2758
|
this.realtime.close();
|