@cloudcare/browser-core 3.2.42 → 3.2.44

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.
@@ -16,6 +16,7 @@ var DOM_EVENT = exports.DOM_EVENT = {
16
16
  TOUCH_END: 'touchend',
17
17
  TOUCH_MOVE: 'touchmove',
18
18
  VISIBILITY_CHANGE: 'visibilitychange',
19
+ PRERENDERING_CHANGE: 'prerenderingchange',
19
20
  PAGE_SHOW: 'pageshow',
20
21
  FREEZE: 'freeze',
21
22
  RESUME: 'resume',
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["DOM_EVENT","exports","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","STORAGE","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","CUSTOM","ActionType","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","RumLongTaskEntryType","LONG_ANIMATION_FRAME","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange',\n STORAGE: 'storage'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other',\n CUSTOM: 'custom'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\nexport var RumLongTaskEntryType = {\n LONG_TASK: 'long-task',\n LONG_ANIMATION_FRAME: 'long-animation-frame'\n}\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"enums.js","names":["DOM_EVENT","exports","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PRERENDERING_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","STORAGE","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","CUSTOM","ActionType","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","RumLongTaskEntryType","LONG_ANIMATION_FRAME","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PRERENDERING_CHANGE: 'prerenderingchange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange',\n STORAGE: 'storage'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other',\n CUSTOM: 'custom'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\nexport var RumLongTaskEntryType = {\n LONG_TASK: 'long-task',\n LONG_ANIMATION_FRAME: 'long-animation-frame'\n}\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":";;;;;;AAAO,IAAIA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACrBE,aAAa,EAAE,cAAc;EAC7BC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,UAAU;EACrBC,QAAQ,EAAE,SAAS;EACnBC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,iBAAiB,EAAE,kBAAkB;EACrCC,mBAAmB,EAAE,oBAAoB;EACzCC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,kBAAkB,EAAE,kBAAkB;EACtCC,YAAY,EAAE,aAAa;EAC3BC,UAAU,EAAE,WAAW;EACvBC,cAAc,EAAE,eAAe;EAC/BC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,UAAU,EAAE,WAAW;EACvBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE,aAAa;EAC3BC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,yBAAyB,EAAE,yBAAyB;EACpDC,gBAAgB,EAAE,iBAAiB;EACnCC,OAAO,EAAE;AACX,CAAC;AACM,IAAIC,YAAY,GAAApC,OAAA,CAAAoC,YAAA,GAAG;EACxBC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,GAAG,EAAE,KAAK;EACVC,EAAE,EAAE,IAAI;EACRC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAEM,IAAIC,UAAU,GAAAhD,OAAA,CAAAgD,UAAA,GAAG;EACtB9C,KAAK,EAAE,OAAO;EACd6C,MAAM,EAAE;AACV,CAAC;AACM,IAAIE,eAAe,GAAAjD,OAAA,CAAAiD,eAAA,GAAG;EAC3BC,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE;AACd,CAAC;AACM,IAAIC,YAAY,GAAArD,OAAA,CAAAqD,YAAA,GAAG;EACxBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE;AACV,CAAC;AACM,IAAIC,oBAAoB,GAAA5D,OAAA,CAAA4D,oBAAA,GAAG;EAChCJ,SAAS,EAAE,WAAW;EACtBK,oBAAoB,EAAE;AACxB,CAAC;AACM,IAAIC,eAAe,GAAA9D,OAAA,CAAA8D,eAAA,GAAG;EAC3BC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE;AAChB,CAAC;AACM,IAAIC,WAAW,GAAAjE,OAAA,CAAAiE,WAAA,GAAG;EACvBzB,KAAK,EAAEJ,YAAY,CAACI,KAAK;EACzBF,GAAG,EAAEF,YAAY,CAACE;AACpB,CAAC;AAEM,IAAI4B,SAAS,GAAAlE,OAAA,CAAAkE,SAAA,GAAG;EACrBC,OAAO,EAAE,SAAS;EAClBC,mBAAmB,EAAE,QAAQ;EAC7BC,oBAAoB,EAAE,sBAAsB;EAC5CC,eAAe,EAAE,iBAAiB;EAClCC,kBAAkB,EAAE,uBAAuB;EAC3CC,aAAa,EAAE,eAAe;EAC9BC,MAAM,EAAE;AACV,CAAC;AACM,IAAIC,aAAa,GAAA1E,OAAA,CAAA0E,aAAA,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE;AACb,CAAC;AACM,IAAIC,cAAc,GAAA7E,OAAA,CAAA6E,cAAA,GAAG;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionStoreOperations.js","names":["_timer","require","_tools","_sessionState","_telemetry","_excluded","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","hasOwnProperty","LOCK_RETRY_DELAY","exports","LOCK_MAX_TRIES","LOCK_EXPIRATION_DELAY","ONE_SECOND","LOCK_SEPARATOR","bufferedOperations","ongoingOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","arguments","undefined","isLockEnabled","persistSession","expireSession","persistWithLock","session","assign","lock","currentLock","retrieveStore","_sessionStoreStrategy","retrieveSession","isLockExpired","addTelemetryDebug","currentStore","retryLater","createLock","processedSession","process","isSessionInExpiredState","expandSessionState","after","sessionStore","currentNumberOfRetries","setTimeout","nextOperations","shift","UUID","timeStampNow","_lock$split","split","_lock$split2","timeStamp","elapsed","Number"],"sources":["../../src/session/sessionStoreOperations.js"],"sourcesContent":["import { setTimeout } from '../helper/timer'\nimport {\n UUID,\n assign,\n ONE_SECOND,\n timeStampNow,\n elapsed\n} from '../helper/tools'\nimport { expandSessionState, isSessionInExpiredState } from './sessionState'\nimport { addTelemetryDebug } from '../telemetry/telemetry'\nexport const LOCK_RETRY_DELAY = 10\nexport const LOCK_MAX_TRIES = 100\n\n// Locks should be hold for a few milliseconds top, just the time it takes to read and write a\n// cookie. Using one second should be enough in most situations.\nexport const LOCK_EXPIRATION_DELAY = ONE_SECOND\nconst LOCK_SEPARATOR = '--'\nconst bufferedOperations = []\nlet ongoingOperations\n\nexport function processSessionStoreOperations(\n operations,\n sessionStoreStrategy,\n numberOfRetries = 0\n) {\n const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy\n const persistWithLock = function (session) {\n return persistSession(assign({}, session, { lock: currentLock }))\n }\n const retrieveStore = function () {\n const { lock, ...session } = sessionStoreStrategy.retrieveSession()\n\n return {\n session,\n lock: lock && !isLockExpired(lock) ? lock : undefined\n }\n }\n\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n addTelemetryDebug('Aborted session operation after max lock retries', {\n currentStore: retrieveStore()\n })\n next(sessionStoreStrategy)\n return\n }\n let currentLock\n let currentStore = retrieveStore()\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = createLock()\n persistWithLock(currentStore.session)\n // if lock is not acquired, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n let processedSession = operations.process(currentStore.session)\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession()\n } else {\n expandSessionState(processedSession)\n isLockEnabled\n ? persistWithLock(processedSession)\n : persistSession(processedSession)\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n persistSession(currentStore.session)\n processedSession = currentStore.session\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n if (operations.after) {\n operations.after(processedSession || currentStore.session)\n }\n next(sessionStoreStrategy)\n}\n\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(\n operations,\n sessionStore,\n currentNumberOfRetries + 1\n )\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next(sessionStore) {\n ongoingOperations = undefined\n const nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore)\n }\n}\n\nexport function createLock() {\n return UUID() + LOCK_SEPARATOR + timeStampNow()\n}\n\nfunction isLockExpired(lock) {\n const [, timeStamp] = lock.split(LOCK_SEPARATOR)\n return (\n !timeStamp ||\n elapsed(Number(timeStamp), timeStampNow()) > LOCK_EXPIRATION_DELAY\n )\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAOA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAA0D,IAAAI,SAAA;AAAA,SAAAC,eAAAC,CAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,CAAA,KAAAG,qBAAA,CAAAH,CAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,CAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAJ,CAAA,EAAAO,CAAA,QAAAP,CAAA,2BAAAA,CAAA,SAAAQ,iBAAA,CAAAR,CAAA,EAAAO,CAAA,OAAAE,CAAA,MAAAC,QAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAY,KAAA,6BAAAH,CAAA,IAAAT,CAAA,CAAAa,WAAA,KAAAJ,CAAA,GAAAT,CAAA,CAAAa,WAAA,CAAAC,IAAA,aAAAL,CAAA,cAAAA,CAAA,GAAAM,KAAA,CAAAC,IAAA,CAAAhB,CAAA,oBAAAS,CAAA,+CAAAQ,IAAA,CAAAR,CAAA,IAAAD,iBAAA,CAAAR,CAAA,EAAAO,CAAA;AAAA,SAAAC,kBAAAR,CAAA,EAAAO,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAP,CAAA,CAAAkB,MAAA,MAAAX,CAAA,GAAAP,CAAA,CAAAkB,MAAA,YAAAjB,CAAA,MAAAkB,CAAA,GAAAJ,KAAA,CAAAR,CAAA,GAAAN,CAAA,GAAAM,CAAA,EAAAN,CAAA,IAAAkB,CAAA,CAAAlB,CAAA,IAAAD,CAAA,CAAAC,CAAA,UAAAkB,CAAA;AAAA,SAAAhB,sBAAAH,CAAA,EAAAoB,CAAA,QAAAX,CAAA,WAAAT,CAAA,gCAAAqB,MAAA,IAAArB,CAAA,CAAAqB,MAAA,CAAAC,QAAA,KAAAtB,CAAA,4BAAAS,CAAA,QAAAR,CAAA,EAAAkB,CAAA,EAAAI,CAAA,EAAAC,CAAA,EAAAjB,CAAA,OAAAkB,CAAA,OAAAC,CAAA,iBAAAH,CAAA,IAAAd,CAAA,GAAAA,CAAA,CAAAE,IAAA,CAAAX,CAAA,GAAA2B,IAAA,QAAAP,CAAA,QAAAQ,MAAA,CAAAnB,CAAA,MAAAA,CAAA,UAAAgB,CAAA,uBAAAA,CAAA,IAAAxB,CAAA,GAAAsB,CAAA,CAAAZ,IAAA,CAAAF,CAAA,GAAAoB,IAAA,MAAAtB,CAAA,CAAAuB,IAAA,CAAA7B,CAAA,CAAA8B,KAAA,GAAAxB,CAAA,CAAAW,MAAA,KAAAE,CAAA,GAAAK,CAAA,iBAAAzB,CAAA,IAAA0B,CAAA,OAAAP,CAAA,GAAAnB,CAAA,yBAAAyB,CAAA,YAAAhB,CAAA,eAAAe,CAAA,GAAAf,CAAA,cAAAmB,MAAA,CAAAJ,CAAA,MAAAA,CAAA,2BAAAE,CAAA,QAAAP,CAAA,aAAAZ,CAAA;AAAA,SAAAL,gBAAAF,CAAA,QAAAe,KAAA,CAAAiB,OAAA,CAAAhC,CAAA,UAAAA,CAAA;AAAA,SAAAiC,yBAAAhC,CAAA,EAAAQ,CAAA,gBAAAR,CAAA,iBAAAyB,CAAA,EAAA1B,CAAA,EAAAuB,CAAA,GAAAW,6BAAA,CAAAjC,CAAA,EAAAQ,CAAA,OAAAmB,MAAA,CAAAO,qBAAA,QAAAhB,CAAA,GAAAS,MAAA,CAAAO,qBAAA,CAAAlC,CAAA,QAAAD,CAAA,MAAAA,CAAA,GAAAmB,CAAA,CAAAD,MAAA,EAAAlB,CAAA,IAAA0B,CAAA,GAAAP,CAAA,CAAAnB,CAAA,UAAAS,CAAA,CAAA2B,OAAA,CAAAV,CAAA,QAAAW,oBAAA,CAAA1B,IAAA,CAAAV,CAAA,EAAAyB,CAAA,MAAAH,CAAA,CAAAG,CAAA,IAAAzB,CAAA,CAAAyB,CAAA,aAAAH,CAAA;AAAA,SAAAW,8BAAAlC,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAS,CAAA,gBAAAU,CAAA,IAAAnB,CAAA,SAAAsC,cAAA,CAAA3B,IAAA,CAAAX,CAAA,EAAAmB,CAAA,gBAAAlB,CAAA,CAAAmC,OAAA,CAAAjB,CAAA,aAAAV,CAAA,CAAAU,CAAA,IAAAnB,CAAA,CAAAmB,CAAA,YAAAV,CAAA;AACnD,IAAM8B,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,EAAE;AAC3B,IAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,GAAG;;AAEjC;AACA;AACO,IAAMC,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAGC,iBAAU;AAC/C,IAAMC,cAAc,GAAG,IAAI;AAC3B,IAAMC,kBAAkB,GAAG,EAAE;AAC7B,IAAIC,iBAAiB;AAEd,SAASC,6BAA6BA,CAC3CC,UAAU,EACVC,oBAAoB,EAEpB;EAAA,IADAC,eAAe,GAAAC,SAAA,CAAAjC,MAAA,QAAAiC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;EAEnB,IAAQE,aAAa,GAAoCJ,oBAAoB,CAArEI,aAAa;IAAEC,cAAc,GAAoBL,oBAAoB,CAAtDK,cAAc;IAAEC,aAAa,GAAKN,oBAAoB,CAAtCM,aAAa;EACpD,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAaC,OAAO,EAAE;IACzC,OAAOH,cAAc,CAAC,IAAAI,aAAM,EAAC,CAAC,CAAC,EAAED,OAAO,EAAE;MAAEE,IAAI,EAAEC;IAAY,CAAC,CAAC,CAAC;EACnE,CAAC;EACD,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAe;IAChC,IAAAC,qBAAA,GAA6Bb,oBAAoB,CAACc,eAAe,CAAC,CAAC;MAA3DJ,IAAI,GAAAG,qBAAA,CAAJH,IAAI;MAAKF,OAAO,GAAAxB,wBAAA,CAAA6B,qBAAA,EAAAhE,SAAA;IAExB,OAAO;MACL2D,OAAO,EAAPA,OAAO;MACPE,IAAI,EAAEA,IAAI,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC,GAAGA,IAAI,GAAGP;IAC9C,CAAC;EACH,CAAC;EAED,IAAI,CAACN,iBAAiB,EAAE;IACtBA,iBAAiB,GAAGE,UAAU;EAChC;EACA,IAAIA,UAAU,KAAKF,iBAAiB,EAAE;IACpCD,kBAAkB,CAACf,IAAI,CAACkB,UAAU,CAAC;IACnC;EACF;EACA,IAAIK,aAAa,IAAIH,eAAe,IAAIT,cAAc,EAAE;IACtD,IAAAwB,4BAAiB,EAAC,kDAAkD,EAAE;MACpEC,YAAY,EAAEL,aAAa,CAAC;IAC9B,CAAC,CAAC;IACFlC,IAAI,CAACsB,oBAAoB,CAAC;IAC1B;EACF;EACA,IAAIW,WAAW;EACf,IAAIM,YAAY,GAAGL,aAAa,CAAC,CAAC;EAClC,IAAIR,aAAa,EAAE;IACjB;IACA,IAAIa,YAAY,CAACP,IAAI,EAAE;MACrBQ,UAAU,CAACnB,UAAU,EAAEC,oBAAoB,EAAEC,eAAe,CAAC;MAC7D;IACF;IACA;IACAU,WAAW,GAAGQ,UAAU,CAAC,CAAC;IAC1BZ,eAAe,CAACU,YAAY,CAACT,OAAO,CAAC;IACrC;IACAS,YAAY,GAAGL,aAAa,CAAC,CAAC;IAC9B,IAAIK,YAAY,CAACP,IAAI,KAAKC,WAAW,EAAE;MACrCO,UAAU,CAACnB,UAAU,EAAEC,oBAAoB,EAAEC,eAAe,CAAC;MAC7D;IACF;EACF;EACA,IAAImB,gBAAgB,GAAGrB,UAAU,CAACsB,OAAO,CAACJ,YAAY,CAACT,OAAO,CAAC;EAC/D,IAAIJ,aAAa,EAAE;IACjB;IACAa,YAAY,GAAGL,aAAa,CAAC,CAAC;IAC9B,IAAIK,YAAY,CAACP,IAAI,KAAKC,WAAW,EAAE;MACrCO,UAAU,CAACnB,UAAU,EAAEC,oBAAoB,EAAEC,eAAe,CAAC;MAC7D;IACF;EACF;EACA,IAAImB,gBAAgB,EAAE;IACpB,IAAI,IAAAE,qCAAuB,EAACF,gBAAgB,CAAC,EAAE;MAC7Cd,aAAa,CAAC,CAAC;IACjB,CAAC,MAAM;MACL,IAAAiB,gCAAkB,EAACH,gBAAgB,CAAC;MACpChB,aAAa,GACTG,eAAe,CAACa,gBAAgB,CAAC,GACjCf,cAAc,CAACe,gBAAgB,CAAC;IACtC;EACF;EACA,IAAIhB,aAAa,EAAE;IACjB;IACA;IACA,IAAI,EAAEgB,gBAAgB,IAAI,IAAAE,qCAAuB,EAACF,gBAAgB,CAAC,CAAC,EAAE;MACpE;MACAH,YAAY,GAAGL,aAAa,CAAC,CAAC;MAC9B,IAAIK,YAAY,CAACP,IAAI,KAAKC,WAAW,EAAE;QACrCO,UAAU,CAACnB,UAAU,EAAEC,oBAAoB,EAAEC,eAAe,CAAC;QAC7D;MACF;MACAI,cAAc,CAACY,YAAY,CAACT,OAAO,CAAC;MACpCY,gBAAgB,GAAGH,YAAY,CAACT,OAAO;IACzC;EACF;EACA;EACA;EACA,IAAIT,UAAU,CAACyB,KAAK,EAAE;IACpBzB,UAAU,CAACyB,KAAK,CAACJ,gBAAgB,IAAIH,YAAY,CAACT,OAAO,CAAC;EAC5D;EACA9B,IAAI,CAACsB,oBAAoB,CAAC;AAC5B;AAEA,SAASkB,UAAUA,CAACnB,UAAU,EAAE0B,YAAY,EAAEC,sBAAsB,EAAE;EACpE,IAAAC,iBAAU,EAAC,YAAY;IACrB7B,6BAA6B,CAC3BC,UAAU,EACV0B,YAAY,EACZC,sBAAsB,GAAG,CAC3B,CAAC;EACH,CAAC,EAAEpC,gBAAgB,CAAC;AACtB;AAEA,SAASZ,IAAIA,CAAC+C,YAAY,EAAE;EAC1B5B,iBAAiB,GAAGM,SAAS;EAC7B,IAAMyB,cAAc,GAAGhC,kBAAkB,CAACiC,KAAK,CAAC,CAAC;EACjD,IAAID,cAAc,EAAE;IAClB9B,6BAA6B,CAAC8B,cAAc,EAAEH,YAAY,CAAC;EAC7D;AACF;AAEO,SAASN,UAAUA,CAAA,EAAG;EAC3B,OAAO,IAAAW,WAAI,EAAC,CAAC,GAAGnC,cAAc,GAAG,IAAAoC,mBAAY,EAAC,CAAC;AACjD;AAEA,SAAShB,aAAaA,CAACL,IAAI,EAAE;EAC3B,IAAAsB,WAAA,GAAsBtB,IAAI,CAACuB,KAAK,CAACtC,cAAc,CAAC;IAAAuC,YAAA,GAAApF,cAAA,CAAAkF,WAAA;IAAvCG,SAAS,GAAAD,YAAA;EAClB,OACE,CAACC,SAAS,IACV,IAAAC,cAAO,EAACC,MAAM,CAACF,SAAS,CAAC,EAAE,IAAAJ,mBAAY,EAAC,CAAC,CAAC,GAAGtC,qBAAqB;AAEtE","ignoreList":[]}
1
+ {"version":3,"file":"sessionStoreOperations.js","names":["_timer","require","_tools","_sessionState","_telemetry","_excluded","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","hasOwnProperty","LOCK_RETRY_DELAY","exports","LOCK_MAX_TRIES","LOCK_EXPIRATION_DELAY","ONE_SECOND","LOCK_SEPARATOR","bufferedOperations","ongoingOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","arguments","undefined","isLockEnabled","persistSession","expireSession","persistWithLock","session","assign","lock","currentLock","retrieveStore","_sessionStoreStrategy","retrieveSession","isLockExpired","addTelemetryDebug","currentStore","retryLater","createLock","processedSession","process","isSessionInExpiredState","expandSessionState","after","sessionStore","currentNumberOfRetries","setTimeout","nextOperations","shift","UUID","timeStampNow","_lock$split","split","_lock$split2","timeStamp","elapsed","Number"],"sources":["../../src/session/sessionStoreOperations.js"],"sourcesContent":["import { setTimeout } from '../helper/timer'\nimport {\n UUID,\n assign,\n ONE_SECOND,\n timeStampNow,\n elapsed\n} from '../helper/tools'\nimport { expandSessionState, isSessionInExpiredState } from './sessionState'\nimport { addTelemetryDebug } from '../telemetry/telemetry'\nexport const LOCK_RETRY_DELAY = 10\nexport const LOCK_MAX_TRIES = 100\n\n// Locks should be hold for a few milliseconds top, just the time it takes to read and write a\n// cookie. Using one second should be enough in most situations.\nexport const LOCK_EXPIRATION_DELAY = ONE_SECOND\nconst LOCK_SEPARATOR = '--'\nconst bufferedOperations = []\nlet ongoingOperations\n\nexport function processSessionStoreOperations(\n operations,\n sessionStoreStrategy,\n numberOfRetries = 0\n) {\n const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy\n const persistWithLock = function (session) {\n return persistSession(assign({}, session, { lock: currentLock }))\n }\n const retrieveStore = function () {\n const { lock, ...session } = sessionStoreStrategy.retrieveSession()\n\n return {\n session,\n lock: lock && !isLockExpired(lock) ? lock : undefined\n }\n }\n\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n addTelemetryDebug('Aborted session operation after max lock retries', {\n currentStore: retrieveStore()\n })\n next(sessionStoreStrategy)\n return\n }\n let currentLock\n let currentStore = retrieveStore()\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = createLock()\n persistWithLock(currentStore.session)\n // if lock is not acquired, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n let processedSession = operations.process(currentStore.session)\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession()\n } else {\n expandSessionState(processedSession)\n isLockEnabled\n ? persistWithLock(processedSession)\n : persistSession(processedSession)\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n persistSession(currentStore.session)\n processedSession = currentStore.session\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n if (operations.after) {\n operations.after(processedSession || currentStore.session)\n }\n next(sessionStoreStrategy)\n}\n\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(\n operations,\n sessionStore,\n currentNumberOfRetries + 1\n )\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next(sessionStore) {\n ongoingOperations = undefined\n const nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore)\n }\n}\n\nexport function createLock() {\n return UUID() + LOCK_SEPARATOR + timeStampNow()\n}\n\nfunction isLockExpired(lock) {\n const [, timeStamp] = lock.split(LOCK_SEPARATOR)\n return (\n !timeStamp ||\n elapsed(Number(timeStamp), timeStampNow()) > LOCK_EXPIRATION_DELAY\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -30,11 +30,15 @@ function getEventBridge() {
30
30
  var view = viewId ? {
31
31
  id: viewId
32
32
  } : undefined;
33
- eventBridgeGlobal.sendEvent(JSON.stringify({
34
- name: eventType,
35
- data: event,
36
- view: view
37
- }));
33
+ try {
34
+ eventBridgeGlobal.sendEvent(JSON.stringify({
35
+ name: eventType,
36
+ data: event,
37
+ view: view
38
+ }));
39
+ } catch (e) {
40
+ // unload postmessage error
41
+ }
38
42
  }
39
43
  };
40
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eventBridge.js","names":["_init","require","getEventBridgeGlobal","getGlobalObject","FTWebViewJavascriptBridge","getEventBridge","eventBridgeGlobal","getCapabilities","JSON","parse","getPrivacyLevel","getAllowedWebViewHosts","send","eventType","event","viewId","view","id","undefined","sendEvent","stringify","name","data","BridgeCapability","exports","RECORDS","bridgeSupports","capability","bridge","includes","canUseEventBridge","_getGlobalObject$loca","currentHost","arguments","length","location","hostname","some","allowedHost","endsWith","concat"],"sources":["../../src/transport/eventBridge.js"],"sourcesContent":["import { getGlobalObject } from '../init'\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().FTWebViewJavascriptBridge\n}\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n getCapabilities() {\n return JSON.parse(\n (eventBridgeGlobal.getCapabilities &&\n eventBridgeGlobal.getCapabilities()) ||\n '[]'\n )\n },\n getPrivacyLevel() {\n return (\n eventBridgeGlobal.getPrivacyLevel && eventBridgeGlobal.getPrivacyLevel()\n )\n },\n getAllowedWebViewHosts() {\n return JSON.parse(\n (eventBridgeGlobal.getAllowedWebViewHosts &&\n eventBridgeGlobal.getAllowedWebViewHosts()) ||\n '[]'\n )\n },\n send(eventType, event, viewId) {\n const view = viewId ? { id: viewId } : undefined\n eventBridgeGlobal.sendEvent(\n JSON.stringify({ name: eventType, data: event, view })\n )\n }\n }\n}\nexport const BridgeCapability = {\n RECORDS: 'records'\n}\nexport function bridgeSupports(capability) {\n const bridge = getEventBridge()\n\n return !!bridge && bridge.getCapabilities().includes(capability)\n}\nexport function canUseEventBridge(\n currentHost = getGlobalObject().location?.hostname\n) {\n const eventBridgeGlobal = getEventBridgeGlobal()\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts === undefined\n ) {\n return true\n }\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts &&\n (eventBridgeGlobal.getAllowedWebViewHosts() === null ||\n eventBridgeGlobal.getAllowedWebViewHosts() === undefined)\n ) {\n return true\n }\n var bridge = getEventBridge()\n return (\n !!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(\n (allowedHost) =>\n currentHost === allowedHost || currentHost.endsWith(`.${allowedHost}`)\n )\n )\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAO,IAAAC,qBAAe,EAAC,CAAC,CAACC,yBAAyB;AACpD;AACO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAIC,iBAAiB,GAAGJ,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACI,iBAAiB,EAAE;IACtB;EACF;EAEA,OAAO;IACLC,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OAAOC,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACC,eAAe,IAChCD,iBAAiB,CAACC,eAAe,CAAC,CAAC,IACnC,IACJ,CAAC;IACH,CAAC;IACDG,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OACEJ,iBAAiB,CAACI,eAAe,IAAIJ,iBAAiB,CAACI,eAAe,CAAC,CAAC;IAE5E,CAAC;IACDC,sBAAsB,WAAtBA,sBAAsBA,CAAA,EAAG;MACvB,OAAOH,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACK,sBAAsB,IACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,IAC1C,IACJ,CAAC;IACH,CAAC;IACDC,IAAI,WAAJA,IAAIA,CAACC,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAE;MAC7B,IAAMC,IAAI,GAAGD,MAAM,GAAG;QAAEE,EAAE,EAAEF;MAAO,CAAC,GAAGG,SAAS;MAChDZ,iBAAiB,CAACa,SAAS,CACzBX,IAAI,CAACY,SAAS,CAAC;QAAEC,IAAI,EAAER,SAAS;QAAES,IAAI,EAAER,KAAK;QAAEE,IAAI,EAAJA;MAAK,CAAC,CACvD,CAAC;IACH;EACF,CAAC;AACH;AACO,IAAMO,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,OAAO,EAAE;AACX,CAAC;AACM,SAASC,cAAcA,CAACC,UAAU,EAAE;EACzC,IAAMC,MAAM,GAAGvB,cAAc,CAAC,CAAC;EAE/B,OAAO,CAAC,CAACuB,MAAM,IAAIA,MAAM,CAACrB,eAAe,CAAC,CAAC,CAACsB,QAAQ,CAACF,UAAU,CAAC;AAClE;AACO,SAASG,iBAAiBA,CAAA,EAE/B;EAAA,IAAAC,qBAAA;EAAA,IADAC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAf,SAAA,GAAAe,SAAA,OAAAF,qBAAA,GAAG,IAAA5B,qBAAe,EAAC,CAAC,CAACgC,QAAQ,cAAAJ,qBAAA,uBAA1BA,qBAAA,CAA4BK,QAAQ;EAElD,IAAM9B,iBAAiB,GAAGJ,oBAAoB,CAAC,CAAC;EAChD,IACEI,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KAAKO,SAAS,EACtD;IACA,OAAO,IAAI;EACb;EACA,IACEZ,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAK,IAAI,IAClDL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAKO,SAAS,CAAC,EAC3D;IACA,OAAO,IAAI;EACb;EACA,IAAIU,MAAM,GAAGvB,cAAc,CAAC,CAAC;EAC7B,OACE,CAAC,CAACuB,MAAM,IACRA,MAAM,CACHjB,sBAAsB,CAAC,CAAC,CACxB0B,IAAI,CACH,UAACC,WAAW;IAAA,OACVN,WAAW,KAAKM,WAAW,IAAIN,WAAW,CAACO,QAAQ,KAAAC,MAAA,CAAKF,WAAW,CAAE,CAAC;EAAA,CAC1E,CAAC;AAEP","ignoreList":[]}
1
+ {"version":3,"file":"eventBridge.js","names":["_init","require","getEventBridgeGlobal","getGlobalObject","FTWebViewJavascriptBridge","getEventBridge","eventBridgeGlobal","getCapabilities","JSON","parse","getPrivacyLevel","getAllowedWebViewHosts","send","eventType","event","viewId","view","id","undefined","sendEvent","stringify","name","data","e","BridgeCapability","exports","RECORDS","bridgeSupports","capability","bridge","includes","canUseEventBridge","_getGlobalObject$loca","currentHost","arguments","length","location","hostname","some","allowedHost","endsWith","concat"],"sources":["../../src/transport/eventBridge.js"],"sourcesContent":["import { getGlobalObject } from '../init'\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().FTWebViewJavascriptBridge\n}\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n getCapabilities() {\n return JSON.parse(\n (eventBridgeGlobal.getCapabilities &&\n eventBridgeGlobal.getCapabilities()) ||\n '[]'\n )\n },\n getPrivacyLevel() {\n return (\n eventBridgeGlobal.getPrivacyLevel && eventBridgeGlobal.getPrivacyLevel()\n )\n },\n getAllowedWebViewHosts() {\n return JSON.parse(\n (eventBridgeGlobal.getAllowedWebViewHosts &&\n eventBridgeGlobal.getAllowedWebViewHosts()) ||\n '[]'\n )\n },\n send(eventType, event, viewId) {\n const view = viewId ? { id: viewId } : undefined\n try {\n eventBridgeGlobal.sendEvent(\n JSON.stringify({ name: eventType, data: event, view })\n )\n } catch (e) {\n // unload postmessage error\n }\n }\n }\n}\nexport const BridgeCapability = {\n RECORDS: 'records'\n}\nexport function bridgeSupports(capability) {\n const bridge = getEventBridge()\n\n return !!bridge && bridge.getCapabilities().includes(capability)\n}\nexport function canUseEventBridge(\n currentHost = getGlobalObject().location?.hostname\n) {\n const eventBridgeGlobal = getEventBridgeGlobal()\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts === undefined\n ) {\n return true\n }\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts &&\n (eventBridgeGlobal.getAllowedWebViewHosts() === null ||\n eventBridgeGlobal.getAllowedWebViewHosts() === undefined)\n ) {\n return true\n }\n var bridge = getEventBridge()\n return (\n !!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(\n (allowedHost) =>\n currentHost === allowedHost || currentHost.endsWith(`.${allowedHost}`)\n )\n )\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAO,IAAAC,qBAAe,EAAC,CAAC,CAACC,yBAAyB;AACpD;AACO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAIC,iBAAiB,GAAGJ,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACI,iBAAiB,EAAE;IACtB;EACF;EAEA,OAAO;IACLC,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OAAOC,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACC,eAAe,IAChCD,iBAAiB,CAACC,eAAe,CAAC,CAAC,IACnC,IACJ,CAAC;IACH,CAAC;IACDG,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OACEJ,iBAAiB,CAACI,eAAe,IAAIJ,iBAAiB,CAACI,eAAe,CAAC,CAAC;IAE5E,CAAC;IACDC,sBAAsB,WAAtBA,sBAAsBA,CAAA,EAAG;MACvB,OAAOH,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACK,sBAAsB,IACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,IAC1C,IACJ,CAAC;IACH,CAAC;IACDC,IAAI,WAAJA,IAAIA,CAACC,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAE;MAC7B,IAAMC,IAAI,GAAGD,MAAM,GAAG;QAAEE,EAAE,EAAEF;MAAO,CAAC,GAAGG,SAAS;MAChD,IAAI;QACFZ,iBAAiB,CAACa,SAAS,CACzBX,IAAI,CAACY,SAAS,CAAC;UAAEC,IAAI,EAAER,SAAS;UAAES,IAAI,EAAER,KAAK;UAAEE,IAAI,EAAJA;QAAK,CAAC,CACvD,CAAC;MACH,CAAC,CAAC,OAAOO,CAAC,EAAE;QACV;MAAA;IAEJ;EACF,CAAC;AACH;AACO,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,OAAO,EAAE;AACX,CAAC;AACM,SAASC,cAAcA,CAACC,UAAU,EAAE;EACzC,IAAMC,MAAM,GAAGxB,cAAc,CAAC,CAAC;EAE/B,OAAO,CAAC,CAACwB,MAAM,IAAIA,MAAM,CAACtB,eAAe,CAAC,CAAC,CAACuB,QAAQ,CAACF,UAAU,CAAC;AAClE;AACO,SAASG,iBAAiBA,CAAA,EAE/B;EAAA,IAAAC,qBAAA;EAAA,IADAC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAhB,SAAA,GAAAgB,SAAA,OAAAF,qBAAA,GAAG,IAAA7B,qBAAe,EAAC,CAAC,CAACiC,QAAQ,cAAAJ,qBAAA,uBAA1BA,qBAAA,CAA4BK,QAAQ;EAElD,IAAM/B,iBAAiB,GAAGJ,oBAAoB,CAAC,CAAC;EAChD,IACEI,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KAAKO,SAAS,EACtD;IACA,OAAO,IAAI;EACb;EACA,IACEZ,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAK,IAAI,IAClDL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAKO,SAAS,CAAC,EAC3D;IACA,OAAO,IAAI;EACb;EACA,IAAIW,MAAM,GAAGxB,cAAc,CAAC,CAAC;EAC7B,OACE,CAAC,CAACwB,MAAM,IACRA,MAAM,CACHlB,sBAAsB,CAAC,CAAC,CACxB2B,IAAI,CACH,UAACC,WAAW;IAAA,OACVN,WAAW,KAAKM,WAAW,IAAIN,WAAW,CAACO,QAAQ,KAAAC,MAAA,CAAKF,WAAW,CAAE,CAAC;EAAA,CAC1E,CAAC;AAEP","ignoreList":[]}
@@ -10,6 +10,7 @@ export var DOM_EVENT = {
10
10
  TOUCH_END: 'touchend',
11
11
  TOUCH_MOVE: 'touchmove',
12
12
  VISIBILITY_CHANGE: 'visibilitychange',
13
+ PRERENDERING_CHANGE: 'prerenderingchange',
13
14
  PAGE_SHOW: 'pageshow',
14
15
  FREEZE: 'freeze',
15
16
  RESUME: 'resume',
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["DOM_EVENT","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","STORAGE","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","CUSTOM","ActionType","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","RumLongTaskEntryType","LONG_ANIMATION_FRAME","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange',\n STORAGE: 'storage'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other',\n CUSTOM: 'custom'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\nexport var RumLongTaskEntryType = {\n LONG_TASK: 'long-task',\n LONG_ANIMATION_FRAME: 'long-animation-frame'\n}\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":"AAAA,OAAO,IAAIA,SAAS,GAAG;EACrBC,aAAa,EAAE,cAAc;EAC7BC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,UAAU;EACrBC,QAAQ,EAAE,SAAS;EACnBC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,iBAAiB,EAAE,kBAAkB;EACrCC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,kBAAkB,EAAE,kBAAkB;EACtCC,YAAY,EAAE,aAAa;EAC3BC,UAAU,EAAE,WAAW;EACvBC,cAAc,EAAE,eAAe;EAC/BC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,UAAU,EAAE,WAAW;EACvBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE,aAAa;EAC3BC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,yBAAyB,EAAE,yBAAyB;EACpDC,gBAAgB,EAAE,iBAAiB;EACnCC,OAAO,EAAE;AACX,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG;EACxBC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,GAAG,EAAE,KAAK;EACVC,EAAE,EAAE,IAAI;EACRC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,IAAIC,UAAU,GAAG;EACtB7C,KAAK,EAAE,OAAO;EACd4C,MAAM,EAAE;AACV,CAAC;AACD,OAAO,IAAIE,eAAe,GAAG;EAC3BC,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE;AACd,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG;EACxBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE;AACV,CAAC;AACD,OAAO,IAAIC,oBAAoB,GAAG;EAChCJ,SAAS,EAAE,WAAW;EACtBK,oBAAoB,EAAE;AACxB,CAAC;AACD,OAAO,IAAIC,eAAe,GAAG;EAC3BC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE;AAChB,CAAC;AACD,OAAO,IAAIC,WAAW,GAAG;EACvBzB,KAAK,EAAEJ,YAAY,CAACI,KAAK;EACzBF,GAAG,EAAEF,YAAY,CAACE;AACpB,CAAC;AAED,OAAO,IAAI4B,SAAS,GAAG;EACrBC,OAAO,EAAE,SAAS;EAClBC,mBAAmB,EAAE,QAAQ;EAC7BC,oBAAoB,EAAE,sBAAsB;EAC5CC,eAAe,EAAE,iBAAiB;EAClCC,kBAAkB,EAAE,uBAAuB;EAC3CC,aAAa,EAAE,eAAe;EAC9BC,MAAM,EAAE;AACV,CAAC;AACD,OAAO,IAAIC,aAAa,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE;AACb,CAAC;AACD,OAAO,IAAIC,cAAc,GAAG;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"enums.js","names":["DOM_EVENT","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PRERENDERING_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","STORAGE","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","CUSTOM","ActionType","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","RumLongTaskEntryType","LONG_ANIMATION_FRAME","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PRERENDERING_CHANGE: 'prerenderingchange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange',\n STORAGE: 'storage'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other',\n CUSTOM: 'custom'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\nexport var RumLongTaskEntryType = {\n LONG_TASK: 'long-task',\n LONG_ANIMATION_FRAME: 'long-animation-frame'\n}\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionStoreOperations.js","names":["setTimeout","UUID","assign","ONE_SECOND","timeStampNow","elapsed","expandSessionState","isSessionInExpiredState","addTelemetryDebug","LOCK_RETRY_DELAY","LOCK_MAX_TRIES","LOCK_EXPIRATION_DELAY","LOCK_SEPARATOR","bufferedOperations","ongoingOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","arguments","length","undefined","isLockEnabled","persistSession","expireSession","persistWithLock","session","lock","currentLock","retrieveStore","_sessionStoreStrategy","retrieveSession","_objectWithoutProperties","_excluded","isLockExpired","push","currentStore","next","retryLater","createLock","processedSession","process","after","sessionStore","currentNumberOfRetries","nextOperations","shift","_lock$split","split","_lock$split2","_slicedToArray","timeStamp","Number"],"sources":["../../src/session/sessionStoreOperations.js"],"sourcesContent":["import { setTimeout } from '../helper/timer'\nimport {\n UUID,\n assign,\n ONE_SECOND,\n timeStampNow,\n elapsed\n} from '../helper/tools'\nimport { expandSessionState, isSessionInExpiredState } from './sessionState'\nimport { addTelemetryDebug } from '../telemetry/telemetry'\nexport const LOCK_RETRY_DELAY = 10\nexport const LOCK_MAX_TRIES = 100\n\n// Locks should be hold for a few milliseconds top, just the time it takes to read and write a\n// cookie. Using one second should be enough in most situations.\nexport const LOCK_EXPIRATION_DELAY = ONE_SECOND\nconst LOCK_SEPARATOR = '--'\nconst bufferedOperations = []\nlet ongoingOperations\n\nexport function processSessionStoreOperations(\n operations,\n sessionStoreStrategy,\n numberOfRetries = 0\n) {\n const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy\n const persistWithLock = function (session) {\n return persistSession(assign({}, session, { lock: currentLock }))\n }\n const retrieveStore = function () {\n const { lock, ...session } = sessionStoreStrategy.retrieveSession()\n\n return {\n session,\n lock: lock && !isLockExpired(lock) ? lock : undefined\n }\n }\n\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n addTelemetryDebug('Aborted session operation after max lock retries', {\n currentStore: retrieveStore()\n })\n next(sessionStoreStrategy)\n return\n }\n let currentLock\n let currentStore = retrieveStore()\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = createLock()\n persistWithLock(currentStore.session)\n // if lock is not acquired, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n let processedSession = operations.process(currentStore.session)\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession()\n } else {\n expandSessionState(processedSession)\n isLockEnabled\n ? persistWithLock(processedSession)\n : persistSession(processedSession)\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n persistSession(currentStore.session)\n processedSession = currentStore.session\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n if (operations.after) {\n operations.after(processedSession || currentStore.session)\n }\n next(sessionStoreStrategy)\n}\n\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(\n operations,\n sessionStore,\n currentNumberOfRetries + 1\n )\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next(sessionStore) {\n ongoingOperations = undefined\n const nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore)\n }\n}\n\nexport function createLock() {\n return UUID() + LOCK_SEPARATOR + timeStampNow()\n}\n\nfunction isLockExpired(lock) {\n const [, timeStamp] = lock.split(LOCK_SEPARATOR)\n return (\n !timeStamp ||\n elapsed(Number(timeStamp), timeStampNow()) > LOCK_EXPIRATION_DELAY\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"sessionStoreOperations.js","names":["setTimeout","UUID","assign","ONE_SECOND","timeStampNow","elapsed","expandSessionState","isSessionInExpiredState","addTelemetryDebug","LOCK_RETRY_DELAY","LOCK_MAX_TRIES","LOCK_EXPIRATION_DELAY","LOCK_SEPARATOR","bufferedOperations","ongoingOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","arguments","length","undefined","isLockEnabled","persistSession","expireSession","persistWithLock","session","lock","currentLock","retrieveStore","_sessionStoreStrategy","retrieveSession","_objectWithoutProperties","_excluded","isLockExpired","push","currentStore","next","retryLater","createLock","processedSession","process","after","sessionStore","currentNumberOfRetries","nextOperations","shift","_lock$split","split","_lock$split2","_slicedToArray","timeStamp","Number"],"sources":["../../src/session/sessionStoreOperations.js"],"sourcesContent":["import { setTimeout } from '../helper/timer'\nimport {\n UUID,\n assign,\n ONE_SECOND,\n timeStampNow,\n elapsed\n} from '../helper/tools'\nimport { expandSessionState, isSessionInExpiredState } from './sessionState'\nimport { addTelemetryDebug } from '../telemetry/telemetry'\nexport const LOCK_RETRY_DELAY = 10\nexport const LOCK_MAX_TRIES = 100\n\n// Locks should be hold for a few milliseconds top, just the time it takes to read and write a\n// cookie. Using one second should be enough in most situations.\nexport const LOCK_EXPIRATION_DELAY = ONE_SECOND\nconst LOCK_SEPARATOR = '--'\nconst bufferedOperations = []\nlet ongoingOperations\n\nexport function processSessionStoreOperations(\n operations,\n sessionStoreStrategy,\n numberOfRetries = 0\n) {\n const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy\n const persistWithLock = function (session) {\n return persistSession(assign({}, session, { lock: currentLock }))\n }\n const retrieveStore = function () {\n const { lock, ...session } = sessionStoreStrategy.retrieveSession()\n\n return {\n session,\n lock: lock && !isLockExpired(lock) ? lock : undefined\n }\n }\n\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n addTelemetryDebug('Aborted session operation after max lock retries', {\n currentStore: retrieveStore()\n })\n next(sessionStoreStrategy)\n return\n }\n let currentLock\n let currentStore = retrieveStore()\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = createLock()\n persistWithLock(currentStore.session)\n // if lock is not acquired, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n let processedSession = operations.process(currentStore.session)\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession()\n } else {\n expandSessionState(processedSession)\n isLockEnabled\n ? persistWithLock(processedSession)\n : persistSession(processedSession)\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore()\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n persistSession(currentStore.session)\n processedSession = currentStore.session\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n if (operations.after) {\n operations.after(processedSession || currentStore.session)\n }\n next(sessionStoreStrategy)\n}\n\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(\n operations,\n sessionStore,\n currentNumberOfRetries + 1\n )\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next(sessionStore) {\n ongoingOperations = undefined\n const nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore)\n }\n}\n\nexport function createLock() {\n return UUID() + LOCK_SEPARATOR + timeStampNow()\n}\n\nfunction isLockExpired(lock) {\n const [, timeStamp] = lock.split(LOCK_SEPARATOR)\n return (\n !timeStamp ||\n elapsed(Number(timeStamp), timeStampNow()) > LOCK_EXPIRATION_DELAY\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,11 +21,15 @@ export function getEventBridge() {
21
21
  var view = viewId ? {
22
22
  id: viewId
23
23
  } : undefined;
24
- eventBridgeGlobal.sendEvent(JSON.stringify({
25
- name: eventType,
26
- data: event,
27
- view: view
28
- }));
24
+ try {
25
+ eventBridgeGlobal.sendEvent(JSON.stringify({
26
+ name: eventType,
27
+ data: event,
28
+ view: view
29
+ }));
30
+ } catch (e) {
31
+ // unload postmessage error
32
+ }
29
33
  }
30
34
  };
31
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eventBridge.js","names":["getGlobalObject","getEventBridgeGlobal","FTWebViewJavascriptBridge","getEventBridge","eventBridgeGlobal","getCapabilities","JSON","parse","getPrivacyLevel","getAllowedWebViewHosts","send","eventType","event","viewId","view","id","undefined","sendEvent","stringify","name","data","BridgeCapability","RECORDS","bridgeSupports","capability","bridge","includes","canUseEventBridge","_getGlobalObject$loca","currentHost","arguments","length","location","hostname","some","allowedHost","endsWith","concat"],"sources":["../../src/transport/eventBridge.js"],"sourcesContent":["import { getGlobalObject } from '../init'\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().FTWebViewJavascriptBridge\n}\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n getCapabilities() {\n return JSON.parse(\n (eventBridgeGlobal.getCapabilities &&\n eventBridgeGlobal.getCapabilities()) ||\n '[]'\n )\n },\n getPrivacyLevel() {\n return (\n eventBridgeGlobal.getPrivacyLevel && eventBridgeGlobal.getPrivacyLevel()\n )\n },\n getAllowedWebViewHosts() {\n return JSON.parse(\n (eventBridgeGlobal.getAllowedWebViewHosts &&\n eventBridgeGlobal.getAllowedWebViewHosts()) ||\n '[]'\n )\n },\n send(eventType, event, viewId) {\n const view = viewId ? { id: viewId } : undefined\n eventBridgeGlobal.sendEvent(\n JSON.stringify({ name: eventType, data: event, view })\n )\n }\n }\n}\nexport const BridgeCapability = {\n RECORDS: 'records'\n}\nexport function bridgeSupports(capability) {\n const bridge = getEventBridge()\n\n return !!bridge && bridge.getCapabilities().includes(capability)\n}\nexport function canUseEventBridge(\n currentHost = getGlobalObject().location?.hostname\n) {\n const eventBridgeGlobal = getEventBridgeGlobal()\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts === undefined\n ) {\n return true\n }\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts &&\n (eventBridgeGlobal.getAllowedWebViewHosts() === null ||\n eventBridgeGlobal.getAllowedWebViewHosts() === undefined)\n ) {\n return true\n }\n var bridge = getEventBridge()\n return (\n !!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(\n (allowedHost) =>\n currentHost === allowedHost || currentHost.endsWith(`.${allowedHost}`)\n )\n )\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,SAAS;AAEzC,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAOD,eAAe,CAAC,CAAC,CAACE,yBAAyB;AACpD;AACA,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAIC,iBAAiB,GAAGH,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACG,iBAAiB,EAAE;IACtB;EACF;EAEA,OAAO;IACLC,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OAAOC,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACC,eAAe,IAChCD,iBAAiB,CAACC,eAAe,CAAC,CAAC,IACnC,IACJ,CAAC;IACH,CAAC;IACDG,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OACEJ,iBAAiB,CAACI,eAAe,IAAIJ,iBAAiB,CAACI,eAAe,CAAC,CAAC;IAE5E,CAAC;IACDC,sBAAsB,WAAtBA,sBAAsBA,CAAA,EAAG;MACvB,OAAOH,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACK,sBAAsB,IACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,IAC1C,IACJ,CAAC;IACH,CAAC;IACDC,IAAI,WAAJA,IAAIA,CAACC,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAE;MAC7B,IAAMC,IAAI,GAAGD,MAAM,GAAG;QAAEE,EAAE,EAAEF;MAAO,CAAC,GAAGG,SAAS;MAChDZ,iBAAiB,CAACa,SAAS,CACzBX,IAAI,CAACY,SAAS,CAAC;QAAEC,IAAI,EAAER,SAAS;QAAES,IAAI,EAAER,KAAK;QAAEE,IAAI,EAAJA;MAAK,CAAC,CACvD,CAAC;IACH;EACF,CAAC;AACH;AACA,OAAO,IAAMO,gBAAgB,GAAG;EAC9BC,OAAO,EAAE;AACX,CAAC;AACD,OAAO,SAASC,cAAcA,CAACC,UAAU,EAAE;EACzC,IAAMC,MAAM,GAAGtB,cAAc,CAAC,CAAC;EAE/B,OAAO,CAAC,CAACsB,MAAM,IAAIA,MAAM,CAACpB,eAAe,CAAC,CAAC,CAACqB,QAAQ,CAACF,UAAU,CAAC;AAClE;AACA,OAAO,SAASG,iBAAiBA,CAAA,EAE/B;EAAA,IAAAC,qBAAA;EAAA,IADAC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAd,SAAA,GAAAc,SAAA,OAAAF,qBAAA,GAAG5B,eAAe,CAAC,CAAC,CAACgC,QAAQ,cAAAJ,qBAAA,uBAA1BA,qBAAA,CAA4BK,QAAQ;EAElD,IAAM7B,iBAAiB,GAAGH,oBAAoB,CAAC,CAAC;EAChD,IACEG,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KAAKO,SAAS,EACtD;IACA,OAAO,IAAI;EACb;EACA,IACEZ,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAK,IAAI,IAClDL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAKO,SAAS,CAAC,EAC3D;IACA,OAAO,IAAI;EACb;EACA,IAAIS,MAAM,GAAGtB,cAAc,CAAC,CAAC;EAC7B,OACE,CAAC,CAACsB,MAAM,IACRA,MAAM,CACHhB,sBAAsB,CAAC,CAAC,CACxByB,IAAI,CACH,UAACC,WAAW;IAAA,OACVN,WAAW,KAAKM,WAAW,IAAIN,WAAW,CAACO,QAAQ,KAAAC,MAAA,CAAKF,WAAW,CAAE,CAAC;EAAA,CAC1E,CAAC;AAEP","ignoreList":[]}
1
+ {"version":3,"file":"eventBridge.js","names":["getGlobalObject","getEventBridgeGlobal","FTWebViewJavascriptBridge","getEventBridge","eventBridgeGlobal","getCapabilities","JSON","parse","getPrivacyLevel","getAllowedWebViewHosts","send","eventType","event","viewId","view","id","undefined","sendEvent","stringify","name","data","e","BridgeCapability","RECORDS","bridgeSupports","capability","bridge","includes","canUseEventBridge","_getGlobalObject$loca","currentHost","arguments","length","location","hostname","some","allowedHost","endsWith","concat"],"sources":["../../src/transport/eventBridge.js"],"sourcesContent":["import { getGlobalObject } from '../init'\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().FTWebViewJavascriptBridge\n}\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n getCapabilities() {\n return JSON.parse(\n (eventBridgeGlobal.getCapabilities &&\n eventBridgeGlobal.getCapabilities()) ||\n '[]'\n )\n },\n getPrivacyLevel() {\n return (\n eventBridgeGlobal.getPrivacyLevel && eventBridgeGlobal.getPrivacyLevel()\n )\n },\n getAllowedWebViewHosts() {\n return JSON.parse(\n (eventBridgeGlobal.getAllowedWebViewHosts &&\n eventBridgeGlobal.getAllowedWebViewHosts()) ||\n '[]'\n )\n },\n send(eventType, event, viewId) {\n const view = viewId ? { id: viewId } : undefined\n try {\n eventBridgeGlobal.sendEvent(\n JSON.stringify({ name: eventType, data: event, view })\n )\n } catch (e) {\n // unload postmessage error\n }\n }\n }\n}\nexport const BridgeCapability = {\n RECORDS: 'records'\n}\nexport function bridgeSupports(capability) {\n const bridge = getEventBridge()\n\n return !!bridge && bridge.getCapabilities().includes(capability)\n}\nexport function canUseEventBridge(\n currentHost = getGlobalObject().location?.hostname\n) {\n const eventBridgeGlobal = getEventBridgeGlobal()\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts === undefined\n ) {\n return true\n }\n if (\n eventBridgeGlobal &&\n eventBridgeGlobal.getAllowedWebViewHosts &&\n (eventBridgeGlobal.getAllowedWebViewHosts() === null ||\n eventBridgeGlobal.getAllowedWebViewHosts() === undefined)\n ) {\n return true\n }\n var bridge = getEventBridge()\n return (\n !!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(\n (allowedHost) =>\n currentHost === allowedHost || currentHost.endsWith(`.${allowedHost}`)\n )\n )\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,SAAS;AAEzC,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAOD,eAAe,CAAC,CAAC,CAACE,yBAAyB;AACpD;AACA,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAIC,iBAAiB,GAAGH,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACG,iBAAiB,EAAE;IACtB;EACF;EAEA,OAAO;IACLC,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OAAOC,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACC,eAAe,IAChCD,iBAAiB,CAACC,eAAe,CAAC,CAAC,IACnC,IACJ,CAAC;IACH,CAAC;IACDG,eAAe,WAAfA,eAAeA,CAAA,EAAG;MAChB,OACEJ,iBAAiB,CAACI,eAAe,IAAIJ,iBAAiB,CAACI,eAAe,CAAC,CAAC;IAE5E,CAAC;IACDC,sBAAsB,WAAtBA,sBAAsBA,CAAA,EAAG;MACvB,OAAOH,IAAI,CAACC,KAAK,CACdH,iBAAiB,CAACK,sBAAsB,IACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,IAC1C,IACJ,CAAC;IACH,CAAC;IACDC,IAAI,WAAJA,IAAIA,CAACC,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAE;MAC7B,IAAMC,IAAI,GAAGD,MAAM,GAAG;QAAEE,EAAE,EAAEF;MAAO,CAAC,GAAGG,SAAS;MAChD,IAAI;QACFZ,iBAAiB,CAACa,SAAS,CACzBX,IAAI,CAACY,SAAS,CAAC;UAAEC,IAAI,EAAER,SAAS;UAAES,IAAI,EAAER,KAAK;UAAEE,IAAI,EAAJA;QAAK,CAAC,CACvD,CAAC;MACH,CAAC,CAAC,OAAOO,CAAC,EAAE;QACV;MAAA;IAEJ;EACF,CAAC;AACH;AACA,OAAO,IAAMC,gBAAgB,GAAG;EAC9BC,OAAO,EAAE;AACX,CAAC;AACD,OAAO,SAASC,cAAcA,CAACC,UAAU,EAAE;EACzC,IAAMC,MAAM,GAAGvB,cAAc,CAAC,CAAC;EAE/B,OAAO,CAAC,CAACuB,MAAM,IAAIA,MAAM,CAACrB,eAAe,CAAC,CAAC,CAACsB,QAAQ,CAACF,UAAU,CAAC;AAClE;AACA,OAAO,SAASG,iBAAiBA,CAAA,EAE/B;EAAA,IAAAC,qBAAA;EAAA,IADAC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAf,SAAA,GAAAe,SAAA,OAAAF,qBAAA,GAAG7B,eAAe,CAAC,CAAC,CAACiC,QAAQ,cAAAJ,qBAAA,uBAA1BA,qBAAA,CAA4BK,QAAQ;EAElD,IAAM9B,iBAAiB,GAAGH,oBAAoB,CAAC,CAAC;EAChD,IACEG,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KAAKO,SAAS,EACtD;IACA,OAAO,IAAI;EACb;EACA,IACEZ,iBAAiB,IACjBA,iBAAiB,CAACK,sBAAsB,KACvCL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAK,IAAI,IAClDL,iBAAiB,CAACK,sBAAsB,CAAC,CAAC,KAAKO,SAAS,CAAC,EAC3D;IACA,OAAO,IAAI;EACb;EACA,IAAIU,MAAM,GAAGvB,cAAc,CAAC,CAAC;EAC7B,OACE,CAAC,CAACuB,MAAM,IACRA,MAAM,CACHjB,sBAAsB,CAAC,CAAC,CACxB0B,IAAI,CACH,UAACC,WAAW;IAAA,OACVN,WAAW,KAAKM,WAAW,IAAIN,WAAW,CAACO,QAAQ,KAAAC,MAAA,CAAKF,WAAW,CAAE,CAAC;EAAA,CAC1E,CAAC;AAEP","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudcare/browser-core",
3
- "version": "3.2.42",
3
+ "version": "3.2.44",
4
4
  "main": "cjs/index.js",
5
5
  "module": "esm/index.js",
6
6
  "types": "types/index.d.ts",
@@ -21,5 +21,5 @@
21
21
  },
22
22
  "author": "dataflux",
23
23
  "license": "MIT",
24
- "gitHead": "4bf491b0a02f6ad8d9458da6433380a3d308d380"
24
+ "gitHead": "1a9f4789e908edc5e58e68f2ee18eacd522cc33a"
25
25
  }
