@mirai/core 0.4.290 → 0.4.291
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.
|
@@ -21,7 +21,6 @@ const {
|
|
|
21
21
|
GTM
|
|
22
22
|
} = _Core.PERFORMANCE || {};
|
|
23
23
|
let counter = 0;
|
|
24
|
-
let memoizedEvents = [];
|
|
25
24
|
let memoizedPendingEvents = [];
|
|
26
25
|
const PerformanceManager = () => {
|
|
27
26
|
const device = (0, _ui.useDevice)();
|
|
@@ -32,13 +31,12 @@ const PerformanceManager = () => {
|
|
|
32
31
|
const {
|
|
33
32
|
value: {
|
|
34
33
|
components = {},
|
|
35
|
-
performance = [],
|
|
34
|
+
performance: storePerformance = [],
|
|
36
35
|
...store
|
|
37
36
|
}
|
|
38
37
|
} = (0, _dataSources.useStore)();
|
|
39
38
|
const [consentMode, setConsentMode] = (0, _react.useState)((0, _helpers.getConsentMode)());
|
|
40
|
-
const [
|
|
41
|
-
const [types, setTypes] = (0, _react.useState)([]);
|
|
39
|
+
const [performance, setPerformance] = (0, _react.useState)(storePerformance);
|
|
42
40
|
const {
|
|
43
41
|
hotel = {},
|
|
44
42
|
finder: {
|
|
@@ -85,7 +83,7 @@ const PerformanceManager = () => {
|
|
|
85
83
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
86
84
|
}, []);
|
|
87
85
|
(0, _react.useEffect)(() => {
|
|
88
|
-
if (consentMode
|
|
86
|
+
if (consentMode) return;
|
|
89
87
|
const interval = setInterval(async () => {
|
|
90
88
|
counter !== undefined && counter++;
|
|
91
89
|
const nextConsentMode = (0, _helpers.getConsentMode)(counter >= MAX_COUNTER);
|
|
@@ -96,12 +94,6 @@ const PerformanceManager = () => {
|
|
|
96
94
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
97
95
|
return isGtm(provider);
|
|
98
96
|
}).length === 0 || !nextConsentMode && counter < MAX_COUNTER) return;
|
|
99
|
-
await loadScripts(performance.filter(function () {
|
|
100
|
-
let {
|
|
101
|
-
type
|
|
102
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
103
|
-
return type !== COMPARE;
|
|
104
|
-
}), nextConsentMode);
|
|
105
97
|
const nextMemoizedPendingEvents = [];
|
|
106
98
|
memoizedPendingEvents.forEach(function () {
|
|
107
99
|
let event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -113,7 +105,7 @@ const PerformanceManager = () => {
|
|
|
113
105
|
if (!execute || requeue) {
|
|
114
106
|
nextMemoizedPendingEvents.push(event);
|
|
115
107
|
} else {
|
|
116
|
-
executeEvent(event);
|
|
108
|
+
executeEvent(event, nextConsentMode);
|
|
117
109
|
if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);
|
|
118
110
|
}
|
|
119
111
|
});
|
|
@@ -127,7 +119,6 @@ const PerformanceManager = () => {
|
|
|
127
119
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
128
120
|
}, [consentMode]);
|
|
129
121
|
(0, _react.useEffect)(() => {
|
|
130
|
-
var _getPerformance;
|
|
131
122
|
const {
|
|
132
123
|
config,
|
|
133
124
|
finder: {
|
|
@@ -137,27 +128,24 @@ const PerformanceManager = () => {
|
|
|
137
128
|
} = {}
|
|
138
129
|
} = {}
|
|
139
130
|
} = store;
|
|
140
|
-
if (place
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
131
|
+
if (place) {
|
|
132
|
+
var _getPerformance;
|
|
133
|
+
setPerformance((_getPerformance = (0, _helpers3.getPerformance)(config, isHotel ? hotelId : undefined)) === null || _getPerformance === void 0 ? void 0 : _getPerformance.filter(function () {
|
|
134
|
+
let {
|
|
135
|
+
type
|
|
136
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
137
|
+
return type !== COMPARE;
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
146
140
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
141
|
}, [place]);
|
|
148
|
-
(0, _react.useEffect)(() => {
|
|
149
|
-
if (!ready) return;
|
|
150
|
-
memoizedEvents.forEach(event => executeEvent(event));
|
|
151
|
-
memoizedEvents = [];
|
|
152
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
153
|
-
}, [ready]);
|
|
154
142
|
(0, _react.useEffect)(() => {
|
|
155
143
|
const handleEvent = _ref4 => {
|
|
156
144
|
let {
|
|
157
145
|
event,
|
|
158
146
|
...value
|
|
159
147
|
} = _ref4;
|
|
160
|
-
const currentConsentMode = (0, _helpers.getConsentMode)();
|
|
148
|
+
const currentConsentMode = (0, _helpers.getConsentMode)(true);
|
|
161
149
|
const availableProviders = performance.map(function () {
|
|
162
150
|
let {
|
|
163
151
|
type
|
|
@@ -173,17 +161,19 @@ const PerformanceManager = () => {
|
|
|
173
161
|
provider,
|
|
174
162
|
value
|
|
175
163
|
};
|
|
176
|
-
if (!currentConsentMode &&
|
|
177
|
-
if (counter === undefined &&
|
|
164
|
+
if (!currentConsentMode && !availableProviders.includes(provider)) {
|
|
165
|
+
if (counter === undefined && _PerformanceManager.CONSENT_MODE_ANSWERED.includes(provider)) {
|
|
166
|
+
executeEvent(props);
|
|
167
|
+
} else if (!memoizedPendingEvents.some(item => item.event === event && item.provider === provider)) {
|
|
178
168
|
memoizedPendingEvents.push(props);
|
|
179
169
|
}
|
|
180
|
-
} else
|
|
170
|
+
} else executeEvent(props);
|
|
181
171
|
});
|
|
182
172
|
};
|
|
183
173
|
Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.subscribe(event, handleEvent));
|
|
184
174
|
return () => Object.keys(_PerformanceManager2.EVENTS).forEach(event => _dataSources.Event.unsubscribe(event, handleEvent));
|
|
185
175
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
186
|
-
}, [device,
|
|
176
|
+
}, [device, performance, store]);
|
|
187
177
|
const executeEvent = function () {
|
|
188
178
|
let {
|
|
189
179
|
provider,
|
|
@@ -191,30 +181,38 @@ const PerformanceManager = () => {
|
|
|
191
181
|
value,
|
|
192
182
|
event
|
|
193
183
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
194
|
-
|
|
184
|
+
let nextConsentMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : consentMode;
|
|
185
|
+
loadScripts(performance.filter(function () {
|
|
195
186
|
let {
|
|
196
187
|
type
|
|
197
|
-
} =
|
|
198
|
-
return type === provider;
|
|
199
|
-
})
|
|
200
|
-
|
|
201
|
-
...value,
|
|
202
|
-
...config,
|
|
203
|
-
device,
|
|
204
|
-
store
|
|
205
|
-
});
|
|
206
|
-
if (!response) return;
|
|
207
|
-
const label = "\u26A1\uFE0F ".concat((0, _helpers.getPerformanceLabel)(provider), " ").concat(event);
|
|
208
|
-
// eslint-disable-next-line no-console
|
|
209
|
-
response.then ? response.then(value => console.log(label, value)) : console.log(label, response);
|
|
210
|
-
if (provider === GTM) {
|
|
211
|
-
loadScripts(performance.filter(function () {
|
|
188
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
189
|
+
return type === provider && type !== COMPARE;
|
|
190
|
+
}), nextConsentMode).then(() => {
|
|
191
|
+
const config = performance.find(_ref6 => {
|
|
212
192
|
let {
|
|
213
193
|
type
|
|
214
|
-
} =
|
|
215
|
-
return type ===
|
|
216
|
-
})
|
|
217
|
-
|
|
194
|
+
} = _ref6;
|
|
195
|
+
return type === provider;
|
|
196
|
+
});
|
|
197
|
+
const response = callback({
|
|
198
|
+
...value,
|
|
199
|
+
...config,
|
|
200
|
+
device,
|
|
201
|
+
store
|
|
202
|
+
});
|
|
203
|
+
if (!response) return;
|
|
204
|
+
const label = "\u26A1\uFE0F ".concat((0, _helpers.getPerformanceLabel)(provider), " ").concat(event);
|
|
205
|
+
// eslint-disable-next-line no-console
|
|
206
|
+
response.then ? response.then(value => console.log(label, value)) : console.log(label, response);
|
|
207
|
+
if (provider === GTM) {
|
|
208
|
+
loadScripts(performance.filter(function () {
|
|
209
|
+
let {
|
|
210
|
+
type
|
|
211
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
212
|
+
return type === COMPARE;
|
|
213
|
+
}), nextConsentMode);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
218
216
|
};
|
|
219
217
|
const loadScripts = async function () {
|
|
220
218
|
let performance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -256,15 +254,9 @@ const PerformanceManager = () => {
|
|
|
256
254
|
}));
|
|
257
255
|
}
|
|
258
256
|
});
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
let {
|
|
263
|
-
type
|
|
264
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
265
|
-
return type;
|
|
266
|
-
}));
|
|
267
|
-
setReady(true);
|
|
257
|
+
for (let index = 0; index < scripts.length; index++) {
|
|
258
|
+
await (0, _helpers3.loadScript)(scripts[index]).catch(() => {});
|
|
259
|
+
}
|
|
268
260
|
};
|
|
269
261
|
return null;
|
|
270
262
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedEvents","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","ready","setReady","types","setTypes","hotel","finder","place","id","instanceId","locale","session","type","useEffect","window","Mirai","urlParameters","fetchUrlParams","location","search","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","IS_PLAYWRIGHT","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","length","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","loadScripts","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","_getPerformance","config","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","find","_ref6","response","label","concat","getPerformanceLabel","then","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","Promise","all","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedEvents = [];\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [ready, setReady] = useState(false);\n const [types, setTypes] = useState([]);\n\n const { hotel = {}, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n //! TODO: temp fix for 123 compare for first phase\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode && types.length > 0) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n await loadScripts(\n performance.filter(({ type } = {}) => type !== COMPARE),\n nextConsentMode,\n );\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute = nextConsentMode || (counter >= MAX_COUNTER && CONSENT_MODE_ANSWERED.includes(provider));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n } else {\n executeEvent(event);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place && ready)\n loadScripts(getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n if (!ready) return;\n\n memoizedEvents.forEach((event) => executeEvent(event));\n memoizedEvents = [];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode();\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (\n !currentConsentMode &&\n (!availableProviders.includes(provider) || (types.length > 0 && !types.includes(provider)))\n ) {\n if (counter === undefined && ready && CONSENT_MODE_ANSWERED.includes(provider)) executeEvent(props);\n else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else if (ready) executeEvent(props);\n else memoizedEvents.push(props);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, ready, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}) => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n consentMode,\n );\n }\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n setReady(false);\n await Promise.all(scripts.map((config) => loadScript(config).catch(() => {})));\n setTypes(scripts.map(({ type } = {}) => type));\n setReady(true);\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_helpers2","_Core","_helpers3","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","trackRender","useMetrics","value","components","performance","storePerformance","store","useStore","consentMode","setConsentMode","useState","getConsentMode","setPerformance","hotel","finder","place","id","instanceId","locale","session","type","useEffect","window","Mirai","urlParameters","fetchUrlParams","location","search","metrics","ServiceFeatures","get","bannedMetrics","Object","entries","filter","_ref","map","_ref2","key","handleMetrics","_ref3","props","IS_PLAYWRIGHT","host","event","toUpperCase","trim","metric","split","includes","KPI_EVENTS","method","hotelId","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","arguments","length","nextMemoizedPendingEvents","forEach","execute","CONSENT_MODE_ANSWERED","requeue","push","executeEvent","clearInterval","config","isHotel","_getPerformance","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","CONSENT_MODE_REQUIRED","EVENTS","_ref5","propProvider","callback","parseInt","some","item","keys","loadScripts","then","find","_ref6","response","label","concat","getPerformanceLabel","console","log","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { hotel = {}, finder: { place } = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n //! TODO: temp fix for 123 compare for first phase\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n\n const metrics = ServiceFeatures.get('metrics', hotel.id) || {};\n const bannedMetrics = Object.entries(metrics)\n .filter(([, value]) => value === false)\n .map(([key]) => key);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n const event = id.toUpperCase().trim();\n const [metric] = event.split(':');\n\n if (bannedMetrics.includes(metric) && !KPI_EVENTS.includes(event)) return;\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute = nextConsentMode || (counter >= MAX_COUNTER && CONSENT_MODE_ANSWERED.includes(provider));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n } else {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(\n getPerformance(config, isHotel ? hotelId : undefined)?.filter(({ type } = {}) => type !== COMPARE),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ const loadSentry = (dsn, release) => {
|
|
|
24
24
|
stack = ''
|
|
25
25
|
} = {}
|
|
26
26
|
} = hint || {};
|
|
27
|
-
if (message === "Cannot read properties of null (reading 'style')" && stack !== null && stack !== void 0 && stack.includes('HTMLLIElement.changeBackground')) {
|
|
27
|
+
if (message === "Cannot read properties of null (reading 'style')" && stack !== null && stack !== void 0 && stack.includes('HTMLLIElement.changeBackground') || stack !== null && stack !== void 0 && stack.includes('flickity')) {
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -32,7 +32,7 @@ const loadSentry = (dsn, release) => {
|
|
|
32
32
|
},
|
|
33
33
|
dsn,
|
|
34
34
|
release,
|
|
35
|
-
ignoreErrors: [/^Object captured as exception with keys: code, message$/, /^null is not an object (evaluating 'document.getElementById("cartAbandonment123_send_mail_offer_button").click')$/, /^Java exception was raised during method invocation$/, /^a.target.className.includes is not a function$/, /^undefined is not an object (evaluating 'window.webkit.messageHandlers')$/, /^Java bridge method invocation error$/],
|
|
35
|
+
ignoreErrors: [/^Object captured as exception with keys: code, message$/, /^Object captured as exception with keys: code, message, payload$/, /^null is not an object (evaluating 'document.getElementById("cartAbandonment123_send_mail_offer_button").click')$/, /^Java exception was raised during method invocation$/, /^a.target.className.includes is not a function$/, /^undefined is not an object (evaluating 'window.webkit.messageHandlers')$/, /^Java bridge method invocation error$/, /^a.target.parentNode.parentNode.className.includes is not a function$/, /^undefined is not an object (evaluating 'window.webkit.messageHandlers.print.postMessage')$/, /^undefined is not an object (evaluating 'content.replace')$/, /^Cannot read properties of null (reading 'style')$/],
|
|
36
36
|
integrations: [new Sentry.Replay({
|
|
37
37
|
networkDetailAllowUrls: /mirai/g
|
|
38
38
|
}), new Sentry.GlobalHandlers({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadSentry.js","names":["Sentry","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","loadSentry","dsn","release","init","allowUrls","beforeSend","event","hint","console","log","originalException","message","stack","includes","ignoreErrors","integrations","Replay","networkDetailAllowUrls","GlobalHandlers","onerror","onunhandledrejection","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","exports"],"sources":["../../src/helpers/loadSentry.js"],"sourcesContent":["import * as Sentry from '@sentry/react';\n\nexport const loadSentry = (dsn, release) => {\n if (!dsn || !release) return;\n\n Sentry.init({\n allowUrls: [/https?:\\/\\/((static)\\.)?mirai\\.com/],\n beforeSend(event, hint) {\n // eslint-disable-next-line no-console\n console.log({ event, hint });\n\n if (hint !== null) {\n const { originalException: { message = '', stack = '' } = {} } = hint || {};\n if (\n message === `Cannot read properties of null (reading 'style')` &&\n
|
|
1
|
+
{"version":3,"file":"loadSentry.js","names":["Sentry","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","loadSentry","dsn","release","init","allowUrls","beforeSend","event","hint","console","log","originalException","message","stack","includes","ignoreErrors","integrations","Replay","networkDetailAllowUrls","GlobalHandlers","onerror","onunhandledrejection","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","exports"],"sources":["../../src/helpers/loadSentry.js"],"sourcesContent":["import * as Sentry from '@sentry/react';\n\nexport const loadSentry = (dsn, release) => {\n if (!dsn || !release) return;\n\n Sentry.init({\n allowUrls: [/https?:\\/\\/((static)\\.)?mirai\\.com/],\n beforeSend(event, hint) {\n // eslint-disable-next-line no-console\n console.log({ event, hint });\n\n if (hint !== null) {\n const { originalException: { message = '', stack = '' } = {} } = hint || {};\n if (\n (message === `Cannot read properties of null (reading 'style')` &&\n stack?.includes('HTMLLIElement.changeBackground')) ||\n stack?.includes('flickity')\n ) {\n return null;\n }\n }\n return event;\n },\n dsn,\n release,\n ignoreErrors: [\n /^Object captured as exception with keys: code, message$/,\n /^Object captured as exception with keys: code, message, payload$/,\n /^null is not an object (evaluating 'document.getElementById(\"cartAbandonment123_send_mail_offer_button\").click')$/,\n /^Java exception was raised during method invocation$/,\n /^a.target.className.includes is not a function$/,\n /^undefined is not an object (evaluating 'window.webkit.messageHandlers')$/,\n /^Java bridge method invocation error$/,\n /^a.target.parentNode.parentNode.className.includes is not a function$/,\n /^undefined is not an object (evaluating 'window.webkit.messageHandlers.print.postMessage')$/,\n /^undefined is not an object (evaluating 'content.replace')$/,\n /^Cannot read properties of null (reading 'style')$/,\n ],\n integrations: [\n new Sentry.Replay({ networkDetailAllowUrls: /mirai/g }),\n new Sentry.GlobalHandlers({ onerror: false, onunhandledrejection: false }),\n ],\n tracesSampleRate: 0.1, // Capture 100% of the transactions, reduce in production!\n replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.\n replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.\n });\n\n return Sentry;\n};\n"],"mappings":"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"}
|