@braze/web-sdk 5.3.2 → 5.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/index.d.ts +20 -4
- package/package.json +1 -1
- package/shared-lib/event-types.js +12 -12
- package/shared-lib/indexed-db-adapter.js +14 -14
- package/shared-lib/logger.js +2 -2
- package/shared-lib/supported-options.js +10 -9
- package/src/Card/card-manager.js +46 -42
- package/src/Card/display/card-display.js +59 -58
- package/src/Card/models/card.js +61 -55
- package/src/Card/models/classic-card.js +1 -1
- package/src/Card/models/control-card.js +1 -1
- package/src/Card/models/image-only.js +1 -1
- package/src/Card/util/card-factory.js +20 -20
- package/src/ContentCards/content-cards-provider.js +140 -140
- package/src/ContentCards/get-cached-content-cards.js +1 -1
- package/src/ContentCards/request-content-cards-refresh.js +1 -1
- package/src/ContentCards/subscribe-to-content-cards-updates.js +4 -4
- package/src/ContentCards/ui/show-content-cards.js +3 -3
- package/src/Core/disable-sdk.js +2 -2
- package/src/Core/enable-sdk.js +2 -2
- package/src/Core/index.js +1 -0
- package/src/Core/is-initialized.js +4 -0
- package/src/Core/log-custom-event.js +14 -14
- package/src/Core/log-purchase.js +8 -8
- package/src/Core/open-session.js +4 -4
- package/src/Core/wipe-data.js +2 -2
- package/src/FeatureFlags/feature-flag-factory.js +5 -5
- package/src/FeatureFlags/feature-flag.js +1 -1
- package/src/FeatureFlags/feature-flags-provider.js +74 -74
- package/src/FeatureFlags/get-all-feature-flags.js +2 -2
- package/src/FeatureFlags/get-feature-flag.js +2 -2
- package/src/FeatureFlags/log-feature-flag-impression.js +12 -12
- package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +2 -2
- package/src/Feed/feed-provider.js +29 -29
- package/src/Feed/get-cached-feed.js +1 -1
- package/src/Feed/request-feed-refresh.js +1 -1
- package/src/Feed/subscribe-to-feed-updates.js +1 -1
- package/src/Feed/ui/show-feed.js +1 -1
- package/src/InAppMessage/display/in-app-message-to-html.js +64 -62
- package/src/InAppMessage/in-app-message-manager.js +63 -63
- package/src/InAppMessage/log-in-app-message-button-click.js +2 -2
- package/src/InAppMessage/log-in-app-message-click.js +2 -2
- package/src/InAppMessage/log-in-app-message-html-click.js +2 -2
- package/src/InAppMessage/log-in-app-message-impression.js +1 -1
- package/src/InAppMessage/models/full-screen-message.js +10 -10
- package/src/InAppMessage/models/html-message.js +13 -13
- package/src/InAppMessage/models/in-app-message-button.js +4 -4
- package/src/InAppMessage/models/in-app-message.js +59 -59
- package/src/InAppMessage/models/modal-message.js +9 -9
- package/src/InAppMessage/models/slide-up-message.js +11 -11
- package/src/InAppMessage/models/templated-in-app-message.js +8 -8
- package/src/InAppMessage/ui/show-in-app-message.js +42 -40
- package/src/Push/push-manager-factory.js +5 -4
- package/src/Push/push-manager.js +77 -89
- package/src/Push/utils/push-utils.js +4 -4
- package/src/User/user-manager.js +8 -8
- package/src/User/user.js +29 -29
- package/src/common/base-provider.js +1 -1
- package/src/common/event-logger.js +11 -11
- package/src/common/feed-display.js +18 -17
- package/src/l10n/l10n-manager-factory.js +7 -7
- package/src/l10n/l10n-manager.js +15 -5
- package/src/managers/auth-manager.js +9 -9
- package/src/managers/braze-instance.js +89 -87
- package/src/managers/device-manager.js +17 -17
- package/src/managers/network-manager.js +130 -130
- package/src/managers/server-config-manager.js +24 -24
- package/src/managers/session-manager.js +12 -12
- package/src/managers/storage-manager-factory.js +1 -1
- package/src/managers/storage-manager.js +31 -31
- package/src/managers/subscription-manager.js +2 -2
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +4 -4
- package/src/models/device.js +2 -2
- package/src/models/request-result.js +1 -1
- package/src/models/server-config.js +5 -5
- package/src/request-controller.js +130 -130
- package/src/triggers/models/filter.js +9 -9
- package/src/triggers/models/in-app-message-click-data.js +8 -8
- package/src/triggers/models/push-click-data.js +3 -3
- package/src/triggers/models/trigger-condition.js +27 -27
- package/src/triggers/models/trigger-events.js +1 -1
- package/src/triggers/models/trigger.js +7 -7
- package/src/triggers/triggers-provider.js +29 -29
- package/src/ui/js/attach-css.js +1 -1
- package/src/ui/js/feed-css.js +1 -1
- package/src/ui/js/iam-css.js +1 -1
- package/src/util/base-device-parser.js +7 -7
- package/src/util/braze-actions.js +4 -4
- package/src/util/browser-detector.js +21 -21
- package/src/util/client-hints-parser.js +3 -3
- package/src/util/component-utils.js +13 -12
- package/src/util/net.js +4 -4
- package/src/util/request-header-utils.js +17 -17
- package/src/util/user-agent-parser.js +3 -3
- package/src/util/window-utils.js +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ve from "../models/braze-event.js";
|
|
2
2
|
import _t from "../models/identifier.js";
|
|
3
3
|
import {
|
|
4
4
|
isArray as j,
|
|
5
5
|
keys as to,
|
|
6
6
|
validateValueIsFromEnum as J,
|
|
7
|
-
values as
|
|
7
|
+
values as Rt,
|
|
8
8
|
} from "../util/code-utils.js";
|
|
9
9
|
import { logger as r, EventTypes as i } from "../../shared-lib/index.js";
|
|
10
10
|
import { User } from "../User/index.js";
|
|
@@ -21,23 +21,23 @@ export const STORAGE_KEYS = {
|
|
|
21
21
|
tE: "ab.storage.events",
|
|
22
22
|
eE: "ab.storage.attributes",
|
|
23
23
|
sE: "ab.storage.attributes.anonymous_user",
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
Fa: "ab.storage.device",
|
|
25
|
+
Jh: "ab.storage.sdk_metadata",
|
|
26
|
+
Qh: "ab.storage.session_id_for_cached_metadata",
|
|
27
27
|
In: "ab.storage.pushToken",
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
Ai: "ab.storage.newsFeed",
|
|
29
|
+
Bi: "ab.storage.lastNewsFeedRefresh",
|
|
30
30
|
J: "ab.storage.cardImpressions",
|
|
31
31
|
ul: "ab.storage.serverConfig",
|
|
32
32
|
rE: "ab.storage.triggers",
|
|
33
33
|
oE: "ab.storage.triggers.ts",
|
|
34
34
|
Nl: "ab.storage.messagingSessionStart",
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
bs: "ab.storage.cc",
|
|
36
|
+
js: "ab.storage.ccLastFullSync",
|
|
37
|
+
Rs: "ab.storage.ccLastCardUpdated",
|
|
38
38
|
nE: "ab.storage.ccRateLimitCurrentTokenCount",
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
Ru: "ab.storage.globalRateLimitCurrentTokenCount",
|
|
40
|
+
bu: "ab.storage.dynamicRateLimitCurrentTokenCount",
|
|
41
41
|
v: "ab.storage.ccClicks",
|
|
42
42
|
H: "ab.storage.ccImpressions",
|
|
43
43
|
A: "ab.storage.ccDismissals",
|
|
@@ -45,16 +45,16 @@ export const STORAGE_KEYS = {
|
|
|
45
45
|
iE: "ab.storage.lastDisplayedTriggerTime",
|
|
46
46
|
EE: "ab.storage.triggerFireInstancesById",
|
|
47
47
|
wh: "ab.storage.signature",
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
xs: "ab.storage.brazeSyncRetryCount",
|
|
49
|
+
Us: "ab.storage.sdkVersion",
|
|
50
|
+
vi: "ab.storage.ff",
|
|
51
|
+
wi: "ab.storage.ffImpressions",
|
|
52
|
+
zi: "ab.storage.ffLastRefreshAt",
|
|
53
|
+
Si: "ab.storage.ff.sessionId",
|
|
54
54
|
lE: "ab.storage.lastReqToEndpoint",
|
|
55
55
|
SE: "ab.storage.requestAttempts",
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
Xr: "ab.storage.deferredIam",
|
|
57
|
+
du: "ab.storage.lastSdkReq",
|
|
58
58
|
_E: "ab.storage.alias",
|
|
59
59
|
},
|
|
60
60
|
se: "ab.optOut",
|
|
@@ -63,7 +63,7 @@ export default class Q {
|
|
|
63
63
|
constructor(t, e) {
|
|
64
64
|
(this.uE = t), (this.TE = e), (this.uE = t), (this.TE = e);
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
Vh(t) {
|
|
67
67
|
const e = to(STORAGE_KEYS.iu),
|
|
68
68
|
s = new Q.ee(t);
|
|
69
69
|
for (const t of e) s.remove(STORAGE_KEYS.iu[t]);
|
|
@@ -98,14 +98,14 @@ export default class Q {
|
|
|
98
98
|
Al(t) {
|
|
99
99
|
this.uE.remove(t);
|
|
100
100
|
}
|
|
101
|
-
|
|
101
|
+
Kh() {
|
|
102
102
|
const t = to(STORAGE_KEYS.iu);
|
|
103
103
|
let e;
|
|
104
104
|
for (const s of t)
|
|
105
105
|
(e = this.tu(STORAGE_KEYS.iu[s])),
|
|
106
106
|
null != e && this.uu(STORAGE_KEYS.iu[s], e);
|
|
107
107
|
}
|
|
108
|
-
|
|
108
|
+
zo(t) {
|
|
109
109
|
let e;
|
|
110
110
|
if (null == t || 0 === t.length) return !1;
|
|
111
111
|
e = j(t) ? t : [t];
|
|
@@ -115,7 +115,7 @@ export default class Q {
|
|
|
115
115
|
return this.TE.store(STORAGE_KEYS.C.tE, s);
|
|
116
116
|
}
|
|
117
117
|
kl(t) {
|
|
118
|
-
return null != t && this.
|
|
118
|
+
return null != t && this.zo([t]);
|
|
119
119
|
}
|
|
120
120
|
AE() {
|
|
121
121
|
let t = this.TE.br(STORAGE_KEYS.C.tE);
|
|
@@ -125,7 +125,7 @@ export default class Q {
|
|
|
125
125
|
r = null;
|
|
126
126
|
if (j(t))
|
|
127
127
|
for (let s = 0; s < t.length; s++)
|
|
128
|
-
|
|
128
|
+
ve.RE(t[s]) ? e.push(ve.qn(t[s])) : (r = s);
|
|
129
129
|
else s = !0;
|
|
130
130
|
if (s || null != r) {
|
|
131
131
|
let o = "Stored events could not be deserialized as Events";
|
|
@@ -138,11 +138,11 @@ export default class Q {
|
|
|
138
138
|
typeof t +
|
|
139
139
|
": " +
|
|
140
140
|
JSON.stringify(t)),
|
|
141
|
-
e.push(new
|
|
141
|
+
e.push(new ve(null, i.Ls, new Date().valueOf(), null, { e: o }));
|
|
142
142
|
}
|
|
143
143
|
return e;
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
I(t, e) {
|
|
146
146
|
return (
|
|
147
147
|
!!J(
|
|
148
148
|
STORAGE_KEYS.C,
|
|
@@ -162,7 +162,7 @@ export default class Q {
|
|
|
162
162
|
) && this.TE.br(t)
|
|
163
163
|
);
|
|
164
164
|
}
|
|
165
|
-
|
|
165
|
+
ii(t) {
|
|
166
166
|
return (
|
|
167
167
|
!!J(
|
|
168
168
|
STORAGE_KEYS.C,
|
|
@@ -187,7 +187,7 @@ export default class Q {
|
|
|
187
187
|
gE(t) {
|
|
188
188
|
return t || STORAGE_KEYS.C.sE;
|
|
189
189
|
}
|
|
190
|
-
|
|
190
|
+
Pa(t) {
|
|
191
191
|
let e = this.TE.br(STORAGE_KEYS.C.eE);
|
|
192
192
|
null == e && (e = {});
|
|
193
193
|
const s = this.gE(t[User.Yn]),
|
|
@@ -226,7 +226,7 @@ export default class Q {
|
|
|
226
226
|
((e[s] = void 0),
|
|
227
227
|
this.TE.store(STORAGE_KEYS.C.eE, e),
|
|
228
228
|
(r[User.Yn] = t),
|
|
229
|
-
this.
|
|
229
|
+
this.Pa(r));
|
|
230
230
|
}
|
|
231
231
|
const s = this.tu(STORAGE_KEYS.iu.El);
|
|
232
232
|
let r = null;
|
|
@@ -348,7 +348,7 @@ export default class Q {
|
|
|
348
348
|
return t.setTime(t.getTime() + 60 * this.DE * 1e3), t.getFullYear();
|
|
349
349
|
}
|
|
350
350
|
ME() {
|
|
351
|
-
const t =
|
|
351
|
+
const t = Rt(STORAGE_KEYS.iu),
|
|
352
352
|
e = document.cookie.split(";");
|
|
353
353
|
for (let s = 0; s < e.length; s++) {
|
|
354
354
|
let r = e[s];
|
|
@@ -3,7 +3,7 @@ export default class T {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this._e = {};
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
Nt(t) {
|
|
7
7
|
if ("function" != typeof t) return null;
|
|
8
8
|
const i = p.W();
|
|
9
9
|
return (this._e[i] = t), i;
|
|
@@ -17,7 +17,7 @@ export default class T {
|
|
|
17
17
|
ic() {
|
|
18
18
|
return Object.keys(this._e).length;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
Rt(t) {
|
|
21
21
|
const i = [];
|
|
22
22
|
for (const s in this._e) {
|
|
23
23
|
const r = this._e[s];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
Na: "invalid_api_key",
|
|
3
|
+
Xa: "blacklisted",
|
|
4
|
+
$a: "no_device_identifier",
|
|
5
|
+
Ba: "invalid_json_response",
|
|
6
|
+
Ra: "empty_response",
|
|
7
7
|
__: "sdk_auth_error",
|
|
8
8
|
};
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
convertMsToSeconds as h,
|
|
6
6
|
timestampOrNow as Qt,
|
|
7
7
|
} from "../util/date-utils.js";
|
|
8
|
-
export default class
|
|
8
|
+
export default class ve {
|
|
9
9
|
constructor(t, s, i, r, e) {
|
|
10
10
|
(this.userId = t),
|
|
11
11
|
(this.type = s),
|
|
@@ -18,7 +18,7 @@ export default class ue {
|
|
|
18
18
|
(this.sessionId = r),
|
|
19
19
|
(this.data = e);
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
Mr() {
|
|
22
22
|
var t;
|
|
23
23
|
const s = {
|
|
24
24
|
name: this.type,
|
|
@@ -44,12 +44,12 @@ export default class ue {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
static fromJson(t) {
|
|
47
|
-
return new
|
|
47
|
+
return new ve(t.user_id, t.name, t.time, t.session_id, t.data);
|
|
48
48
|
}
|
|
49
49
|
static RE(t) {
|
|
50
50
|
return null != t && Ct(t) && null != t.t && "" !== t.t;
|
|
51
51
|
}
|
|
52
52
|
static qn(t) {
|
|
53
|
-
return new
|
|
53
|
+
return new ve(t.u, t.t, t.ts, t.s, t.d);
|
|
54
54
|
}
|
|
55
55
|
}
|
package/src/models/device.js
CHANGED
|
@@ -2,11 +2,11 @@ export default class Gt {
|
|
|
2
2
|
constructor(s) {
|
|
3
3
|
(this.id = s), (this.id = s);
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
Mr() {
|
|
6
6
|
const s = {};
|
|
7
7
|
return (
|
|
8
8
|
null != this.browser && (s.browser = this.browser),
|
|
9
|
-
null != this.
|
|
9
|
+
null != this.Ta && (s.browser_version = this.Ta),
|
|
10
10
|
null != this.os && (s.os_version = this.os),
|
|
11
11
|
null != this.resolution && (s.resolution = this.resolution),
|
|
12
12
|
null != this.language && (s.locale = this.language),
|
|
@@ -21,7 +21,7 @@ export default class Jt {
|
|
|
21
21
|
(this.Rl = e),
|
|
22
22
|
(this.cl = r),
|
|
23
23
|
(this.ml = l),
|
|
24
|
-
(this.
|
|
24
|
+
(this.ai = a),
|
|
25
25
|
(this.ol = n),
|
|
26
26
|
(this.hl = t),
|
|
27
27
|
(this.gl = i),
|
|
@@ -30,12 +30,12 @@ export default class Jt {
|
|
|
30
30
|
(this.Rl = e),
|
|
31
31
|
(this.cl = r),
|
|
32
32
|
(this.ml = l),
|
|
33
|
-
(this.
|
|
33
|
+
(this.ai = a),
|
|
34
34
|
(this.ol = n);
|
|
35
35
|
}
|
|
36
36
|
Y() {
|
|
37
37
|
return {
|
|
38
|
-
s: "5.
|
|
38
|
+
s: "5.5.0",
|
|
39
39
|
l: this.hl,
|
|
40
40
|
e: this.gl,
|
|
41
41
|
a: this.fl,
|
|
@@ -43,14 +43,14 @@ export default class Jt {
|
|
|
43
43
|
m: this.Rl,
|
|
44
44
|
v: this.cl,
|
|
45
45
|
c: this.ml,
|
|
46
|
-
f: this.
|
|
46
|
+
f: this.ai,
|
|
47
47
|
grl: this.ol,
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
static qn(t) {
|
|
51
51
|
let i = t.l;
|
|
52
52
|
return (
|
|
53
|
-
"5.
|
|
53
|
+
"5.5.0" !== t.s && (i = 0),
|
|
54
54
|
new Jt(i, t.e, t.a, t.p, t.m, t.v, t.c, t.f, t.grl)
|
|
55
55
|
);
|
|
56
56
|
}
|