@@ -10,6 +10,7 @@ export var DOM_EVENT = {
10
10
  TOUCH_END: 'touchend',
11
11
  TOUCH_MOVE: 'touchmove',
12
12
  VISIBILITY_CHANGE: 'visibilitychange',
13
+ PRERENDERING_CHANGE: 'prerenderingchange',
13
14
  PAGE_SHOW: 'pageshow',
14
15
  FREEZE: 'freeze',
15
16
  RESUME: 'resume',
@@ -77,6 +77,7 @@ export function processSessionStoreOperations(
77
77
  return
78
78
  }
79
79
  }
80
+
80
81
  if (processedSession) {
81
82
  if (isSessionInExpiredState(processedSession)) {
82
83
  expireSession()
@@ -32,9 +32,13 @@ export function getEventBridge() {
32
32
  },
33
33
  send(eventType, event, viewId) {
34
34
  const view = viewId ? { id: viewId } : undefined
35
- eventBridgeGlobal.sendEvent(
36
- JSON.stringify({ name: eventType, data: event, view })
37
- )
35
+ try {
36
+ eventBridgeGlobal.sendEvent(
37
+ JSON.stringify({ name: eventType, data: event, view })
38
+ )
39
+ } catch (e) {
40
+ // unload postmessage error
41
+ }
38
42
  }
39
43
  }
40
44
  }