@scalebun/web 1.2.3 → 1.3.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/dist/bootstrap/SDKBootstrapper.d.ts.map +1 -1
- package/dist/bootstrap/SDKBootstrapper.js +37 -1
- package/dist/bootstrap/SDKBootstrapper.js.map +1 -1
- package/dist/browser.d.ts +2 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +6 -3
- package/dist/browser.js.map +1 -1
- package/dist/config/schema.d.ts +3 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +25 -6
- package/dist/config/schema.js.map +1 -1
- package/dist/core/pageContext.js +17 -1
- package/dist/core/pageContext.js.map +1 -1
- package/dist/core/prune.d.ts +28 -4
- package/dist/core/prune.d.ts.map +1 -1
- package/dist/core/prune.js +92 -11
- package/dist/core/prune.js.map +1 -1
- package/dist/features/bugreport/BugReportFeature.d.ts +3 -2
- package/dist/features/bugreport/BugReportFeature.d.ts.map +1 -1
- package/dist/features/bugreport/BugReportFeature.js +2 -1
- package/dist/features/bugreport/BugReportFeature.js.map +1 -1
- package/dist/features/bugreport/collect.d.ts +13 -1
- package/dist/features/bugreport/collect.d.ts.map +1 -1
- package/dist/features/bugreport/collect.js +4 -1
- package/dist/features/bugreport/collect.js.map +1 -1
- package/dist/features/bugreport/widget.d.ts +21 -2
- package/dist/features/bugreport/widget.d.ts.map +1 -1
- package/dist/features/bugreport/widget.js +37 -4
- package/dist/features/bugreport/widget.js.map +1 -1
- package/dist/features/coach/overlay.d.ts.map +1 -1
- package/dist/features/coach/overlay.js +26 -5
- package/dist/features/coach/overlay.js.map +1 -1
- package/dist/features/engage/EngageFeature.d.ts +7 -1
- package/dist/features/engage/EngageFeature.d.ts.map +1 -1
- package/dist/features/engage/EngageFeature.js +32 -10
- package/dist/features/engage/EngageFeature.js.map +1 -1
- package/dist/features/engage/normalize.d.ts.map +1 -1
- package/dist/features/engage/normalize.js +7 -0
- package/dist/features/engage/normalize.js.map +1 -1
- package/dist/features/engage/runtime.d.ts +11 -0
- package/dist/features/engage/runtime.d.ts.map +1 -1
- package/dist/features/engage/runtime.js +25 -10
- package/dist/features/engage/runtime.js.map +1 -1
- package/dist/features/engage/throttle.d.ts +16 -6
- package/dist/features/engage/throttle.d.ts.map +1 -1
- package/dist/features/engage/throttle.js +96 -6
- package/dist/features/engage/throttle.js.map +1 -1
- package/dist/features/engage/types.d.ts +6 -0
- package/dist/features/engage/types.d.ts.map +1 -1
- package/dist/features/engage/types.js.map +1 -1
- package/dist/features/inapp/InApp2Feature.d.ts.map +1 -1
- package/dist/features/inapp/InApp2Feature.js +1 -0
- package/dist/features/inapp/InApp2Feature.js.map +1 -1
- package/dist/features/inapp/blocks/heavy/steps.d.ts.map +1 -1
- package/dist/features/inapp/blocks/heavy/steps.js +9 -1
- package/dist/features/inapp/blocks/heavy/steps.js.map +1 -1
- package/dist/features/inapp/blocks/styles.d.ts +1 -1
- package/dist/features/inapp/blocks/styles.d.ts.map +1 -1
- package/dist/features/inapp/blocks/styles.js +30 -3
- package/dist/features/inapp/blocks/styles.js.map +1 -1
- package/dist/features/inapp/center/panel.d.ts +1 -1
- package/dist/features/inapp/center/panel.d.ts.map +1 -1
- package/dist/features/inapp/center/panel.js +40 -6
- package/dist/features/inapp/center/panel.js.map +1 -1
- package/dist/features/inapp/core/engine.d.ts +2 -0
- package/dist/features/inapp/core/engine.d.ts.map +1 -1
- package/dist/features/inapp/core/engine.js +1 -1
- package/dist/features/inapp/core/engine.js.map +1 -1
- package/dist/features/inapp/core/host.d.ts.map +1 -1
- package/dist/features/inapp/core/host.js +5 -1
- package/dist/features/inapp/core/host.js.map +1 -1
- package/dist/features/inapp/core/targeting.d.ts +29 -2
- package/dist/features/inapp/core/targeting.d.ts.map +1 -1
- package/dist/features/inapp/core/targeting.js +78 -4
- package/dist/features/inapp/core/targeting.js.map +1 -1
- package/dist/features/inapp/inappContract.web.d.ts.map +1 -1
- package/dist/features/inapp/inappContract.web.js +12 -1
- package/dist/features/inapp/inappContract.web.js.map +1 -1
- package/dist/features/inapp/surfaces/coachmark.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/coachmark.js +5 -2
- package/dist/features/inapp/surfaces/coachmark.js.map +1 -1
- package/dist/features/inapp/surfaces/hotspot.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/hotspot.js +5 -2
- package/dist/features/inapp/surfaces/hotspot.js.map +1 -1
- package/dist/features/inapp/surfaces/inline.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/inline.js +7 -1
- package/dist/features/inapp/surfaces/inline.js.map +1 -1
- package/dist/features/inapp/surfaces/popover.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/popover.js +5 -2
- package/dist/features/inapp/surfaces/popover.js.map +1 -1
- package/dist/features/inapp/surfaces/styles.d.ts +1 -1
- package/dist/features/inapp/surfaces/styles.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/styles.js +60 -11
- package/dist/features/inapp/surfaces/styles.js.map +1 -1
- package/dist/features/inapp/surfaces/toolbar.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/toolbar.js +5 -2
- package/dist/features/inapp/surfaces/toolbar.js.map +1 -1
- package/dist/features/inapp/surfaces/tour.d.ts.map +1 -1
- package/dist/features/inapp/surfaces/tour.js +5 -2
- package/dist/features/inapp/surfaces/tour.js.map +1 -1
- package/dist/features/inapp/types.d.ts +2 -0
- package/dist/features/inapp/types.d.ts.map +1 -1
- package/dist/features/journey/InteractionTracker.d.ts.map +1 -1
- package/dist/features/journey/InteractionTracker.js +145 -0
- package/dist/features/journey/InteractionTracker.js.map +1 -1
- package/dist/features/journey/positionContext.d.ts +34 -0
- package/dist/features/journey/positionContext.d.ts.map +1 -0
- package/dist/features/journey/positionContext.js +43 -0
- package/dist/features/journey/positionContext.js.map +1 -0
- package/dist/features/manifest.d.ts +21 -0
- package/dist/features/manifest.d.ts.map +1 -1
- package/dist/features/manifest.js +27 -10
- package/dist/features/manifest.js.map +1 -1
- package/dist/features/replay/ReplayFeature.d.ts +20 -0
- package/dist/features/replay/ReplayFeature.d.ts.map +1 -1
- package/dist/features/replay/ReplayFeature.js +155 -5
- package/dist/features/replay/ReplayFeature.js.map +1 -1
- package/dist/features/replay/lifecycle/recorder.d.ts +21 -1
- package/dist/features/replay/lifecycle/recorder.d.ts.map +1 -1
- package/dist/features/replay/lifecycle/recorder.js +20 -4
- package/dist/features/replay/lifecycle/recorder.js.map +1 -1
- package/dist/features/scroll/index.d.ts +2 -0
- package/dist/features/scroll/index.d.ts.map +1 -1
- package/dist/features/scroll/index.js +6 -2
- package/dist/features/scroll/index.js.map +1 -1
- package/dist/features/session/sessionStore.d.ts +17 -1
- package/dist/features/session/sessionStore.d.ts.map +1 -1
- package/dist/features/session/sessionStore.js +17 -1
- package/dist/features/session/sessionStore.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +82 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +307 -14
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/public/ScaleBunFacade.d.ts +31 -0
- package/dist/public/ScaleBunFacade.d.ts.map +1 -1
- package/dist/public/ScaleBunFacade.js +52 -10
- package/dist/public/ScaleBunFacade.js.map +1 -1
- package/dist/scalebun.min.js +147 -65
- package/dist/scalebun.min.js.map +4 -4
- package/dist/transport/httpClient.d.ts +56 -2
- package/dist/transport/httpClient.d.ts.map +1 -1
- package/dist/transport/httpClient.js +81 -5
- package/dist/transport/httpClient.js.map +1 -1
- package/package.json +10 -4
|
@@ -5,14 +5,33 @@
|
|
|
5
5
|
* Styles are inline + prefixed to avoid clashing with the host page. Never throws into the host.
|
|
6
6
|
*/
|
|
7
7
|
export type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
8
|
+
/**
|
|
9
|
+
* Why a submit produced no report id. The submit path has SIX independent ways to fail and they need
|
|
10
|
+
* different things from the reader — "try again" is sound advice for exactly one of them and actively
|
|
11
|
+
* wrong for the rest (retrying a consent block or a disabled feature can never succeed).
|
|
12
|
+
*
|
|
13
|
+
* Codes rather than sentences cross the boundary on purpose: the prose lives here, in the lazily
|
|
14
|
+
* loaded chunk, instead of in the facade where every byte is measured by `size:check`.
|
|
15
|
+
*/
|
|
16
|
+
export type SubmitFailure = 'init' | 'off' | 'empty' | 'consent' | 'send';
|
|
17
|
+
/**
|
|
18
|
+
* A submit result: the report id, or `{ e }` naming the branch that failed.
|
|
19
|
+
*
|
|
20
|
+
* The failure shape carries no `id` field on purpose — six `{ id: null, reason }` literals in the
|
|
21
|
+
* facade cost enough gzipped bytes to break the core-bundle gate outright. `string | null` is still
|
|
22
|
+
* accepted because it predates the reason codes and hosts may still pass it.
|
|
23
|
+
*/
|
|
24
|
+
export type SubmitResult = string | null | {
|
|
25
|
+
e: SubmitFailure;
|
|
26
|
+
};
|
|
8
27
|
export interface WidgetOptions {
|
|
9
28
|
position: WidgetPosition;
|
|
10
29
|
label: string;
|
|
11
|
-
/** Returns the created report id
|
|
30
|
+
/** Returns the created report id, or why there isn't one. */
|
|
12
31
|
onSubmit: (input: {
|
|
13
32
|
message: string;
|
|
14
33
|
email?: string;
|
|
15
|
-
}) => Promise<
|
|
34
|
+
}) => Promise<SubmitResult>;
|
|
16
35
|
}
|
|
17
36
|
export interface WidgetHandle {
|
|
18
37
|
destroy: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/features/bugreport/widget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/features/bugreport/widget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG;IAAE,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACjF;AAUD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA6CD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CA4FvE"}
|
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
* Styles are inline + prefixed to avoid clashing with the host page. Never throws into the host.
|
|
6
6
|
*/
|
|
7
7
|
import { injectStyle } from '../../core/index.js';
|
|
8
|
+
const FAILURE_TEXT = {
|
|
9
|
+
init: 'Reporting isn’t ready yet. Reload the page and try again.',
|
|
10
|
+
off: 'Bug reporting is turned off for this site.',
|
|
11
|
+
empty: 'Please describe the bug.',
|
|
12
|
+
consent: 'Reporting is paused until you accept the privacy notice on this page.',
|
|
13
|
+
send: 'Couldn’t reach the server. Check your connection and try again.',
|
|
14
|
+
};
|
|
8
15
|
const Z = 2147483000; // above almost everything, below the absolute max
|
|
9
16
|
function corner(pos) {
|
|
10
17
|
const v = pos.startsWith('top') ? 'top: 16px;' : 'bottom: 16px;';
|
|
@@ -16,7 +23,12 @@ function corner(pos) {
|
|
|
16
23
|
function widgetCss(pos) {
|
|
17
24
|
return (`[data-scalebun-bugreport]{position:fixed;${corner(pos)}z-index:${Z};font-family:system-ui,sans-serif}` +
|
|
18
25
|
`[data-scalebun-bugreport] .sbbr-launch{cursor:pointer;border:none;border-radius:9999px;padding:10px 16px;font-size:13px;font-weight:600;color:#fff;background:#ef4444;box-shadow:0 2px 8px rgba(0,0,0,.2)}` +
|
|
19
|
-
|
|
26
|
+
// The launcher and the panel are SIBLINGS in one fixed box, so opening the panel used to leave
|
|
27
|
+
// the red pill sitting above it at z-index 2147483000 — floating over the page next to its own
|
|
28
|
+
// form. Nothing referenced .sbbr-launch on open at all. The panel replaces the launcher now.
|
|
29
|
+
`[data-scalebun-bugreport].sbbr-expanded .sbbr-launch{display:none}` +
|
|
30
|
+
// Width is min() rather than a flat 300px: on a 340px phone a fixed 300 leaves 4px of margin.
|
|
31
|
+
`[data-scalebun-bugreport] .sbbr-panel{display:none;width:min(300px,calc(100vw - 32px));background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:12px;padding:14px;box-shadow:0 8px 30px rgba(0,0,0,.18);margin-top:8px}` +
|
|
20
32
|
`[data-scalebun-bugreport] .sbbr-panel.sbbr-open{display:block}` +
|
|
21
33
|
`[data-scalebun-bugreport] .sbbr-title{font-size:14px;font-weight:700;margin-bottom:8px}` +
|
|
22
34
|
`[data-scalebun-bugreport] .sbbr-field{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:8px;border:1px solid #e5e7eb;border-radius:8px}` +
|
|
@@ -26,7 +38,17 @@ function widgetCss(pos) {
|
|
|
26
38
|
`[data-scalebun-bugreport] .sbbr-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}` +
|
|
27
39
|
`[data-scalebun-bugreport] .sbbr-btn{cursor:pointer;font:inherit;font-size:13px;padding:6px 12px;border-radius:8px}` +
|
|
28
40
|
`[data-scalebun-bugreport] .sbbr-cancel{border:1px solid #e5e7eb;background:#fff}` +
|
|
29
|
-
`[data-scalebun-bugreport] .sbbr-send{font-weight:600;border:none;background:#ef4444;color:#fff}`
|
|
41
|
+
`[data-scalebun-bugreport] .sbbr-send{font-weight:600;border:none;background:#ef4444;color:#fff}` +
|
|
42
|
+
// The palette was light-only and hardcoded, so on a dark host the panel either glared white or
|
|
43
|
+
// was left to the browser's forced-dark heuristic to invert — an appearance nobody designed.
|
|
44
|
+
// Declaring the dark half means the widget decides how it looks on a dark page.
|
|
45
|
+
`@media(prefers-color-scheme:dark){` +
|
|
46
|
+
`[data-scalebun-bugreport] .sbbr-panel{background:#17161c;color:#ececf1;border-color:#2e2c36;box-shadow:0 8px 30px rgba(0,0,0,.5)}` +
|
|
47
|
+
`[data-scalebun-bugreport] .sbbr-field{background:#111016;color:#ececf1;border-color:#2e2c36}` +
|
|
48
|
+
`[data-scalebun-bugreport] .sbbr-field::placeholder{color:#8b8796}` +
|
|
49
|
+
`[data-scalebun-bugreport] .sbbr-status{color:#a5a1b0}` +
|
|
50
|
+
`[data-scalebun-bugreport] .sbbr-cancel{background:#221f2b;color:#ececf1;border-color:#2e2c36}` +
|
|
51
|
+
`}`);
|
|
30
52
|
}
|
|
31
53
|
export function createBugReportWidget(opts) {
|
|
32
54
|
if (typeof document === 'undefined')
|
|
@@ -61,6 +83,7 @@ export function createBugReportWidget(opts) {
|
|
|
61
83
|
const setOpen = (v) => {
|
|
62
84
|
open = v;
|
|
63
85
|
panel.classList.toggle('sbbr-open', v);
|
|
86
|
+
root.classList.toggle('sbbr-expanded', v); // hides the launcher — see widgetCss
|
|
64
87
|
if (v)
|
|
65
88
|
msg.focus();
|
|
66
89
|
};
|
|
@@ -75,11 +98,19 @@ export function createBugReportWidget(opts) {
|
|
|
75
98
|
sendBtn.disabled = true;
|
|
76
99
|
status.textContent = 'Sending…';
|
|
77
100
|
let id = null;
|
|
101
|
+
let reason;
|
|
78
102
|
try {
|
|
79
|
-
|
|
103
|
+
const r = await opts.onSubmit({ message, email: email.value.trim() || undefined });
|
|
104
|
+
if (r && typeof r === 'object')
|
|
105
|
+
reason = r.e;
|
|
106
|
+
else
|
|
107
|
+
id = r ?? null;
|
|
80
108
|
}
|
|
81
109
|
catch {
|
|
110
|
+
// A THROWN submit is a delivery failure, not an unknown one. Reporting it as "try again" is
|
|
111
|
+
// right here and wrong for the other branches, which is the whole reason reason codes exist.
|
|
82
112
|
id = null;
|
|
113
|
+
reason = 'send';
|
|
83
114
|
}
|
|
84
115
|
sendBtn.disabled = false;
|
|
85
116
|
if (id) {
|
|
@@ -93,7 +124,9 @@ export function createBugReportWidget(opts) {
|
|
|
93
124
|
}, 1500);
|
|
94
125
|
}
|
|
95
126
|
else {
|
|
96
|
-
|
|
127
|
+
// Never the old blanket "Could not send the report. Please try again." — five of the six ways
|
|
128
|
+
// this fails cannot be fixed by trying again, so that sentence sent the reader in a loop.
|
|
129
|
+
status.textContent = reason ? FAILURE_TEXT[reason] : FAILURE_TEXT.send;
|
|
97
130
|
}
|
|
98
131
|
};
|
|
99
132
|
launcher.addEventListener('click', onLauncher);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/features/bugreport/widget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/features/bugreport/widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/features/coach/overlay.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/features/coach/overlay.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,SAAS,CAAC;AAoDnD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,QAAQ,CAA+B;IAE/C,OAAO,CAAC,MAAM;IAYd,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAuDhC,yEAAyE;IACzE,OAAO,CAAC,QAAQ;IA4BhB,IAAI,IAAI,IAAI;CAMb"}
|
|
@@ -14,20 +14,41 @@ function rectOf(el) {
|
|
|
14
14
|
function viewport() {
|
|
15
15
|
return { x: 0, y: 0, width: window.innerWidth || 1024, height: window.innerHeight || 768 };
|
|
16
16
|
}
|
|
17
|
+
/*
|
|
18
|
+
* Three layout rules below are load-bearing; each fixed a defect visible on a phone but not a desktop.
|
|
19
|
+
* They are documented HERE rather than inside the template literal because anything inside STYLE is
|
|
20
|
+
* shipped bytes, and the core bundle is gated to the byte by `npm run size:check`.
|
|
21
|
+
*
|
|
22
|
+
* `.card` — WIDTH IS EXPLICIT, not `max-width`. A `position:fixed` box with `left:50%` and no width
|
|
23
|
+
* shrink-wraps into the space from the 50% mark to the RIGHT EDGE, i.e. half the viewport. The
|
|
24
|
+
* `transform` then re-centres it visually, but the width was already computed against that half. On a
|
|
25
|
+
* 393px phone the "320px" card rendered ~196px wide, which is what made the tour card look cramped and
|
|
26
|
+
* wrapped its body onto three lines. `min(320px, 100vw - 32px)` also keeps the card off the screen
|
|
27
|
+
* edges below 352px, which `max-width` alone never did. Desktop is unchanged: 320px still wins.
|
|
28
|
+
*
|
|
29
|
+
* `.t` — RESERVES the space the absolutely-positioned `.x` sits in. `.x` is out of flow, so without
|
|
30
|
+
* this the heading runs underneath it and the × lands on the last word of the title. Same approach as
|
|
31
|
+
* `.scalebun-toolbar-callout` in inapp/surfaces/styles.ts, which reserves its right padding this way.
|
|
32
|
+
*
|
|
33
|
+
* `.ft` / `.count` / `.btns` — flex items shrink below their content width by default. Once the footer
|
|
34
|
+
* overflowed, `5 of 5` collapsed into a one-character column reading `5 / of / 5` and `Skip` clipped.
|
|
35
|
+
* `flex:none` stops the shrink and `flex-wrap` lets a genuinely-too-wide row wrap intact instead of
|
|
36
|
+
* being destroyed. The width fix above removes the usual cause; these keep the failure graceful.
|
|
37
|
+
*/
|
|
17
38
|
const STYLE = `
|
|
18
39
|
:host{all:initial}
|
|
19
40
|
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
|
|
20
41
|
.spot{position:fixed;border-radius:8px;box-shadow:0 0 0 9999px rgba(12,10,20,.55);z-index:2147483600;pointer-events:none;transition:all .2s ease}
|
|
21
42
|
.backdrop{position:fixed;inset:0;background:rgba(12,10,20,.55);z-index:2147483600}
|
|
22
|
-
.card{position:fixed;z-index:2147483602;
|
|
43
|
+
.card{position:fixed;z-index:2147483602;width:min(320px,calc(100vw - 32px));background:#1b1922;color:#edeaf2;border-radius:12px;
|
|
23
44
|
padding:16px 18px;box-shadow:0 12px 40px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08)}
|
|
24
45
|
.card.modal{top:50%;left:50%;transform:translate(-50%,-50%)}
|
|
25
46
|
.arrow{position:absolute;width:12px;height:12px;background:inherit;border:inherit;transform:rotate(45deg)}
|
|
26
|
-
.t{font-size:15px;font-weight:700;margin:0 0 6px}
|
|
47
|
+
.t{font-size:15px;font-weight:700;margin:0 0 6px;padding-right:20px}
|
|
27
48
|
.b{font-size:13px;line-height:1.5;color:#c8c3d4;margin:0 0 14px}
|
|
28
|
-
.ft{display:flex;align-items:center;justify-content:space-between;gap:10px}
|
|
29
|
-
.count{font-size:11px;color:#9a95a6;font-variant-numeric:tabular-nums}
|
|
30
|
-
.btns{display:flex;gap:8px}
|
|
49
|
+
.ft{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
|
|
50
|
+
.count{font-size:11px;color:#9a95a6;font-variant-numeric:tabular-nums;flex:none;white-space:nowrap}
|
|
51
|
+
.btns{display:flex;gap:8px;flex:none}
|
|
31
52
|
button{font:inherit;cursor:pointer;border-radius:8px;border:none}
|
|
32
53
|
.skip{background:none;color:#9a95a6;font-size:12px;padding:6px 8px}
|
|
33
54
|
.back{background:#262131;color:#edeaf2;font-size:12px;font-weight:600;padding:7px 12px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../src/features/coach/overlay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../src/features/coach/overlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,13 @@ export declare class EngageFeature implements IFeature {
|
|
|
54
54
|
/** Replay the cold-start buffer into the armed runtime, honouring each entry's remaining delay. */
|
|
55
55
|
private drain;
|
|
56
56
|
private closeBuffer;
|
|
57
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Running session number, persisted across launches; bumped exactly once per new session.
|
|
59
|
+
*
|
|
60
|
+
* Also reports WHETHER this load opened a new session, which is what gates the lifecycle triggers
|
|
61
|
+
* above — a reload of an existing session is not a session start. An empty session id means the
|
|
62
|
+
* caller can't tell us (test mocks), so it reports new rather than suppressing.
|
|
63
|
+
*/
|
|
58
64
|
private bumpSessionCount;
|
|
59
65
|
teardown(): void;
|
|
60
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngageFeature.d.ts","sourceRoot":"","sources":["../../../src/features/engage/EngageFeature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA6BrD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAQ;IAE1B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"EngageFeature.d.ts","sourceRoot":"","sources":["../../../src/features/engage/EngageFeature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA6BrD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAQ;IAE1B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD/C;;sFAEkF;IAC5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB9B;8FAC0F;YAC5E,aAAa;IAoB3B,8FAA8F;IACxF,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;IAIpG,2EAA2E;IAC3E,eAAe,CAAC,IAAI,EAAE,OAAO,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAG1G,kGAAkG;IAC5F,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;;OAMG;IACH,UAAU,IAAI,IAAI;IAIlB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAGjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAG9B,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAItD,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,QAAQ;IAShB,mGAAmG;IACnG,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,WAAW;IAKnB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAgBxB,QAAQ,IAAI,IAAI;CAUjB"}
|
|
@@ -53,11 +53,26 @@ export class EngageFeature {
|
|
|
53
53
|
this.unsub = ctx.onSignal((r) => this.onSignal(r));
|
|
54
54
|
this.onPop = () => this.onScreenView(currentPath());
|
|
55
55
|
window.addEventListener('popstate', this.onPop);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Session-lifecycle triggers — fired now, buffered until the runtime arms in refresh().
|
|
58
|
+
*
|
|
59
|
+
* ONLY on a genuinely new session. `setup()` runs on every document load, and this used to fire
|
|
60
|
+
* all three unconditionally — but a web session survives a reload (sessionStorage + 30-min idle),
|
|
61
|
+
* so every F5 counted as another `session_start`/`app_open` and re-triggered every campaign
|
|
62
|
+
* bound to them. On mobile those triggers mean "the app launched", which happens once per
|
|
63
|
+
* process; the web equivalent of a launch is a new SESSION, not a new document. `n_sessions` was
|
|
64
|
+
* doubly wrong: it re-fired with the SAME count, so an "on the 3rd session" campaign fired on
|
|
65
|
+
* every refresh for the whole of session 3.
|
|
66
|
+
*
|
|
67
|
+
* A missing session id (terse test mocks; the bootstrap always sets one at runtime) is treated
|
|
68
|
+
* as new — an absent identity must never silently suppress campaigns.
|
|
69
|
+
*/
|
|
70
|
+
const { count, isNewSession } = this.bumpSessionCount();
|
|
71
|
+
if (isNewSession) {
|
|
72
|
+
this.onLifecycle('session_start');
|
|
73
|
+
this.onLifecycle('app_open');
|
|
74
|
+
this.onLifecycle('n_sessions', count);
|
|
75
|
+
}
|
|
61
76
|
await this.refresh();
|
|
62
77
|
}
|
|
63
78
|
/** Fetch engage config; lazy-load + (re)arm the runtime when campaigns are present, then drain the
|
|
@@ -190,20 +205,27 @@ export class EngageFeature {
|
|
|
190
205
|
this.bufferOpen = false;
|
|
191
206
|
this.buffer = [];
|
|
192
207
|
}
|
|
193
|
-
/**
|
|
208
|
+
/**
|
|
209
|
+
* Running session number, persisted across launches; bumped exactly once per new session.
|
|
210
|
+
*
|
|
211
|
+
* Also reports WHETHER this load opened a new session, which is what gates the lifecycle triggers
|
|
212
|
+
* above — a reload of an existing session is not a session start. An empty session id means the
|
|
213
|
+
* caller can't tell us (test mocks), so it reports new rather than suppressing.
|
|
214
|
+
*/
|
|
194
215
|
bumpSessionCount() {
|
|
195
216
|
try {
|
|
196
217
|
const sid = this.ctx?.sessionId ?? '';
|
|
197
218
|
const raw = localStorage.getItem(SESSIONS_KEY);
|
|
198
219
|
const prev = raw ? JSON.parse(raw) : {};
|
|
199
|
-
if (prev.sessionId === sid && typeof prev.count === 'number')
|
|
200
|
-
return prev.count; // same session → no bump
|
|
220
|
+
if (sid && prev.sessionId === sid && typeof prev.count === 'number') {
|
|
221
|
+
return { count: prev.count, isNewSession: false }; // same session → no bump, no re-trigger
|
|
222
|
+
}
|
|
201
223
|
const count = (typeof prev.count === 'number' ? prev.count : 0) + 1;
|
|
202
224
|
localStorage.setItem(SESSIONS_KEY, JSON.stringify({ sessionId: sid, count }));
|
|
203
|
-
return count;
|
|
225
|
+
return { count, isNewSession: true };
|
|
204
226
|
}
|
|
205
227
|
catch {
|
|
206
|
-
return 1;
|
|
228
|
+
return { count: 1, isNewSession: true };
|
|
207
229
|
}
|
|
208
230
|
}
|
|
209
231
|
teardown() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngageFeature.js","sourceRoot":"","sources":["../../../src/features/engage/EngageFeature.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,mEAAmE;AACvF,MAAM,UAAU,GAAG,KAAM,CAAC,CAAC,kEAAkE;AAC7F,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAUhD,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,OAAO,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,SAAS,sBAAsB,CAAC,GAAY;IAC1C,MAAM,CAAC,GAAG,GAA8D,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,OAAO,aAAa;IAA1B;QACW,SAAI,GAAG,QAAQ,CAAC;QACjB,QAAG,GAA0B,IAAI,CAAC;QAClC,WAAM,GAAG,KAAK,CAAC;QAKf,WAAM,GAAG,EAAE,CAAC;QACpB,uFAAuF;QAC/E,WAAM,GAAe,EAAE,CAAC;QACxB,eAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"EngageFeature.js","sourceRoot":"","sources":["../../../src/features/engage/EngageFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/features/engage/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,oBAAoB,EAarB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/features/engage/normalize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,oBAAoB,EAarB,MAAM,SAAS,CAAC;AAuMjB;0EAC0E;AAC1E,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAYlE"}
|
|
@@ -21,12 +21,19 @@ const LAYOUTS = ['modal', 'fullscreen', 'bottom_sheet', 'top_banner', 'bottom_ba
|
|
|
21
21
|
const CTA_ACTIONS = new Set(['dismiss', 'link', 'custom']);
|
|
22
22
|
const QUESTION_KINDS = new Set(['scale', 'text', 'single', 'multi', 'emoji', 'boolean', 'screenshot', 'voice']);
|
|
23
23
|
// ── sub-shape mappers ─────────────────────────────────────────────────────────
|
|
24
|
+
/**
|
|
25
|
+
* ⚠️ This is an ENUMERATING boundary: a throttle field that is not listed here is silently discarded
|
|
26
|
+
* no matter what the server sent. `maxImpressionsPerSession` was authored by the builder and dropped
|
|
27
|
+
* twice on its way to this SDK — once by `deriveInAppMirror`, and it would have been dropped again
|
|
28
|
+
* right here. Any field added to `Throttle` must be added below too.
|
|
29
|
+
*/
|
|
24
30
|
function throttle(v) {
|
|
25
31
|
const r = rec(v);
|
|
26
32
|
const t = compact({
|
|
27
33
|
showOnce: boolOpt(r.showOnce),
|
|
28
34
|
cooldownHours: numOpt(r.cooldownHours),
|
|
29
35
|
maxImpressions: numOpt(r.maxImpressions),
|
|
36
|
+
maxImpressionsPerSession: numOpt(r.maxImpressionsPerSession),
|
|
30
37
|
samplePct: numOpt(r.samplePct),
|
|
31
38
|
});
|
|
32
39
|
return Object.keys(t).length ? t : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/features/engage/normalize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/features/engage/normalize.ts"],"names":[],"mappings":"AAsBA,iFAAiF;AACjF,MAAM,GAAG,GAAG,CAAC,CAAU,EAA2B,EAAE,CAClD,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;AACxF,MAAM,GAAG,GAAG,CAAC,CAAU,EAAa,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnE,MAAM,GAAG,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACxF,MAAM,MAAM,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACjH,MAAM,OAAO,GAAG,CAAC,CAAU,EAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9F,MAAM,MAAM,GAAG,CAAC,CAAU,EAAwB,EAAE;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC,CAAC,CAAC;AACF,yGAAyG;AACzG,MAAM,OAAO,GAAG,CAAoC,CAAI,EAAK,EAAE;IAC7D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,OAAO,GAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1H,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9H,iFAAiF;AACjF;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,CAAU;IAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QACtC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;QACxC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC5D,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,OAAO,CAAC;QAChB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACnB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;KACrC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,CAAU;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;QACnC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,SAAqC,CAAC,CAAC,CAAC,SAAS;KAChJ,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,CAAU;IAC3B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAA6B,CAAC;QACrD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,4BAA4B;QACtF,mGAAmG;QACnG;;;;;;;;;;;WAWG;QACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YACf,GAAG;YACH,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACpC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5B,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAClE,eAAe,EAAE,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC/D,CAAiB,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,GAAG,CAAC,CAAU;IACrB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAA4B,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAa,CAAC;AACzG,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,4DAA4D;IACpF,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,GAA+B,CAAC,CAAC,CAAC,SAAS,CAAC;IACzH,OAAO,OAAO,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACnB,IAAI;QACJ,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACf,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAE,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7G,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACrB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACnB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACrB,KAAK;QACL,GAAG;KACJ,CAAoB,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjF,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,SAAS,EAAE,CAAoB,CAAC;AACxH,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,GAAY;IAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAmC,CAAC;IAC3D,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,OAAO,CAAC;QACb,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC/B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QACjC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACjC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;QACnC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB;;;;;WAKG;QACH,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACtE,CAAC,CAAE,CAAC,CAAC,KAA0C;YAC/C,CAAC,CAAC,SAAS;QACb,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/B,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;KACtC,CAAmB,CAAC;AACvB,CAAC;AAED,SAAS,KAAK,CAAC,GAAY;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAA4B,CAAC;IACxD,OAAO,OAAO,CAAC;QACb,EAAE;QACF,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAC7D,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;QACpC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QACjC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACjC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9B,IAAI;QACJ,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACpC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3B,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3B,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3B,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;KAC5B,CAAiB,CAAC;AACrB,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;QAC3C,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACzD,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;aACxB,GAAG,CAAC,QAAQ,CAAC;aACb,MAAM,CAAC,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACjD,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;aAChC,GAAG,CAAC,KAAK,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;KAChD,CAAC;AACJ,CAAC"}
|
|
@@ -54,6 +54,17 @@ export declare class EngageRuntime {
|
|
|
54
54
|
stop(): void;
|
|
55
55
|
/** Deterministic A/B split (reuse fnv1a32) → which spec + variant tag to render. */
|
|
56
56
|
private resolveSpec;
|
|
57
|
+
/**
|
|
58
|
+
* The visitor closed an in-app message (dismiss or CTA) — that surface is done on this device.
|
|
59
|
+
*
|
|
60
|
+
* Web recorded impressions but never recorded COMPLETION for in-app, so `passesThrottle` had
|
|
61
|
+
* nothing durable to stop on when the campaign carried no frequency rule: the message came back on
|
|
62
|
+
* the next page load, and the next, for as long as the campaign stayed live. Mobile has always
|
|
63
|
+
* done this (`markCompleted` in EngagePromptProvider.finalizeInAppMessage); this is the missing
|
|
64
|
+
* half of that parity. Test previews are excluded — they have their own one-shot `seen` set and
|
|
65
|
+
* must not write production frequency state.
|
|
66
|
+
*/
|
|
67
|
+
private finishInApp;
|
|
57
68
|
private tryShowInApp;
|
|
58
69
|
private inappEvent;
|
|
59
70
|
/** A triggered campaign — gate on throttle, then render (one prompt at a time). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/features/engage/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EAKd,YAAY,EACZ,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAIhB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,oGAAoG;IACpG,WAAW,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC3C,2FAA2F;IAC3F,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,yFAAyF;IACzF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,qBAAa,aAAa;IAOZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAC,CAAoB;gBAEN,IAAI,EAAE,WAAW;IAgB9C,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI;IAM/C,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAU3C;iGAC6F;YAC/E,SAAS;IAcvB,yGAAyG;IACzG,OAAO,CAAC,gBAAgB;IAmBxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAchB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAI1C,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAItC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAI3C,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAInE,IAAI,IAAI,IAAI;IAYZ,oFAAoF;IACpF,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,UAAU;IAuBlB,mFAAmF;IACnF,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,MAAM;IAKd;;oFAEgF;YAClE,MAAM;IAyBpB;;mBAEe;YACD,iBAAiB;IA4B/B,wFAAwF;IACxF,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAMlE;yGACqG;IACrG,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,GAAE,gBAAqB,GAAG,IAAI;IAgB1E,OAAO,CAAC,MAAM;IAmBd,OAAO,CAAC,KAAK;CAgBd"}
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/features/engage/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EAKd,YAAY,EACZ,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAIhB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,oGAAoG;IACpG,WAAW,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC3C,2FAA2F;IAC3F,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,yFAAyF;IACzF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,qBAAa,aAAa;IAOZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAC,CAAoB;gBAEN,IAAI,EAAE,WAAW;IAgB9C,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI;IAM/C,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAU3C;iGAC6F;YAC/E,SAAS;IAcvB,yGAAyG;IACzG,OAAO,CAAC,gBAAgB;IAmBxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAchB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAI1C,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAItC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAI3C,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAInE,IAAI,IAAI,IAAI;IAYZ,oFAAoF;IACpF,OAAO,CAAC,WAAW;IASnB;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,UAAU;IAuBlB,mFAAmF;IACnF,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,MAAM;IAKd;;oFAEgF;YAClE,MAAM;IAyBpB;;mBAEe;YACD,iBAAiB;IA4B/B,wFAAwF;IACxF,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAMlE;yGACqG;IACrG,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,GAAE,gBAAqB,GAAG,IAAI;IAgB1E,OAAO,CAAC,MAAM;IAmBd,OAAO,CAAC,KAAK;CAgBd"}
|
|
@@ -85,8 +85,8 @@ export class EngageRuntime {
|
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
this.active = mountInApp(m.layout, spec, {
|
|
88
|
-
onClick: () => { this.inappEvent(m, 'click', variantId, true); this.
|
|
89
|
-
onDismiss: () => { this.inappEvent(m, 'dismiss', variantId, true); this.
|
|
88
|
+
onClick: () => { this.inappEvent(m, 'click', variantId, true); this.finishInApp(m, true); },
|
|
89
|
+
onDismiss: () => { this.inappEvent(m, 'dismiss', variantId, true); this.finishInApp(m, true); },
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
@@ -105,9 +105,9 @@ export class EngageRuntime {
|
|
|
105
105
|
}
|
|
106
106
|
catch { /* navigation blocked — click still recorded */ }
|
|
107
107
|
}
|
|
108
|
-
this.
|
|
108
|
+
this.finishInApp(m, isTest);
|
|
109
109
|
};
|
|
110
|
-
const onDismiss = () => { this.inappEvent(m, 'dismiss', variantId, isTest); this.
|
|
110
|
+
const onDismiss = () => { this.inappEvent(m, 'dismiss', variantId, isTest); this.finishInApp(m, isTest); };
|
|
111
111
|
void renderRichInApp(m, spec, { onClick, onDismiss })
|
|
112
112
|
.then((h) => { if (this.showing)
|
|
113
113
|
this.active = h;
|
|
@@ -150,11 +150,26 @@ export class EngageRuntime {
|
|
|
150
150
|
}
|
|
151
151
|
return { spec: m.spec, variantId: m.variantId };
|
|
152
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* The visitor closed an in-app message (dismiss or CTA) — that surface is done on this device.
|
|
155
|
+
*
|
|
156
|
+
* Web recorded impressions but never recorded COMPLETION for in-app, so `passesThrottle` had
|
|
157
|
+
* nothing durable to stop on when the campaign carried no frequency rule: the message came back on
|
|
158
|
+
* the next page load, and the next, for as long as the campaign stayed live. Mobile has always
|
|
159
|
+
* done this (`markCompleted` in EngagePromptProvider.finalizeInAppMessage); this is the missing
|
|
160
|
+
* half of that parity. Test previews are excluded — they have their own one-shot `seen` set and
|
|
161
|
+
* must not write production frequency state.
|
|
162
|
+
*/
|
|
163
|
+
finishInApp(m, isTest) {
|
|
164
|
+
if (!isTest)
|
|
165
|
+
recordCompleted(m);
|
|
166
|
+
this.finish();
|
|
167
|
+
}
|
|
153
168
|
tryShowInApp(m) {
|
|
154
|
-
if (this.showing || !passesThrottle(m, this.deps.now()))
|
|
169
|
+
if (this.showing || !passesThrottle(m, this.deps.now(), this.deps.sessionId))
|
|
155
170
|
return;
|
|
156
171
|
this.showing = true;
|
|
157
|
-
recordShown(m, this.deps.now());
|
|
172
|
+
recordShown(m, this.deps.now(), this.deps.sessionId);
|
|
158
173
|
const { spec, variantId } = this.resolveSpec(m);
|
|
159
174
|
this.inappEvent(m, 'impression', variantId);
|
|
160
175
|
// Decide from the A/B-RESOLVED spec: variant B carries its own ext/archetype.
|
|
@@ -173,11 +188,11 @@ export class EngageRuntime {
|
|
|
173
188
|
/* navigation blocked — the click event is still recorded */
|
|
174
189
|
}
|
|
175
190
|
}
|
|
176
|
-
this.
|
|
191
|
+
this.finishInApp(m, false);
|
|
177
192
|
},
|
|
178
193
|
onDismiss: () => {
|
|
179
194
|
this.inappEvent(m, 'dismiss', variantId);
|
|
180
|
-
this.
|
|
195
|
+
this.finishInApp(m, false);
|
|
181
196
|
},
|
|
182
197
|
});
|
|
183
198
|
}
|
|
@@ -204,11 +219,11 @@ export class EngageRuntime {
|
|
|
204
219
|
// ── Surveys ───────────────────────────────────────────────────────────────────
|
|
205
220
|
/** A triggered campaign — gate on throttle, then render (one prompt at a time). */
|
|
206
221
|
tryShow(c) {
|
|
207
|
-
if (this.showing || !passesThrottle(c, this.deps.now()))
|
|
222
|
+
if (this.showing || !passesThrottle(c, this.deps.now(), this.deps.sessionId))
|
|
208
223
|
return;
|
|
209
224
|
this.showing = true;
|
|
210
225
|
this.startedAt = this.deps.now();
|
|
211
|
-
recordShown(c, this.deps.now());
|
|
226
|
+
recordShown(c, this.deps.now(), this.deps.sessionId);
|
|
212
227
|
this.beacon(c, 'shown');
|
|
213
228
|
this.event(c, 'impression');
|
|
214
229
|
this.active = mountSurvey(c, {
|