@braze/web-sdk 5.9.1 → 6.1.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 +209 -283
- package/package.json +1 -1
- package/shared-lib/encoding-utils.js +1 -1
- package/shared-lib/event-types.js +27 -29
- package/shared-lib/guid.js +3 -3
- package/shared-lib/indexed-db-adapter.js +22 -22
- package/shared-lib/logger.js +18 -18
- package/shared-lib/supported-options.js +22 -23
- package/src/Banner/banner-factory.js +2 -1
- package/src/Banner/banner-provider-factory.js +7 -7
- package/src/Banner/banner-provider.js +92 -98
- package/src/Banner/banner.js +21 -18
- package/src/Banner/display/banner-to-html.js +18 -30
- package/src/Banner/display/detect-banner-impressions.js +11 -11
- package/src/Banner/get-all-banners.js +5 -5
- package/src/Banner/get-banner.js +7 -7
- package/src/Banner/index.js +0 -1
- package/src/Banner/log-banner-click.js +7 -7
- package/src/Banner/log-banner-impressions.js +9 -9
- package/src/Banner/request-banners-refresh.js +23 -27
- package/src/Banner/subscribe-to-banners-updates.js +9 -9
- package/src/Banner/ui/insert-banner.js +10 -10
- package/src/Card/card-manager-factory.js +7 -7
- package/src/Card/card-manager.js +45 -47
- package/src/Card/display/card-display.js +76 -74
- package/src/Card/index.js +0 -2
- package/src/Card/log-card-dismissal.js +4 -4
- package/src/Card/log-content-card-click.js +9 -2
- package/src/Card/log-content-card-impressions.js +11 -2
- package/src/Card/models/captioned-image.js +21 -21
- package/src/Card/models/card.js +116 -110
- package/src/Card/models/classic-card.js +21 -21
- package/src/Card/models/control-card.js +15 -15
- package/src/Card/models/image-only.js +20 -21
- package/src/Card/util/card-factory.js +58 -79
- package/src/ContentCards/content-cards-provider-factory.js +13 -13
- package/src/ContentCards/content-cards-provider.js +148 -148
- package/src/ContentCards/content-cards.js +21 -13
- package/src/ContentCards/get-cached-content-cards.js +2 -2
- package/src/ContentCards/request-content-cards-refresh.js +2 -2
- package/src/ContentCards/subscribe-to-content-cards-updates.js +8 -8
- package/src/ContentCards/ui/hide-content-cards.js +5 -5
- package/src/ContentCards/ui/show-content-cards.js +35 -35
- package/src/Core/add-sdk-metadata.js +5 -5
- package/src/Core/change-user.js +7 -7
- package/src/Core/destroy.js +2 -2
- package/src/Core/disable-sdk.js +10 -10
- package/src/Core/enable-sdk.js +7 -7
- package/src/Core/get-device-id.js +4 -4
- package/src/Core/get-user.js +1 -1
- package/src/Core/handle-braze-action.js +10 -10
- package/src/Core/is-disabled.js +2 -2
- package/src/Core/is-initialized.js +1 -1
- package/src/Core/log-custom-event.js +18 -18
- package/src/Core/log-purchase.js +19 -19
- package/src/Core/open-session.js +13 -13
- package/src/Core/request-immediate-data-flush.js +1 -1
- package/src/Core/set-logger.js +2 -2
- package/src/Core/toggle-logging.js +2 -2
- package/src/Core/wipe-data.js +9 -9
- package/src/FeatureFlags/feature-flag-factory.js +10 -10
- package/src/FeatureFlags/feature-flag.js +20 -71
- package/src/FeatureFlags/feature-flags-provider-factory.js +7 -7
- package/src/FeatureFlags/feature-flags-provider.js +86 -86
- package/src/FeatureFlags/get-all-feature-flags.js +3 -3
- package/src/FeatureFlags/get-feature-flag.js +3 -3
- package/src/FeatureFlags/log-feature-flag-impression.js +8 -8
- package/src/FeatureFlags/refresh-feature-flags.js +1 -1
- package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +3 -3
- package/src/InAppMessage/defer-in-app-message.js +4 -4
- package/src/InAppMessage/display/html-message-to-html.js +41 -41
- package/src/InAppMessage/display/in-app-message-to-html.js +145 -139
- package/src/InAppMessage/display/modal-utils.js +40 -42
- package/src/InAppMessage/get-deferred-in-app-message.js +1 -1
- package/src/InAppMessage/in-app-message-factory.js +24 -16
- package/src/InAppMessage/in-app-message-manager-factory.js +5 -5
- package/src/InAppMessage/in-app-message-manager.js +124 -122
- package/src/InAppMessage/log-in-app-message-button-click.js +12 -12
- package/src/InAppMessage/log-in-app-message-click.js +9 -9
- package/src/InAppMessage/log-in-app-message-html-click.js +11 -11
- package/src/InAppMessage/log-in-app-message-impression.js +4 -4
- package/src/InAppMessage/models/control-message.js +5 -5
- package/src/InAppMessage/models/full-screen-message.js +41 -35
- package/src/InAppMessage/models/html-message.js +28 -26
- package/src/InAppMessage/models/in-app-message-button.js +5 -5
- package/src/InAppMessage/models/in-app-message.js +156 -152
- package/src/InAppMessage/models/modal-message.js +40 -34
- package/src/InAppMessage/models/slide-up-message.js +38 -32
- package/src/InAppMessage/models/templated-in-app-message.js +8 -8
- package/src/InAppMessage/subscribe-to-in-app-message.js +1 -1
- package/src/InAppMessage/ui/automatically-show-in-app-messages.js +3 -3
- package/src/InAppMessage/ui/show-in-app-message.js +68 -74
- package/src/Push/is-push-blocked.js +2 -2
- package/src/Push/is-push-permission-granted.js +2 -2
- package/src/Push/is-push-supported.js +2 -2
- package/src/Push/push-manager-factory.js +17 -17
- package/src/Push/push-manager.js +127 -127
- package/src/Push/request-push-permission.js +1 -1
- package/src/Push/utils/push-utils.js +25 -15
- package/src/User/user-manager.js +20 -20
- package/src/User/user.js +60 -61
- package/src/common/base-provider.js +1 -1
- package/src/common/content-cards-display.js +211 -0
- package/src/common/event-logger.js +12 -12
- package/src/common/properties-base.js +56 -0
- package/src/index.js +0 -1
- package/src/l10n/l10n-manager-factory.js +10 -10
- package/src/l10n/l10n-manager.js +7 -7
- package/src/managers/auth-manager.js +36 -36
- package/src/managers/braze-instance.js +184 -185
- package/src/managers/device-manager.js +26 -26
- package/src/managers/network-manager.js +194 -193
- package/src/managers/server-config-manager.js +75 -75
- package/src/managers/session-manager.js +29 -29
- package/src/managers/storage-manager-factory.js +13 -13
- package/src/managers/storage-manager.js +162 -164
- package/src/managers/subscription-manager.js +12 -12
- package/src/managers/utils.js +1 -1
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +16 -16
- package/src/models/device.js +3 -3
- package/src/models/identifier.js +8 -8
- package/src/models/push-token.js +10 -10
- package/src/models/request-result.js +4 -4
- package/src/models/server-config.js +33 -33
- package/src/request-controller.js +193 -192
- package/src/triggers/models/custom-event-data.js +7 -7
- package/src/triggers/models/custom-event-property-data.js +8 -8
- package/src/triggers/models/filter-set.js +8 -8
- package/src/triggers/models/filter.js +43 -43
- package/src/triggers/models/in-app-message-click-data.js +4 -4
- package/src/triggers/models/purchase-data.js +2 -2
- package/src/triggers/models/purchase-property-data.js +6 -6
- package/src/triggers/models/push-click-data.js +2 -2
- package/src/triggers/models/trigger-condition.js +52 -52
- package/src/triggers/models/trigger-events.js +4 -4
- package/src/triggers/models/trigger.js +19 -19
- package/src/triggers/triggers-provider-factory.js +14 -14
- package/src/triggers/triggers-provider.js +70 -70
- package/src/ui/js/attach-css.js +3 -3
- package/src/ui/js/banner-css.js +1 -1
- package/src/ui/js/iam-css.js +1 -1
- package/src/ui/js/load-font-awesome.js +2 -2
- package/src/util/base-device-parser.js +4 -4
- package/src/util/braze-actions.js +12 -18
- package/src/util/browser-detector.js +27 -20
- package/src/util/client-hints-parser.js +8 -8
- package/src/util/code-utils.js +2 -2
- package/src/util/component-utils.js +14 -14
- package/src/util/deprecation-utils.js +2 -2
- package/src/util/device-constants.js +5 -5
- package/src/util/dom-utils.js +9 -9
- package/src/util/html-display-utils.js +38 -38
- package/src/util/key-codes.js +1 -1
- package/src/util/net.js +12 -12
- package/src/util/request-header-utils.js +22 -22
- package/src/util/string-utils.js +2 -2
- package/src/util/user-agent-parser.js +17 -17
- package/src/util/validation-utils.js +28 -28
- package/src/util/window-utils.js +2 -2
- package/src/Card/log-card-click.js +0 -11
- package/src/Card/log-card-impressions.js +0 -13
- package/src/Feed/feed-provider-factory.js +0 -18
- package/src/Feed/feed-provider.js +0 -90
- package/src/Feed/feed.js +0 -20
- package/src/Feed/get-cached-feed.js +0 -5
- package/src/Feed/index.js +0 -8
- package/src/Feed/log-feed-displayed.js +0 -7
- package/src/Feed/request-feed-refresh.js +0 -5
- package/src/Feed/subscribe-to-feed-updates.js +0 -5
- package/src/Feed/types.js +0 -1
- package/src/Feed/ui/hide-feed.js +0 -7
- package/src/Feed/ui/show-feed.js +0 -96
- package/src/Feed/ui/toggle-feed.js +0 -8
- package/src/common/base-feed.js +0 -29
- package/src/common/feed-display.js +0 -211
|
@@ -1,84 +1,84 @@
|
|
|
1
1
|
import Xt from "../models/backend-errors.js";
|
|
2
|
-
import
|
|
2
|
+
import ue from "../models/braze-event.js";
|
|
3
3
|
import {
|
|
4
|
-
convertMsToSeconds as
|
|
5
|
-
convertSecondsToMs as
|
|
4
|
+
convertMsToSeconds as X,
|
|
5
|
+
convertSecondsToMs as Yt,
|
|
6
6
|
} from "../util/date-utils.js";
|
|
7
7
|
import c from "../common/event-logger.js";
|
|
8
|
-
import { isArray as
|
|
9
|
-
import { logger as
|
|
8
|
+
import { isArray as D, isEqual as ii } from "../util/code-utils.js";
|
|
9
|
+
import { logger as E, EventTypes as m } from "../../shared-lib/index.js";
|
|
10
10
|
import { STORAGE_KEYS as s } from "./storage-manager.js";
|
|
11
11
|
import h from "../util/request-header-utils.js";
|
|
12
12
|
import {
|
|
13
|
-
LAST_REQUEST_TO_ENDPOINT_MS_AGO_DEFAULT as
|
|
14
|
-
MAX_RETRY_COUNT_PER_REQUEST as
|
|
13
|
+
LAST_REQUEST_TO_ENDPOINT_MS_AGO_DEFAULT as Zt,
|
|
14
|
+
MAX_RETRY_COUNT_PER_REQUEST as he,
|
|
15
15
|
} from "../common/constants.js";
|
|
16
|
-
import { getAlias as
|
|
17
|
-
import { readResponseHeaders as
|
|
18
|
-
export default class
|
|
16
|
+
import { getAlias as ce } from "./utils.js";
|
|
17
|
+
import { readResponseHeaders as ve } from "../util/net.js";
|
|
18
|
+
export default class Mt {
|
|
19
19
|
constructor(t, e, i, s, r, n, o, a, h, u, l, c) {
|
|
20
|
-
(this.
|
|
21
|
-
(this.
|
|
22
|
-
(this.
|
|
20
|
+
(this.on = t),
|
|
21
|
+
(this.j = e),
|
|
22
|
+
(this.Qh = i),
|
|
23
23
|
(this.Cs = s),
|
|
24
|
-
(this.
|
|
25
|
-
(this.
|
|
26
|
-
(this.
|
|
27
|
-
(this.
|
|
28
|
-
(this.
|
|
29
|
-
(this.
|
|
24
|
+
(this.C = r),
|
|
25
|
+
(this.h = n),
|
|
26
|
+
(this.sn = o),
|
|
27
|
+
(this.Ea = a),
|
|
28
|
+
(this.Xh = h),
|
|
29
|
+
(this.Zh = u),
|
|
30
30
|
(this.appVersion = l),
|
|
31
|
-
(this
|
|
32
|
-
(this.
|
|
33
|
-
(this.
|
|
34
|
-
(this.
|
|
35
|
-
(this.
|
|
31
|
+
(this.$a = c),
|
|
32
|
+
(this.Xa = (t) => (null == t ? "" : `${t} `)),
|
|
33
|
+
(this.on = t),
|
|
34
|
+
(this.j = e),
|
|
35
|
+
(this.Qh = i),
|
|
36
36
|
(this.Cs = s),
|
|
37
|
-
(this.
|
|
38
|
-
(this.
|
|
39
|
-
(this.
|
|
40
|
-
(this.
|
|
41
|
-
(this.
|
|
42
|
-
(this.
|
|
37
|
+
(this.C = r),
|
|
38
|
+
(this.h = n),
|
|
39
|
+
(this.sn = o),
|
|
40
|
+
(this.Ea = a),
|
|
41
|
+
(this.Xh = h),
|
|
42
|
+
(this.Zh = u),
|
|
43
43
|
(this.appVersion = l),
|
|
44
|
-
(this
|
|
45
|
-
(this.
|
|
46
|
-
(this.
|
|
44
|
+
(this.$a = c),
|
|
45
|
+
(this.Ya = ["npm"]),
|
|
46
|
+
(this.Za = {});
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
const r = this.
|
|
50
|
-
n = r.
|
|
51
|
-
o = this.
|
|
48
|
+
$(t, e = !1, i = !1) {
|
|
49
|
+
const r = this.on.fe(!i),
|
|
50
|
+
n = r.Ar(),
|
|
51
|
+
o = this.j.lt(s.ct.Qa);
|
|
52
52
|
ii(o, n) || (t.device = n),
|
|
53
|
-
(t.api_key = this.
|
|
54
|
-
(t.time =
|
|
55
|
-
const a = this.
|
|
56
|
-
h = this.
|
|
57
|
-
this.
|
|
58
|
-
(!ii(a, this.
|
|
59
|
-
(t.sdk_metadata = this.
|
|
60
|
-
(t.sdk_version = this.
|
|
61
|
-
this.
|
|
53
|
+
(t.api_key = this.sn),
|
|
54
|
+
(t.time = X(new Date().valueOf(), !0));
|
|
55
|
+
const a = this.j.lt(s.ct.au) || [],
|
|
56
|
+
h = this.j.lt(s.ct.du) || "";
|
|
57
|
+
this.Ya.length > 0 &&
|
|
58
|
+
(!ii(a, this.Ya) || h !== this.C.bt()) &&
|
|
59
|
+
(t.sdk_metadata = this.Ya),
|
|
60
|
+
(t.sdk_version = this.Xh),
|
|
61
|
+
this.Zh && (t.sdk_flavor = this.Zh),
|
|
62
62
|
(t.app_version = this.appVersion),
|
|
63
|
-
(t.app_version_code = this
|
|
63
|
+
(t.app_version_code = this.$a),
|
|
64
64
|
(t.device_id = r.id);
|
|
65
65
|
const u = this.Cs.getUserId();
|
|
66
|
-
if ((e && null !== u && (t.user_id = u), !u && !this.
|
|
67
|
-
const e =
|
|
66
|
+
if ((e && null !== u && (t.user_id = u), !u && !this.Qh.fh())) {
|
|
67
|
+
const e = ce(this.j);
|
|
68
68
|
e && (t.alias = e);
|
|
69
69
|
}
|
|
70
70
|
return t;
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
Y(t, e, i) {
|
|
73
73
|
const s = e.auth_error,
|
|
74
74
|
r = e.error;
|
|
75
75
|
if (!s && !r) return !0;
|
|
76
76
|
if (s) {
|
|
77
77
|
let e;
|
|
78
|
-
this.
|
|
78
|
+
this.Qh.Gh();
|
|
79
79
|
const r = { errorCode: s.error_code };
|
|
80
80
|
for (const t of i)
|
|
81
|
-
|
|
81
|
+
D(t) && "X-Braze-Auth-Signature" === t[0] && (r.signature = t[1]);
|
|
82
82
|
t.respond_with && t.respond_with.user_id
|
|
83
83
|
? (r.userId = t.respond_with.user_id)
|
|
84
84
|
: t.user_id && (r.userId = t.user_id);
|
|
@@ -87,12 +87,12 @@ export default class Pt {
|
|
|
87
87
|
n
|
|
88
88
|
? ((r.reason = n), (e = `due to ${n}`))
|
|
89
89
|
: (e = `with error code ${s.error_code}.`),
|
|
90
|
-
this.
|
|
90
|
+
this.Qh.fh() ||
|
|
91
91
|
(e +=
|
|
92
92
|
' Please use the "enableSdkAuthentication" initialization option to enable authentication.'),
|
|
93
|
-
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
93
|
+
E.error(`SDK Authentication failed ${e}`),
|
|
94
|
+
this.fu(t.events || [], t.attributes || []),
|
|
95
|
+
this.Qh.yh(r),
|
|
96
96
|
!1
|
|
97
97
|
);
|
|
98
98
|
}
|
|
@@ -100,187 +100,188 @@ export default class Pt {
|
|
|
100
100
|
let i,
|
|
101
101
|
s = r;
|
|
102
102
|
switch (s) {
|
|
103
|
-
case Xt.
|
|
103
|
+
case Xt.vu:
|
|
104
104
|
return (
|
|
105
105
|
(i = "Received successful response with empty body."),
|
|
106
|
-
c.
|
|
107
|
-
|
|
106
|
+
c.rt(m.pu, { e: i }),
|
|
107
|
+
E.info(i),
|
|
108
108
|
!1
|
|
109
109
|
);
|
|
110
|
-
case Xt.
|
|
110
|
+
case Xt.Ru:
|
|
111
111
|
return (
|
|
112
112
|
(i = "Received successful response with invalid JSON"),
|
|
113
|
-
c.
|
|
114
|
-
|
|
113
|
+
c.rt(m.pu, { e: i + ": " + e.response }),
|
|
114
|
+
E.info(i),
|
|
115
115
|
!1
|
|
116
116
|
);
|
|
117
|
-
case Xt.
|
|
118
|
-
s = `The API key "${t.api_key}" is invalid for the baseUrl ${this.
|
|
117
|
+
case Xt.gu:
|
|
118
|
+
s = `The API key "${t.api_key}" is invalid for the baseUrl ${this.Ea}`;
|
|
119
119
|
break;
|
|
120
|
-
case Xt.
|
|
120
|
+
case Xt.bu:
|
|
121
121
|
s =
|
|
122
122
|
"Sorry, we are not currently accepting your requests. If you think this is in error, please contact us.";
|
|
123
123
|
break;
|
|
124
|
-
case Xt.
|
|
124
|
+
case Xt.qu:
|
|
125
125
|
s = "No device identifier. Please contact support@braze.com";
|
|
126
126
|
}
|
|
127
|
-
|
|
127
|
+
E.error("Backend error: " + s);
|
|
128
128
|
}
|
|
129
129
|
return !1;
|
|
130
130
|
}
|
|
131
|
-
|
|
132
|
-
return !!((t && 0 !== t.length) || (e && 0 !== e.length) || i
|
|
131
|
+
Au(t, e, i) {
|
|
132
|
+
return !!((t && 0 !== t.length) || (e && 0 !== e.length) || i);
|
|
133
133
|
}
|
|
134
|
-
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
let
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
let
|
|
142
|
-
|
|
143
|
-
if (
|
|
134
|
+
Du(t, e, i, s = !1) {
|
|
135
|
+
const r = [],
|
|
136
|
+
n = (t) => t || "",
|
|
137
|
+
o = n(this.Cs.getUserId());
|
|
138
|
+
let a = this.Mr(t);
|
|
139
|
+
const u = [],
|
|
140
|
+
l = [];
|
|
141
|
+
let c,
|
|
142
|
+
d = null;
|
|
143
|
+
if (e.length > 0) {
|
|
144
144
|
const t = [];
|
|
145
|
-
for (const
|
|
146
|
-
if (((
|
|
147
|
-
if (
|
|
148
|
-
|
|
145
|
+
for (const i of e) {
|
|
146
|
+
if (((c = i.Ar()), this.Qh.fh())) {
|
|
147
|
+
if (o && !c.user_id) {
|
|
148
|
+
d || (d = {}), d.events || (d.events = []), d.events.push(c);
|
|
149
149
|
continue;
|
|
150
150
|
}
|
|
151
|
-
if (
|
|
152
|
-
|
|
151
|
+
if (n(c.user_id) !== o) {
|
|
152
|
+
l.push(c);
|
|
153
153
|
continue;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
t.push(
|
|
156
|
+
t.push(c);
|
|
157
157
|
}
|
|
158
|
-
t.length > 0 && (
|
|
158
|
+
t.length > 0 && (a.events = t);
|
|
159
159
|
}
|
|
160
|
-
if (
|
|
160
|
+
if (i.length > 0) {
|
|
161
161
|
const t = [];
|
|
162
|
-
for (const e of
|
|
163
|
-
e && (this.
|
|
164
|
-
t.length > 0 && (
|
|
162
|
+
for (const e of i)
|
|
163
|
+
e && (this.Qh.fh() && n(e.user_id) !== o ? u.push(e) : t.push(e));
|
|
164
|
+
t.length > 0 && (a.attributes = t);
|
|
165
165
|
}
|
|
166
|
-
if ((this.
|
|
167
|
-
|
|
168
|
-
const t = { requestData:
|
|
169
|
-
|
|
166
|
+
if ((this.fu(l, u), (a = this.$(a, !1, s)), d)) {
|
|
167
|
+
d = this.$(d, !1, s);
|
|
168
|
+
const t = { requestData: d, headers: this.A(d, h.H.Tu) };
|
|
169
|
+
r.push(t);
|
|
170
170
|
}
|
|
171
|
-
if (
|
|
172
|
-
const
|
|
173
|
-
return
|
|
171
|
+
if (a && !this.Au(a.events, a.attributes, t)) return d ? r : null;
|
|
172
|
+
const f = { requestData: a, headers: this.A(a, h.H.Tu) };
|
|
173
|
+
return r.push(f), r;
|
|
174
174
|
}
|
|
175
|
-
|
|
175
|
+
fu(t, e) {
|
|
176
176
|
if (t) {
|
|
177
177
|
const e = [];
|
|
178
178
|
for (const i of t) {
|
|
179
|
-
const t =
|
|
180
|
-
(t.time =
|
|
179
|
+
const t = ue.fromJson(i);
|
|
180
|
+
(t.time = Yt(t.time)), e.push(t);
|
|
181
181
|
}
|
|
182
|
-
this.
|
|
182
|
+
this.j.Eo(e);
|
|
183
183
|
}
|
|
184
|
-
if (e) for (const t of e) this.
|
|
184
|
+
if (e) for (const t of e) this.j.ku(t);
|
|
185
185
|
}
|
|
186
|
-
|
|
186
|
+
_(t, e) {
|
|
187
187
|
let i = "HTTP error ";
|
|
188
|
-
null != t && (i += t + " "), (i += e),
|
|
188
|
+
null != t && (i += t + " "), (i += e), E.error(i);
|
|
189
189
|
}
|
|
190
|
-
|
|
191
|
-
return c.
|
|
190
|
+
yu(t) {
|
|
191
|
+
return c.rt(m.wu, { n: t });
|
|
192
192
|
}
|
|
193
|
-
|
|
194
|
-
const
|
|
195
|
-
t && (
|
|
196
|
-
const
|
|
197
|
-
if ((
|
|
198
|
-
const t =
|
|
199
|
-
t && (
|
|
193
|
+
Mr(t, e) {
|
|
194
|
+
const i = {};
|
|
195
|
+
t && (i.triggers = !0);
|
|
196
|
+
const s = null != e ? e : this.Cs.getUserId();
|
|
197
|
+
if ((s && (i.user_id = s), !i.user_id && !this.Qh.fh())) {
|
|
198
|
+
const t = ce(this.j);
|
|
199
|
+
t && (i.alias = t);
|
|
200
200
|
}
|
|
201
|
-
return (
|
|
201
|
+
return (i.config = { config_time: this.h.Ft() }), { respond_with: i };
|
|
202
202
|
}
|
|
203
|
-
|
|
203
|
+
Nu(t) {
|
|
204
204
|
const e = new Date().valueOf();
|
|
205
|
-
let i =
|
|
206
|
-
const s = h.
|
|
205
|
+
let i = Zt.toString();
|
|
206
|
+
const s = h.Cu(this.j, t);
|
|
207
207
|
if (-1 !== s) {
|
|
208
208
|
i = (e - s).toString();
|
|
209
209
|
}
|
|
210
210
|
return i;
|
|
211
211
|
}
|
|
212
|
-
|
|
213
|
-
const s = [["X-Braze-Api-Key", this.
|
|
214
|
-
r = this.
|
|
212
|
+
A(t, e, i = !1) {
|
|
213
|
+
const s = [["X-Braze-Api-Key", this.sn]],
|
|
214
|
+
r = this.Nu(e);
|
|
215
215
|
s.push(["X-Braze-Last-Req-Ms-Ago", r]);
|
|
216
|
-
const n = h.
|
|
216
|
+
const n = h.Su(this.j, e).toString();
|
|
217
217
|
s.push(["X-Braze-Req-Attempt", n]);
|
|
218
218
|
let o = !1;
|
|
219
219
|
if (
|
|
220
220
|
(null != t.respond_with &&
|
|
221
221
|
t.respond_with.triggers &&
|
|
222
222
|
(s.push(["X-Braze-TriggersRequest", "true"]), (o = !0)),
|
|
223
|
-
|
|
224
|
-
t.respond_with.feed &&
|
|
225
|
-
(s.push(["X-Braze-FeedRequest", "true"]), (o = !0)),
|
|
226
|
-
e === h.O.wi)
|
|
223
|
+
e === h.H.bi)
|
|
227
224
|
) {
|
|
228
225
|
s.push(["X-Braze-ContentCardsRequest", "true"]);
|
|
229
|
-
let t = h.
|
|
230
|
-
(t && !i) || ((t = 1), h.
|
|
226
|
+
let t = h.Su(this.j, h.H.bi);
|
|
227
|
+
(t && !i) || ((t = 1), h.Bu(this.j, h.H.bi, t));
|
|
231
228
|
const e = Math.max(0, t - 1);
|
|
232
229
|
s.push(["BRAZE-SYNC-RETRY-COUNT", e.toString()]), (o = !0);
|
|
233
230
|
}
|
|
234
231
|
if (
|
|
235
|
-
(e === h.
|
|
232
|
+
(e === h.H.$e &&
|
|
236
233
|
(s.push(["X-Braze-FeatureFlagsRequest", "true"]), (o = !0)),
|
|
237
234
|
o && s.push(["X-Braze-DataRequest", "true"]),
|
|
238
|
-
this.
|
|
235
|
+
this.Qh.fh())
|
|
239
236
|
) {
|
|
240
|
-
const t = this.
|
|
237
|
+
const t = this.Qh.wh();
|
|
241
238
|
null != t && s.push(["X-Braze-Auth-Signature", t]);
|
|
242
239
|
}
|
|
243
240
|
return s;
|
|
244
241
|
}
|
|
245
|
-
|
|
242
|
+
zu(t, e, i, s) {
|
|
243
|
+
if (this.Za[s]) return;
|
|
246
244
|
const r = window.setTimeout(() => {
|
|
247
|
-
|
|
248
|
-
this.
|
|
245
|
+
E.info(`Retrying rate limited ${this.Xa(s)}SDK request.`),
|
|
246
|
+
this.J(e, i, s);
|
|
249
247
|
}, t);
|
|
250
|
-
this.
|
|
248
|
+
this.Za[s] = r;
|
|
251
249
|
}
|
|
252
250
|
fo() {
|
|
253
|
-
for (const t
|
|
254
|
-
|
|
251
|
+
for (const t in this.Za) {
|
|
252
|
+
const e = this.Za[t];
|
|
253
|
+
window.clearTimeout(e);
|
|
254
|
+
}
|
|
255
|
+
this.Za = {};
|
|
255
256
|
}
|
|
256
|
-
|
|
257
|
-
if (!this
|
|
257
|
+
J(t, e, i, r) {
|
|
258
|
+
if (!this.ju(i))
|
|
258
259
|
return (
|
|
259
|
-
|
|
260
|
+
E.info(`${this.Xa(i)}SDK request being rate limited.`),
|
|
260
261
|
void ("function" == typeof r && r())
|
|
261
262
|
);
|
|
262
|
-
const n = this.
|
|
263
|
-
if (!n
|
|
263
|
+
const n = this.Mu();
|
|
264
|
+
if (!n.$u)
|
|
264
265
|
return (
|
|
265
|
-
|
|
266
|
-
|
|
266
|
+
this.zu(n.Xu, t, e, i),
|
|
267
|
+
void E.info(
|
|
268
|
+
`${this.Xa(
|
|
267
269
|
i,
|
|
268
270
|
)}SDK request being rate limited. Request will be retried in ${Math.trunc(
|
|
269
|
-
n.
|
|
271
|
+
n.Xu / 1e3,
|
|
270
272
|
)} seconds.`,
|
|
271
|
-
)
|
|
272
|
-
void this.Xu(n.Eu, t, e, i)
|
|
273
|
+
)
|
|
273
274
|
);
|
|
274
|
-
this.
|
|
275
|
+
this.j.ft(s.ct.Lu, new Date().valueOf());
|
|
275
276
|
const o = t.device;
|
|
276
277
|
o && o.os_version instanceof Promise
|
|
277
278
|
? o.os_version.then((i) => {
|
|
278
|
-
(t.device.os_version = i), e(n.
|
|
279
|
+
(t.device.os_version = i), e(n.Eu);
|
|
279
280
|
})
|
|
280
|
-
: e(n.
|
|
281
|
+
: e(n.Eu);
|
|
281
282
|
}
|
|
282
|
-
|
|
283
|
-
const e = t ?
|
|
283
|
+
Fu(t) {
|
|
284
|
+
const e = t ? ve(t) : null;
|
|
284
285
|
if (!e || !e["retry-after"]) return null;
|
|
285
286
|
const i = e["retry-after"];
|
|
286
287
|
if (isNaN(i) && !isNaN(Date.parse(i)))
|
|
@@ -290,21 +291,21 @@ export default class Pt {
|
|
|
290
291
|
{
|
|
291
292
|
const t =
|
|
292
293
|
"Received unexpected value for retry-after header in /sync response";
|
|
293
|
-
c.
|
|
294
|
+
c.rt(m.pu, { e: t + ": " + i });
|
|
294
295
|
}
|
|
295
296
|
return null;
|
|
296
297
|
}
|
|
297
|
-
|
|
298
|
-
if (h.
|
|
298
|
+
st(t, e, i, s, r, n) {
|
|
299
|
+
if (h.Su(this.j, i) >= he) return;
|
|
299
300
|
let o;
|
|
300
301
|
n = n || 0;
|
|
301
|
-
const a = this.
|
|
302
|
+
const a = this.Fu(t);
|
|
302
303
|
r();
|
|
303
304
|
const u = (t) => {
|
|
304
305
|
const r = window.setTimeout(() => {
|
|
305
306
|
e();
|
|
306
307
|
}, t);
|
|
307
|
-
s(r), h.
|
|
308
|
+
s(r), h.Ku(this.j, i);
|
|
308
309
|
};
|
|
309
310
|
if (a && !isNaN(a.value)) {
|
|
310
311
|
switch (a.type) {
|
|
@@ -315,46 +316,46 @@ export default class Pt {
|
|
|
315
316
|
o = a.value + n;
|
|
316
317
|
}
|
|
317
318
|
u(o);
|
|
318
|
-
} else n ? u(n) : h.
|
|
319
|
+
} else n ? u(n) : h.Ci(this.j, i);
|
|
319
320
|
}
|
|
320
|
-
|
|
321
|
+
Iu(t) {
|
|
321
322
|
var e;
|
|
322
|
-
null === (e = this.
|
|
323
|
+
null === (e = this.j) || void 0 === e || e.ft(s.ct.Pu, t);
|
|
323
324
|
}
|
|
324
|
-
|
|
325
|
-
let i = this.
|
|
326
|
-
null == i && (i = {}), (i[t] = e), this.
|
|
325
|
+
Uu(t, e) {
|
|
326
|
+
let i = this.xu();
|
|
327
|
+
null == i && (i = {}), (i[t] = e), this.j.ft(s.ct.Hu, i);
|
|
327
328
|
}
|
|
328
|
-
|
|
329
|
+
Ou() {
|
|
329
330
|
var t;
|
|
330
|
-
return null === (t = this.
|
|
331
|
+
return null === (t = this.j) || void 0 === t ? void 0 : t.lt(s.ct.Pu);
|
|
331
332
|
}
|
|
332
|
-
|
|
333
|
+
xu() {
|
|
333
334
|
var t;
|
|
334
|
-
return null === (t = this.
|
|
335
|
+
return null === (t = this.j) || void 0 === t ? void 0 : t.lt(s.ct.Hu);
|
|
335
336
|
}
|
|
336
|
-
|
|
337
|
+
Gu(t, e, i, s, r = "") {
|
|
337
338
|
let n;
|
|
338
339
|
if (r) {
|
|
339
|
-
const t = this.
|
|
340
|
+
const t = this.xu();
|
|
340
341
|
n = null == t || isNaN(t[r]) ? e : t[r];
|
|
341
|
-
} else (n = this.
|
|
342
|
+
} else (n = this.Ou()), (null == n || isNaN(n)) && (n = e);
|
|
342
343
|
const o = (t - s) / 1e3;
|
|
343
344
|
return (n = Math.min(n + o / i, e)), n;
|
|
344
345
|
}
|
|
345
|
-
|
|
346
|
+
_u(t, e) {
|
|
346
347
|
return Math.max(0, (1 - t) * e * 1e3);
|
|
347
348
|
}
|
|
348
|
-
|
|
349
|
+
Wu(t, e = "") {
|
|
349
350
|
var i, r, n, o, a;
|
|
350
|
-
const u = {
|
|
351
|
+
const u = { $u: !0, Eu: -1, Xu: 0 };
|
|
351
352
|
if ((null == t && (t = !0), !t && !e)) return u;
|
|
352
353
|
let l,
|
|
353
354
|
c,
|
|
354
355
|
d = null;
|
|
355
|
-
if (t) d = null === (i = this.
|
|
356
|
+
if (t) d = null === (i = this.j) || void 0 === i ? void 0 : i.lt(s.ct.Lu);
|
|
356
357
|
else {
|
|
357
|
-
const t = h.
|
|
358
|
+
const t = h.Yu(this.j);
|
|
358
359
|
if (null == t || null == t[e]) return u;
|
|
359
360
|
d = t[e];
|
|
360
361
|
}
|
|
@@ -362,38 +363,38 @@ export default class Pt {
|
|
|
362
363
|
if (
|
|
363
364
|
(t
|
|
364
365
|
? ((l =
|
|
365
|
-
(null === (r = this.
|
|
366
|
-
(c = (null === (n = this.
|
|
366
|
+
(null === (r = this.h) || void 0 === r ? void 0 : r.Ju()) || -1),
|
|
367
|
+
(c = (null === (n = this.h) || void 0 === n ? void 0 : n.Qu()) || -1))
|
|
367
368
|
: ((l =
|
|
368
|
-
(null === (o = this.
|
|
369
|
+
(null === (o = this.h) || void 0 === o ? void 0 : o.Vu(e)) || -1),
|
|
369
370
|
(c =
|
|
370
|
-
(null === (a = this.
|
|
371
|
+
(null === (a = this.h) || void 0 === a ? void 0 : a.Zu(e)) || -1)),
|
|
371
372
|
-1 === l || -1 === c)
|
|
372
373
|
)
|
|
373
374
|
return u;
|
|
374
375
|
const f = new Date().valueOf();
|
|
375
|
-
let m = this.
|
|
376
|
+
let m = this.Gu(f, l, c, d, e);
|
|
376
377
|
return m < 1
|
|
377
|
-
? ((u
|
|
378
|
+
? ((u.$u = !1), (u.Xu = this._u(m, c)), u)
|
|
378
379
|
: ((m = Math.trunc(m) - 1),
|
|
379
|
-
(u.
|
|
380
|
-
t ? this.
|
|
380
|
+
(u.Eu = m),
|
|
381
|
+
t ? this.Iu(m) : this.Uu(e, m),
|
|
381
382
|
u);
|
|
382
383
|
}
|
|
383
|
-
|
|
384
|
-
return this.
|
|
384
|
+
Mu() {
|
|
385
|
+
return this.Wu(!0);
|
|
385
386
|
}
|
|
386
|
-
|
|
387
|
-
const e = this.
|
|
388
|
-
return !(e && !e
|
|
389
|
-
}
|
|
390
|
-
it() {
|
|
391
|
-
this.Pa.it();
|
|
387
|
+
ju(t) {
|
|
388
|
+
const e = this.Wu(!1, t);
|
|
389
|
+
return !(e && !e.$u);
|
|
392
390
|
}
|
|
393
391
|
Z() {
|
|
394
|
-
|
|
392
|
+
this.Qh.Z();
|
|
393
|
+
}
|
|
394
|
+
V() {
|
|
395
|
+
return this.Ea;
|
|
395
396
|
}
|
|
396
397
|
addSdkMetadata(t) {
|
|
397
|
-
for (const e of t) -1 === this.
|
|
398
|
+
for (const e of t) -1 === this.Ya.indexOf(e) && this.Ya.push(e);
|
|
398
399
|
}
|
|
399
400
|
}
|