@inappstory/react-sdk 1.16.10 → 1.16.12

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.
@@ -2,6 +2,7 @@ import { default as __WEBPACK_EXTERNAL_MODULE_bowser_default__ } from "bowser";
2
2
  import { Mutex as __WEBPACK_EXTERNAL_MODULE_async_mutex_052338b1_Mutex__, Semaphore as __WEBPACK_EXTERNAL_MODULE_async_mutex_052338b1_Semaphore__ } from "async-mutex";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE__inappstory_slide_api_2e636188__ from "@inappstory/slide-api";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_deepmerge__ from "deepmerge";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_eventemitter3__ from "eventemitter3";
5
6
  import * as __WEBPACK_EXTERNAL_MODULE_lodash_es_87a6bcbc__ from "lodash-es";
6
7
  import * as __WEBPACK_EXTERNAL_MODULE_mobx__ from "mobx";
7
8
  import * as __WEBPACK_EXTERNAL_MODULE_uuid__ from "uuid";
@@ -1688,510 +1689,6 @@ module.exports = function (item) {
1688
1689
  return [content].join("\n");
1689
1690
  };
1690
1691
 
1691
- /***/ },
1692
-
1693
- /***/ 46
1694
- (module) {
1695
-
1696
- // Copyright Joyent, Inc. and other Node contributors.
1697
- //
1698
- // Permission is hereby granted, free of charge, to any person obtaining a
1699
- // copy of this software and associated documentation files (the
1700
- // "Software"), to deal in the Software without restriction, including
1701
- // without limitation the rights to use, copy, modify, merge, publish,
1702
- // distribute, sublicense, and/or sell copies of the Software, and to permit
1703
- // persons to whom the Software is furnished to do so, subject to the
1704
- // following conditions:
1705
- //
1706
- // The above copyright notice and this permission notice shall be included
1707
- // in all copies or substantial portions of the Software.
1708
- //
1709
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1710
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1711
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1712
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1713
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1714
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1715
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
1716
-
1717
-
1718
-
1719
- var R = typeof Reflect === 'object' ? Reflect : null
1720
- var ReflectApply = R && typeof R.apply === 'function'
1721
- ? R.apply
1722
- : function ReflectApply(target, receiver, args) {
1723
- return Function.prototype.apply.call(target, receiver, args);
1724
- }
1725
-
1726
- var ReflectOwnKeys
1727
- if (R && typeof R.ownKeys === 'function') {
1728
- ReflectOwnKeys = R.ownKeys
1729
- } else if (Object.getOwnPropertySymbols) {
1730
- ReflectOwnKeys = function ReflectOwnKeys(target) {
1731
- return Object.getOwnPropertyNames(target)
1732
- .concat(Object.getOwnPropertySymbols(target));
1733
- };
1734
- } else {
1735
- ReflectOwnKeys = function ReflectOwnKeys(target) {
1736
- return Object.getOwnPropertyNames(target);
1737
- };
1738
- }
1739
-
1740
- function ProcessEmitWarning(warning) {
1741
- if (console && console.warn) console.warn(warning);
1742
- }
1743
-
1744
- var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
1745
- return value !== value;
1746
- }
1747
-
1748
- function EventEmitter() {
1749
- EventEmitter.init.call(this);
1750
- }
1751
- module.exports = EventEmitter;
1752
- module.exports.once = once;
1753
-
1754
- // Backwards-compat with node 0.10.x
1755
- EventEmitter.EventEmitter = EventEmitter;
1756
-
1757
- EventEmitter.prototype._events = undefined;
1758
- EventEmitter.prototype._eventsCount = 0;
1759
- EventEmitter.prototype._maxListeners = undefined;
1760
-
1761
- // By default EventEmitters will print a warning if more than 10 listeners are
1762
- // added to it. This is a useful default which helps finding memory leaks.
1763
- var defaultMaxListeners = 10;
1764
-
1765
- function checkListener(listener) {
1766
- if (typeof listener !== 'function') {
1767
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
1768
- }
1769
- }
1770
-
1771
- Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
1772
- enumerable: true,
1773
- get: function() {
1774
- return defaultMaxListeners;
1775
- },
1776
- set: function(arg) {
1777
- if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
1778
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
1779
- }
1780
- defaultMaxListeners = arg;
1781
- }
1782
- });
1783
-
1784
- EventEmitter.init = function() {
1785
-
1786
- if (this._events === undefined ||
1787
- this._events === Object.getPrototypeOf(this)._events) {
1788
- this._events = Object.create(null);
1789
- this._eventsCount = 0;
1790
- }
1791
-
1792
- this._maxListeners = this._maxListeners || undefined;
1793
- };
1794
-
1795
- // Obviously not all Emitters should be limited to 10. This function allows
1796
- // that to be increased. Set to zero for unlimited.
1797
- EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
1798
- if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
1799
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
1800
- }
1801
- this._maxListeners = n;
1802
- return this;
1803
- };
1804
-
1805
- function _getMaxListeners(that) {
1806
- if (that._maxListeners === undefined)
1807
- return EventEmitter.defaultMaxListeners;
1808
- return that._maxListeners;
1809
- }
1810
-
1811
- EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
1812
- return _getMaxListeners(this);
1813
- };
1814
-
1815
- EventEmitter.prototype.emit = function emit(type) {
1816
- var args = [];
1817
- for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
1818
- var doError = (type === 'error');
1819
-
1820
- var events = this._events;
1821
- if (events !== undefined)
1822
- doError = (doError && events.error === undefined);
1823
- else if (!doError)
1824
- return false;
1825
-
1826
- // If there is no 'error' event listener then throw.
1827
- if (doError) {
1828
- var er;
1829
- if (args.length > 0)
1830
- er = args[0];
1831
- if (er instanceof Error) {
1832
- // Note: The comments on the `throw` lines are intentional, they show
1833
- // up in Node's output if this results in an unhandled exception.
1834
- throw er; // Unhandled 'error' event
1835
- }
1836
- // At least give some kind of context to the user
1837
- var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
1838
- err.context = er;
1839
- throw err; // Unhandled 'error' event
1840
- }
1841
-
1842
- var handler = events[type];
1843
-
1844
- if (handler === undefined)
1845
- return false;
1846
-
1847
- if (typeof handler === 'function') {
1848
- ReflectApply(handler, this, args);
1849
- } else {
1850
- var len = handler.length;
1851
- var listeners = arrayClone(handler, len);
1852
- for (var i = 0; i < len; ++i)
1853
- ReflectApply(listeners[i], this, args);
1854
- }
1855
-
1856
- return true;
1857
- };
1858
-
1859
- function _addListener(target, type, listener, prepend) {
1860
- var m;
1861
- var events;
1862
- var existing;
1863
-
1864
- checkListener(listener);
1865
-
1866
- events = target._events;
1867
- if (events === undefined) {
1868
- events = target._events = Object.create(null);
1869
- target._eventsCount = 0;
1870
- } else {
1871
- // To avoid recursion in the case that type === "newListener"! Before
1872
- // adding it to the listeners, first emit "newListener".
1873
- if (events.newListener !== undefined) {
1874
- target.emit('newListener', type,
1875
- listener.listener ? listener.listener : listener);
1876
-
1877
- // Re-assign `events` because a newListener handler could have caused the
1878
- // this._events to be assigned to a new object
1879
- events = target._events;
1880
- }
1881
- existing = events[type];
1882
- }
1883
-
1884
- if (existing === undefined) {
1885
- // Optimize the case of one listener. Don't need the extra array object.
1886
- existing = events[type] = listener;
1887
- ++target._eventsCount;
1888
- } else {
1889
- if (typeof existing === 'function') {
1890
- // Adding the second element, need to change to array.
1891
- existing = events[type] =
1892
- prepend ? [listener, existing] : [existing, listener];
1893
- // If we've already got an array, just append.
1894
- } else if (prepend) {
1895
- existing.unshift(listener);
1896
- } else {
1897
- existing.push(listener);
1898
- }
1899
-
1900
- // Check for listener leak
1901
- m = _getMaxListeners(target);
1902
- if (m > 0 && existing.length > m && !existing.warned) {
1903
- existing.warned = true;
1904
- // No error code for this since it is a Warning
1905
- // eslint-disable-next-line no-restricted-syntax
1906
- var w = new Error('Possible EventEmitter memory leak detected. ' +
1907
- existing.length + ' ' + String(type) + ' listeners ' +
1908
- 'added. Use emitter.setMaxListeners() to ' +
1909
- 'increase limit');
1910
- w.name = 'MaxListenersExceededWarning';
1911
- w.emitter = target;
1912
- w.type = type;
1913
- w.count = existing.length;
1914
- ProcessEmitWarning(w);
1915
- }
1916
- }
1917
-
1918
- return target;
1919
- }
1920
-
1921
- EventEmitter.prototype.addListener = function addListener(type, listener) {
1922
- return _addListener(this, type, listener, false);
1923
- };
1924
-
1925
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1926
-
1927
- EventEmitter.prototype.prependListener =
1928
- function prependListener(type, listener) {
1929
- return _addListener(this, type, listener, true);
1930
- };
1931
-
1932
- function onceWrapper() {
1933
- if (!this.fired) {
1934
- this.target.removeListener(this.type, this.wrapFn);
1935
- this.fired = true;
1936
- if (arguments.length === 0)
1937
- return this.listener.call(this.target);
1938
- return this.listener.apply(this.target, arguments);
1939
- }
1940
- }
1941
-
1942
- function _onceWrap(target, type, listener) {
1943
- var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
1944
- var wrapped = onceWrapper.bind(state);
1945
- wrapped.listener = listener;
1946
- state.wrapFn = wrapped;
1947
- return wrapped;
1948
- }
1949
-
1950
- EventEmitter.prototype.once = function once(type, listener) {
1951
- checkListener(listener);
1952
- this.on(type, _onceWrap(this, type, listener));
1953
- return this;
1954
- };
1955
-
1956
- EventEmitter.prototype.prependOnceListener =
1957
- function prependOnceListener(type, listener) {
1958
- checkListener(listener);
1959
- this.prependListener(type, _onceWrap(this, type, listener));
1960
- return this;
1961
- };
1962
-
1963
- // Emits a 'removeListener' event if and only if the listener was removed.
1964
- EventEmitter.prototype.removeListener =
1965
- function removeListener(type, listener) {
1966
- var list, events, position, i, originalListener;
1967
-
1968
- checkListener(listener);
1969
-
1970
- events = this._events;
1971
- if (events === undefined)
1972
- return this;
1973
-
1974
- list = events[type];
1975
- if (list === undefined)
1976
- return this;
1977
-
1978
- if (list === listener || list.listener === listener) {
1979
- if (--this._eventsCount === 0)
1980
- this._events = Object.create(null);
1981
- else {
1982
- delete events[type];
1983
- if (events.removeListener)
1984
- this.emit('removeListener', type, list.listener || listener);
1985
- }
1986
- } else if (typeof list !== 'function') {
1987
- position = -1;
1988
-
1989
- for (i = list.length - 1; i >= 0; i--) {
1990
- if (list[i] === listener || list[i].listener === listener) {
1991
- originalListener = list[i].listener;
1992
- position = i;
1993
- break;
1994
- }
1995
- }
1996
-
1997
- if (position < 0)
1998
- return this;
1999
-
2000
- if (position === 0)
2001
- list.shift();
2002
- else {
2003
- spliceOne(list, position);
2004
- }
2005
-
2006
- if (list.length === 1)
2007
- events[type] = list[0];
2008
-
2009
- if (events.removeListener !== undefined)
2010
- this.emit('removeListener', type, originalListener || listener);
2011
- }
2012
-
2013
- return this;
2014
- };
2015
-
2016
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
2017
-
2018
- EventEmitter.prototype.removeAllListeners =
2019
- function removeAllListeners(type) {
2020
- var listeners, events, i;
2021
-
2022
- events = this._events;
2023
- if (events === undefined)
2024
- return this;
2025
-
2026
- // not listening for removeListener, no need to emit
2027
- if (events.removeListener === undefined) {
2028
- if (arguments.length === 0) {
2029
- this._events = Object.create(null);
2030
- this._eventsCount = 0;
2031
- } else if (events[type] !== undefined) {
2032
- if (--this._eventsCount === 0)
2033
- this._events = Object.create(null);
2034
- else
2035
- delete events[type];
2036
- }
2037
- return this;
2038
- }
2039
-
2040
- // emit removeListener for all listeners on all events
2041
- if (arguments.length === 0) {
2042
- var keys = Object.keys(events);
2043
- var key;
2044
- for (i = 0; i < keys.length; ++i) {
2045
- key = keys[i];
2046
- if (key === 'removeListener') continue;
2047
- this.removeAllListeners(key);
2048
- }
2049
- this.removeAllListeners('removeListener');
2050
- this._events = Object.create(null);
2051
- this._eventsCount = 0;
2052
- return this;
2053
- }
2054
-
2055
- listeners = events[type];
2056
-
2057
- if (typeof listeners === 'function') {
2058
- this.removeListener(type, listeners);
2059
- } else if (listeners !== undefined) {
2060
- // LIFO order
2061
- for (i = listeners.length - 1; i >= 0; i--) {
2062
- this.removeListener(type, listeners[i]);
2063
- }
2064
- }
2065
-
2066
- return this;
2067
- };
2068
-
2069
- function _listeners(target, type, unwrap) {
2070
- var events = target._events;
2071
-
2072
- if (events === undefined)
2073
- return [];
2074
-
2075
- var evlistener = events[type];
2076
- if (evlistener === undefined)
2077
- return [];
2078
-
2079
- if (typeof evlistener === 'function')
2080
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
2081
-
2082
- return unwrap ?
2083
- unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
2084
- }
2085
-
2086
- EventEmitter.prototype.listeners = function listeners(type) {
2087
- return _listeners(this, type, true);
2088
- };
2089
-
2090
- EventEmitter.prototype.rawListeners = function rawListeners(type) {
2091
- return _listeners(this, type, false);
2092
- };
2093
-
2094
- EventEmitter.listenerCount = function(emitter, type) {
2095
- if (typeof emitter.listenerCount === 'function') {
2096
- return emitter.listenerCount(type);
2097
- } else {
2098
- return listenerCount.call(emitter, type);
2099
- }
2100
- };
2101
-
2102
- EventEmitter.prototype.listenerCount = listenerCount;
2103
- function listenerCount(type) {
2104
- var events = this._events;
2105
-
2106
- if (events !== undefined) {
2107
- var evlistener = events[type];
2108
-
2109
- if (typeof evlistener === 'function') {
2110
- return 1;
2111
- } else if (evlistener !== undefined) {
2112
- return evlistener.length;
2113
- }
2114
- }
2115
-
2116
- return 0;
2117
- }
2118
-
2119
- EventEmitter.prototype.eventNames = function eventNames() {
2120
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
2121
- };
2122
-
2123
- function arrayClone(arr, n) {
2124
- var copy = new Array(n);
2125
- for (var i = 0; i < n; ++i)
2126
- copy[i] = arr[i];
2127
- return copy;
2128
- }
2129
-
2130
- function spliceOne(list, index) {
2131
- for (; index + 1 < list.length; index++)
2132
- list[index] = list[index + 1];
2133
- list.pop();
2134
- }
2135
-
2136
- function unwrapListeners(arr) {
2137
- var ret = new Array(arr.length);
2138
- for (var i = 0; i < ret.length; ++i) {
2139
- ret[i] = arr[i].listener || arr[i];
2140
- }
2141
- return ret;
2142
- }
2143
-
2144
- function once(emitter, name) {
2145
- return new Promise(function (resolve, reject) {
2146
- function errorListener(err) {
2147
- emitter.removeListener(name, resolver);
2148
- reject(err);
2149
- }
2150
-
2151
- function resolver() {
2152
- if (typeof emitter.removeListener === 'function') {
2153
- emitter.removeListener('error', errorListener);
2154
- }
2155
- resolve([].slice.call(arguments));
2156
- };
2157
-
2158
- eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
2159
- if (name !== 'error') {
2160
- addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
2161
- }
2162
- });
2163
- }
2164
-
2165
- function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
2166
- if (typeof emitter.on === 'function') {
2167
- eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
2168
- }
2169
- }
2170
-
2171
- function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
2172
- if (typeof emitter.on === 'function') {
2173
- if (flags.once) {
2174
- emitter.once(name, listener);
2175
- } else {
2176
- emitter.on(name, listener);
2177
- }
2178
- } else if (typeof emitter.addEventListener === 'function') {
2179
- // EventTarget does not have `error` event semantics like Node
2180
- // EventEmitters, we do not listen for `error` events here.
2181
- emitter.addEventListener(name, function wrapListener(arg) {
2182
- // IE does not have builtin `{ once: true }` support so we
2183
- // have to do it manually.
2184
- if (flags.once) {
2185
- emitter.removeEventListener(name, wrapListener);
2186
- }
2187
- listener(arg);
2188
- });
2189
- } else {
2190
- throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
2191
- }
2192
- }
2193
-
2194
-
2195
1692
  /***/ },
2196
1693
 
2197
1694
  /***/ 2591
@@ -2457,9 +1954,8 @@ __webpack_require__.d(__webpack_exports__, {
2457
1954
 
2458
1955
  // UNUSED EXPORTS: Point, SliderDirection, ToastPosition, TouchEventPayload
2459
1956
 
2460
- // EXTERNAL MODULE: ../../node_modules/events/events.js
2461
- var events = __webpack_require__(46);
2462
- var events_default = /*#__PURE__*/__webpack_require__.n(events);
1957
+ // EXTERNAL MODULE: external "eventemitter3"
1958
+ var external_eventemitter3_ = __webpack_require__(1345);
2463
1959
  // EXTERNAL MODULE: external "deepmerge"
2464
1960
  var external_deepmerge_ = __webpack_require__(5728);
2465
1961
  // EXTERNAL MODULE: ../core/src/helpers/index.ts + 13 modules
@@ -2521,7 +2017,7 @@ class TouchEventPayload {
2521
2017
  });
2522
2018
  }
2523
2019
  }
2524
- class TouchController extends (events_default()) {
2020
+ class TouchController extends external_eventemitter3_["default"] {
2525
2021
  constructor(options) {
2526
2022
  super();
2527
2023
  Object.defineProperty(this, "$el", {
@@ -3209,7 +2705,7 @@ var SliderDirection;
3209
2705
  SliderDirection["Horizontal"] = "horizontal";
3210
2706
  SliderDirection["Vertical"] = "vertical";
3211
2707
  })(SliderDirection || (SliderDirection = {}));
3212
- class BasicSlider extends events.EventEmitter {
2708
+ class BasicSlider extends external_eventemitter3_.EventEmitter {
3213
2709
  constructor() {
3214
2710
  super(...arguments);
3215
2711
  Object.defineProperty(this, "scrollStrategy", {
@@ -3939,6 +3435,8 @@ class IasConfigReferenceError extends Error {
3939
3435
 
3940
3436
  // EXTERNAL MODULE: ../core/src/domain/storyManagerConfig/index.ts + 9 modules
3941
3437
  var domain_storyManagerConfig = __webpack_require__(712);
3438
+ // EXTERNAL MODULE: ../core/src/domain/session/index.ts + 6 modules
3439
+ var domain_session = __webpack_require__(7700);
3942
3440
  ;// ../core/src/api/apiRequest.ts
3943
3441
  class ApiRequest {
3944
3442
  constructor(externalSignal) {
@@ -4023,6 +3521,7 @@ var logger = __webpack_require__(8680);
4023
3521
 
4024
3522
 
4025
3523
 
3524
+
4026
3525
  class API {
4027
3526
  constructor(config) {
4028
3527
  var _a;
@@ -4292,7 +3791,7 @@ APIInstance.interceptors.request.use(config => {
4292
3791
  if (!Boolean((_a = config.meta) === null || _a === void 0 ? void 0 : _a.public) && !sessionId)
4293
3792
  throw new IasAbortRequestError(config.url);
4294
3793
  config.headers = Object.assign(Object.assign({}, config.headers), { Authorization: `Bearer ${storyManagerConfig.apiKey}`, "Accept-Language": storyManagerConfig.lang.toString(), "X-Request-Id": (0,external_uuid_.v4)(), "X-User-Agent": storyManager/* storyManager */.jR.userAgent });
4295
- if (storyManagerConfig.userId && !storyManagerConfig.anonymous) {
3794
+ if ((0,domain_session/* hasSessionOpenUserId */.DI)((0,domain_session/* sessionOpenIdentityFromConfig */.JZ)(storyManagerConfig))) {
4296
3795
  config.headers["X-User-Id"] = storyManagerConfig.userId.toString();
4297
3796
  }
4298
3797
  if (sessionId) {
@@ -4852,7 +4351,7 @@ class GameClientConfig {
4852
4351
  value: void 0
4853
4352
  });
4854
4353
  const storyManagerConfig = this.storyManager.config;
4855
- const sdkVersion = "1.16.10";
4354
+ const sdkVersion = "1.16.12";
4856
4355
  const placeholders = this.storyManager.rootStore.placeholderStore.placeholders;
4857
4356
  const session = this.storyManager.rootStore.sessionStore.session;
4858
4357
  this.sessionId = session.id;
@@ -5242,8 +4741,8 @@ class Game {
5242
4741
  }
5243
4742
  }
5244
4743
 
5245
- // EXTERNAL MODULE: ../../node_modules/events/events.js
5246
- var events = __webpack_require__(46);
4744
+ // EXTERNAL MODULE: external "eventemitter3"
4745
+ var external_eventemitter3_ = __webpack_require__(1345);
5247
4746
  // EXTERNAL MODULE: ../core/src/helpers/logger/index.ts + 12 modules
5248
4747
  var logger = __webpack_require__(8680);
5249
4748
  ;// ../core/src/domain/gameCenter/models/gameSession.ts
@@ -5266,7 +4765,7 @@ class GameForegroundTimeoutError extends Error {
5266
4765
  super("[IAS]: game foreground timeout exceeded 60 seconds");
5267
4766
  }
5268
4767
  }
5269
- class GameSession extends events.EventEmitter {
4768
+ class GameSession extends external_eventemitter3_.EventEmitter {
5270
4769
  constructor(iframe, origin) {
5271
4770
  super();
5272
4771
  Object.defineProperty(this, "iframe", {
@@ -7538,7 +7037,7 @@ class IamDisplayService {
7538
7037
  /* harmony export */ u4: () => (/* reexport safe */ _feeds__WEBPACK_IMPORTED_MODULE_2__.u4),
7539
7038
  /* harmony export */ wk: () => (/* reexport safe */ _feeds__WEBPACK_IMPORTED_MODULE_2__.wk)
7540
7039
  /* harmony export */ });
7541
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6317);
7040
+ /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7700);
7542
7041
  /* harmony import */ var _stories__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5804);
7543
7042
  /* harmony import */ var _feeds__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
7544
7043
  /* harmony import */ var _gameCenter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7737);
@@ -7651,7 +7150,7 @@ class UserTextPlaceholder extends Placeholder {
7651
7150
 
7652
7151
  /***/ },
7653
7152
 
7654
- /***/ 6317
7153
+ /***/ 7700
7655
7154
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7656
7155
 
7657
7156
 
@@ -7659,7 +7158,9 @@ class UserTextPlaceholder extends Placeholder {
7659
7158
  __webpack_require__.d(__webpack_exports__, {
7660
7159
  Qd: () => (/* reexport */ DEFAULT_USER_KEY),
7661
7160
  Nn: () => (/* reexport */ Session),
7662
- DF: () => (/* reexport */ SessionApi)
7161
+ DF: () => (/* reexport */ SessionApi),
7162
+ DI: () => (/* reexport */ hasSessionOpenUserId),
7163
+ JZ: () => (/* reexport */ sessionOpenIdentityFromConfig)
7663
7164
  });
7664
7165
 
7665
7166
  // EXTERNAL MODULE: ../core/src/helpers/index.ts + 13 modules
@@ -7683,16 +7184,37 @@ function saveDebugSessionKey(key) {
7683
7184
 
7684
7185
  // EXTERNAL MODULE: ../core/src/api/index.ts + 8 modules
7685
7186
  var api = __webpack_require__(861);
7187
+ // EXTERNAL MODULE: external "lodash-es"
7188
+ var external_lodash_es_ = __webpack_require__(1630);
7189
+ ;// ../core/src/domain/session/sessionOpenIdentity.ts
7190
+
7191
+ function sessionOpenIdentityFromConfig(config) {
7192
+ var _a;
7193
+ return {
7194
+ userId: (_a = config.userId) !== null && _a !== void 0 ? _a : "",
7195
+ userIdSign: config.userIdSign,
7196
+ anonymous: Boolean(config.anonymous)
7197
+ };
7198
+ }
7199
+ function hasSessionOpenUserId(identity) {
7200
+ if (identity.anonymous)
7201
+ return false;
7202
+ if (!(0,external_lodash_es_.isString)(identity.userId) && !(0,external_lodash_es_.isNumber)(identity.userId))
7203
+ return false;
7204
+ return identity.userId !== "";
7205
+ }
7206
+
7686
7207
  ;// ../core/src/domain/session/api/sessionApi.ts
7687
7208
 
7688
7209
 
7689
7210
 
7211
+
7690
7212
  const openFields = "session,server_timestamp,user_key,share,preview_aspect_ratio,placeholders,image_placeholders,is_allow_ugc,is_allow_statistic_v2,is_game_reader_default_fullscreen,debug_session_key";
7691
7213
  const openFeatures = "animation,data,deeplink,placeholder,resetTimers,gameReader,sendApi,swipeUpItems,imgPlaceholder,vod,closeStoryApi,slideTimerEndApi,multislideIam,scrollview,textInputApi";
7692
7214
  class SessionApi {
7693
- async open(payload) {
7215
+ async open(payload, signal) {
7694
7216
  var _a;
7695
- const data = await this.getOpenSessionPayload(payload);
7217
+ const data = await this.getOpenSessionPayload(payload, signal);
7696
7218
  const response = await api["default"].post("session/open", data, {
7697
7219
  params: {
7698
7220
  expand: "cache",
@@ -7700,13 +7222,16 @@ class SessionApi {
7700
7222
  },
7701
7223
  meta: {
7702
7224
  public: true
7703
- }
7225
+ },
7226
+ signal
7704
7227
  });
7705
7228
  saveDebugSessionKey((_a = response.data.debug_session_key) !== null && _a !== void 0 ? _a : null);
7706
7229
  return response.data;
7707
7230
  }
7708
- async getOpenSessionPayload(payload) {
7231
+ async getOpenSessionPayload(payload, signal) {
7232
+ this.throwIfAborted(signal);
7709
7233
  const hasWebP = await (0,helpers/* hasLossyWebP */.zH)();
7234
+ this.throwIfAborted(signal);
7710
7235
  const data = {
7711
7236
  platform: api/* deviceDescriptor */.c2.platform,
7712
7237
  features: openFeatures
@@ -7715,7 +7240,7 @@ class SessionApi {
7715
7240
  data.anonymous = payload.anonymous;
7716
7241
  if (!payload.anonymous)
7717
7242
  data.device_id = api/* deviceDescriptor */.c2.deviceId;
7718
- if (payload.userId && !payload.anonymous) {
7243
+ if (hasSessionOpenUserId(payload)) {
7719
7244
  data.user_id = payload.userId;
7720
7245
  data.user_sign = payload.userIdSign;
7721
7246
  }
@@ -7727,6 +7252,11 @@ class SessionApi {
7727
7252
  data.features += ",webp";
7728
7253
  return data;
7729
7254
  }
7255
+ throwIfAborted(signal) {
7256
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
7257
+ throw new DOMException("Aborted", "AbortError");
7258
+ }
7259
+ }
7730
7260
  }
7731
7261
 
7732
7262
  ;// ../core/src/domain/session/api/index.ts
@@ -7878,6 +7408,7 @@ class Session {
7878
7408
 
7879
7409
 
7880
7410
 
7411
+
7881
7412
  /***/ },
7882
7413
 
7883
7414
  /***/ 5804
@@ -9459,9 +8990,8 @@ class WidgetScrollViewImpressionEvent {
9459
8990
 
9460
8991
 
9461
8992
 
9462
- // EXTERNAL MODULE: ../../node_modules/events/events.js
9463
- var events = __webpack_require__(46);
9464
- var events_default = /*#__PURE__*/__webpack_require__.n(events);
8993
+ // EXTERNAL MODULE: external "eventemitter3"
8994
+ var external_eventemitter3_ = __webpack_require__(1345);
9465
8995
  // EXTERNAL MODULE: ../core/src/helpers/debug.ts
9466
8996
  var debug = __webpack_require__(9069);
9467
8997
  ;// ../core/src/domain/stories/services/statisticV1/statisticsFlushSheduler.ts
@@ -9587,7 +9117,7 @@ class StatisticV1Event {
9587
9117
  return [this.action, this.lastIndex, this.storyId, this.slideIndex, this.slideDuration];
9588
9118
  }
9589
9119
  }
9590
- class StoryReaderStatisticV1Service extends (events_default()) {
9120
+ class StoryReaderStatisticV1Service extends external_eventemitter3_["default"] {
9591
9121
  constructor(storyManager, statisticV1Api) {
9592
9122
  super();
9593
9123
  Object.defineProperty(this, "storyManager", {
@@ -9962,8 +9492,8 @@ var external_mobx_ = __webpack_require__(4980);
9962
9492
  var helpers = __webpack_require__(4884);
9963
9493
  // EXTERNAL MODULE: ../core/src/types/index.ts + 3 modules
9964
9494
  var src_types = __webpack_require__(6629);
9965
- // EXTERNAL MODULE: ../../node_modules/events/events.js
9966
- var events = __webpack_require__(46);
9495
+ // EXTERNAL MODULE: external "eventemitter3"
9496
+ var external_eventemitter3_ = __webpack_require__(1345);
9967
9497
  // EXTERNAL MODULE: ../core/src/api/index.ts + 8 modules
9968
9498
  var api = __webpack_require__(861);
9969
9499
  ;// ../core/src/domain/storyManagerConfig/models/storyManagerConfig.ts
@@ -10025,7 +9555,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
10025
9555
 
10026
9556
  let StoryManagerConfig = (() => {
10027
9557
  var _a, _StoryManagerConfig__apiKey_accessor_storage, _StoryManagerConfig__tags_accessor_storage, _StoryManagerConfig__lang_accessor_storage, _StoryManagerConfig__dir_accessor_storage, _StoryManagerConfig__anonymous_accessor_storage, _StoryManagerConfig__options_accessor_storage, _StoryManagerConfig__userId_accessor_storage;
10028
- let _classSuper = events.EventEmitter;
9558
+ let _classSuper = external_eventemitter3_.EventEmitter;
10029
9559
  let __apiKey_decorators;
10030
9560
  let __apiKey_initializers = [];
10031
9561
  let __apiKey_extraInitializers = [];
@@ -10223,7 +9753,9 @@ let StoryManagerConfig = (() => {
10223
9753
  async setUserId(userId, userIdSign) {
10224
9754
  if (this._disableDeviceId && (userId == null || userId === ""))
10225
9755
  throw new IasEmptyUserIdError();
10226
- if ((!(0,external_lodash_es_.isString)(userId) && !(0,external_lodash_es_.isNumber)(userId)) || this._userId === userId)
9756
+ if (!(0,external_lodash_es_.isString)(userId) && !(0,external_lodash_es_.isNumber)(userId))
9757
+ return;
9758
+ if (this._userId === userId && this._userIdSign === userIdSign)
10227
9759
  return;
10228
9760
  if (this._anonymous) {
10229
9761
  this._userId = "";
@@ -10352,8 +9884,8 @@ let StoryManagerConfig = (() => {
10352
9884
  const apiUrl = api/* domains */.C5.parseAndDefine(apiKey);
10353
9885
  api["default"].baseURL = `${apiUrl}/v2/`;
10354
9886
  }
10355
- /** Fast user switching breaks feed loading (may close session while feed is loading). */
10356
- async reloadSdk() {
9887
+ /** Parallel reload callers share one in-flight pass; sequential updates await separate passes. */
9888
+ reloadSdk() {
10357
9889
  if (this.reloadSdkPromise)
10358
9890
  return this.reloadSdkPromise;
10359
9891
  this.reloadSdkPromise = this.executeReloadSdk().finally(() => {
@@ -10362,18 +9894,19 @@ let StoryManagerConfig = (() => {
10362
9894
  return this.reloadSdkPromise;
10363
9895
  }
10364
9896
  async executeReloadSdk() {
9897
+ await api["default"].abortBySdkConfigUpdate();
9898
+ await this.storyManager.rootStore.sessionStore.prepareForSdkConfigReload();
9899
+ // Let microtasks from aborted request handlers run (e.g. isLoading → false) before reloading lists.
9900
+ await (0,helpers/* awaitMacrotask */.sY)();
9901
+ this.storyManager.emit("requestSDKReload");
9902
+ this.storyManager.closeAllReaders();
10365
9903
  try {
10366
- await api["default"].abortBySdkConfigUpdate();
10367
- // Let microtasks from aborted request handlers run (e.g. isLoading → false) before reloading lists.
10368
- await (0,helpers/* awaitMacrotask */.sY)();
10369
- this.storyManager.emit("requestSDKReload");
10370
- this.storyManager.rootStore.sessionStore.close();
10371
- this.storyManager.closeAllReaders();
10372
9904
  await this.storyManager.reloadAllStoryLists();
10373
9905
  await this.storyManager.reloadAllStackedStoryLists();
10374
9906
  }
10375
9907
  catch (error) {
10376
- console.error(error);
9908
+ console.error("[IAS]: failed to reload story lists after SDK config update", error);
9909
+ throw error;
10377
9910
  }
10378
9911
  }
10379
9912
  },
@@ -11461,6 +10994,7 @@ var LogComponent;
11461
10994
  LogComponent["StorySlide"] = "story-slide";
11462
10995
  LogComponent["Session"] = "session";
11463
10996
  LogComponent["SessionStore"] = "session-store";
10997
+ LogComponent["StoryStore"] = "story-store";
11464
10998
  LogComponent["HttpClient"] = "http-client";
11465
10999
  LogComponent["Game"] = "game";
11466
11000
  LogComponent["GameSession"] = "game-session";
@@ -12348,8 +11882,8 @@ var types_storyManager = __webpack_require__(6456);
12348
11882
  var readers = __webpack_require__(9867);
12349
11883
  // EXTERNAL MODULE: ../core/src/helpers/index.ts + 13 modules
12350
11884
  var helpers = __webpack_require__(4884);
12351
- // EXTERNAL MODULE: ../../node_modules/events/events.js
12352
- var events = __webpack_require__(46);
11885
+ // EXTERNAL MODULE: external "eventemitter3"
11886
+ var external_eventemitter3_ = __webpack_require__(1345);
12353
11887
  // EXTERNAL MODULE: ../core/src/types/appearanceCommon.ts
12354
11888
  var appearanceCommon = __webpack_require__(4487);
12355
11889
  // EXTERNAL MODULE: ../core/src/types/storiesList.ts
@@ -12413,7 +11947,7 @@ class AppearanceManagerTypeException extends Error {
12413
11947
 
12414
11948
 
12415
11949
 
12416
- class AppearanceManager extends events.EventEmitter {
11950
+ class AppearanceManager extends external_eventemitter3_.EventEmitter {
12417
11951
  constructor() {
12418
11952
  super();
12419
11953
  Object.defineProperty(this, "_commonOptions", {
@@ -14551,8 +14085,8 @@ class IamSlideApiHandlers {
14551
14085
  }
14552
14086
  }
14553
14087
 
14554
- // EXTERNAL MODULE: ../../node_modules/events/events.js
14555
- var events = __webpack_require__(46);
14088
+ // EXTERNAL MODULE: external "eventemitter3"
14089
+ var external_eventemitter3_ = __webpack_require__(1345);
14556
14090
  ;// ../core/src/readers/inAppMessaging/iamMessage/iamMultiSlideMessageViewModel.ts
14557
14091
  var iamMultiSlideMessageViewModel_runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {
14558
14092
  var useValue = arguments.length > 2;
@@ -14610,7 +14144,7 @@ const SWIPE_UP_THRESHOLD = 10;
14610
14144
  const SLIDE_CLICK_THRESHOLD = 0.3;
14611
14145
  let IamMultiSlideMessageViewModel = (() => {
14612
14146
  var _a, _IamMultiSlideMessageViewModel__isOnceOpened_accessor_storage, _IamMultiSlideMessageViewModel__$root_accessor_storage, _IamMultiSlideMessageViewModel__needShowErrorScreen_accessor_storage, _IamMultiSlideMessageViewModel__needShowLoaderScreen_accessor_storage, _IamMultiSlideMessageViewModel__disabledNextClick_accessor_storage;
14613
- let _classSuper = events.EventEmitter;
14147
+ let _classSuper = external_eventemitter3_.EventEmitter;
14614
14148
  let _instanceExtraInitializers = [];
14615
14149
  let __isOnceOpened_decorators;
14616
14150
  let __isOnceOpened_initializers = [];
@@ -15063,8 +14597,8 @@ __webpack_require__.d(__webpack_exports__, {
15063
14597
 
15064
14598
  // EXTERNAL MODULE: external "lodash-es"
15065
14599
  var external_lodash_es_ = __webpack_require__(1630);
15066
- // EXTERNAL MODULE: ../core/src/storyManager/storyManager.ts + 19 modules
15067
- var storyManager_storyManager = __webpack_require__(6728);
14600
+ // EXTERNAL MODULE: ../core/src/storyManager/storyManager.ts + 20 modules
14601
+ var storyManager_storyManager = __webpack_require__(97);
15068
14602
  // EXTERNAL MODULE: ../core/src/types/index.ts + 3 modules
15069
14603
  var types = __webpack_require__(6629);
15070
14604
  // EXTERNAL MODULE: ../core/src/readers/storyReader/index.ts + 67 modules
@@ -18399,8 +17933,8 @@ let StoryActionPanelViewModel = (() => {
18399
17933
 
18400
17934
  // EXTERNAL MODULE: ../core/src/domain/stories/index.ts + 43 modules
18401
17935
  var stories = __webpack_require__(5804);
18402
- // EXTERNAL MODULE: ../../node_modules/events/events.js
18403
- var events = __webpack_require__(46);
17936
+ // EXTERNAL MODULE: external "eventemitter3"
17937
+ var external_eventemitter3_ = __webpack_require__(1345);
18404
17938
  ;// ../core/src/readers/storyReader/storyViewModel/storyGoodsWidgetViewModel.ts
18405
17939
  var storyGoodsWidgetViewModel_esDecorate = (undefined && undefined.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
18406
17940
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
@@ -18457,7 +17991,7 @@ var GoodsWidgetEvent;
18457
17991
  })(GoodsWidgetEvent || (GoodsWidgetEvent = {}));
18458
17992
  let StoryGoodsWidgetViewModel = (() => {
18459
17993
  var _a, _StoryGoodsWidgetViewModel_params_accessor_storage;
18460
- let _classSuper = events.EventEmitter;
17994
+ let _classSuper = external_eventemitter3_.EventEmitter;
18461
17995
  let _params_decorators;
18462
17996
  let _params_initializers = [];
18463
17997
  let _params_extraInitializers = [];
@@ -18558,7 +18092,7 @@ var TimerEvent;
18558
18092
  TimerEvent["Progress"] = "progress";
18559
18093
  TimerEvent["Complete"] = "complete";
18560
18094
  })(TimerEvent || (TimerEvent = {}));
18561
- class Timer extends events.EventEmitter {
18095
+ class Timer extends external_eventemitter3_.EventEmitter {
18562
18096
  constructor() {
18563
18097
  super(...arguments);
18564
18098
  Object.defineProperty(this, "timerId", {
@@ -22823,13 +22357,13 @@ let IamStore = (() => {
22823
22357
  /* harmony export */ jR: () => (/* reexport safe */ _storyManager__WEBPACK_IMPORTED_MODULE_0__.jR),
22824
22358
  /* harmony export */ vy: () => (/* reexport safe */ _storyManager__WEBPACK_IMPORTED_MODULE_0__.vy)
22825
22359
  /* harmony export */ });
22826
- /* harmony import */ var _storyManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6728);
22360
+ /* harmony import */ var _storyManager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97);
22827
22361
 
22828
22362
 
22829
22363
 
22830
22364
  /***/ },
22831
22365
 
22832
- /***/ 6728
22366
+ /***/ 97
22833
22367
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
22834
22368
 
22835
22369
 
@@ -22852,14 +22386,20 @@ var stackedStoryList = __webpack_require__(2228);
22852
22386
  var inAppMessaging = __webpack_require__(632);
22853
22387
  // EXTERNAL MODULE: ../core/src/store/inAppMessaging/index.ts + 3 modules
22854
22388
  var store_inAppMessaging = __webpack_require__(6467);
22855
- // EXTERNAL MODULE: ../core/src/domain/session/index.ts + 5 modules
22856
- var domain_session = __webpack_require__(6317);
22389
+ // EXTERNAL MODULE: ../core/src/domain/session/index.ts + 6 modules
22390
+ var domain_session = __webpack_require__(7700);
22857
22391
  // EXTERNAL MODULE: external "mobx"
22858
22392
  var external_mobx_ = __webpack_require__(4980);
22859
- // EXTERNAL MODULE: ../core/src/helpers/index.ts + 13 modules
22860
- var helpers = __webpack_require__(4884);
22861
22393
  // EXTERNAL MODULE: ../core/src/helpers/logger/index.ts + 12 modules
22862
22394
  var helpers_logger = __webpack_require__(8680);
22395
+ ;// ../core/src/store/session/sessionOpenSupersededError.ts
22396
+ class SessionOpenSupersededError extends Error {
22397
+ constructor() {
22398
+ super("[IAS]: session open superseded by config reload");
22399
+ this.name = "SessionOpenSupersededError";
22400
+ }
22401
+ }
22402
+
22863
22403
  ;// ../core/src/store/session/sessionStore.ts
22864
22404
  var __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {
22865
22405
  var useValue = arguments.length > 2;
@@ -22918,7 +22458,6 @@ let SessionStore = (() => {
22918
22458
  let __session_extraInitializers = [];
22919
22459
  let _get_session_decorators;
22920
22460
  let _get_userId_decorators;
22921
- let _open_decorators;
22922
22461
  return _a = class SessionStore {
22923
22462
  get _session() { return __classPrivateFieldGet(this, _SessionStore__session_accessor_storage, "f"); }
22924
22463
  set _session(value) { __classPrivateFieldSet(this, _SessionStore__session_accessor_storage, value, "f"); }
@@ -22942,10 +22481,18 @@ let SessionStore = (() => {
22942
22481
  value: rootStore
22943
22482
  });
22944
22483
  _SessionStore__session_accessor_storage.set(this, __runInitializers(this, __session_initializers, null));
22945
- __runInitializers(this, __session_extraInitializers);
22946
- this.storyManager = storyManager;
22947
- this.sessionApi = sessionApi;
22948
- this.rootStore = rootStore;
22484
+ Object.defineProperty(this, "openInFlight", {
22485
+ enumerable: true,
22486
+ configurable: true,
22487
+ writable: true,
22488
+ value: (__runInitializers(this, __session_extraInitializers), null)
22489
+ });
22490
+ Object.defineProperty(this, "openAbortController", {
22491
+ enumerable: true,
22492
+ configurable: true,
22493
+ writable: true,
22494
+ value: null
22495
+ });
22949
22496
  }
22950
22497
  get session() {
22951
22498
  return this._session;
@@ -22957,24 +22504,97 @@ let SessionStore = (() => {
22957
22504
  async open() {
22958
22505
  if (this._session)
22959
22506
  return this._session;
22960
- // Since initialization via IASContainer with delay
22961
- const config = this.storyManager.config;
22962
- const sessionDto = await this.sessionApi.open({
22963
- userId: config.userId,
22964
- userIdSign: config.userIdSign,
22965
- anonymous: config.anonymous
22507
+ if (this.openInFlight)
22508
+ return this.openInFlight;
22509
+ this.openInFlight = this.executeOpen().finally(() => {
22510
+ this.openInFlight = null;
22511
+ });
22512
+ return this.openInFlight;
22513
+ }
22514
+ close() {
22515
+ var _b;
22516
+ const sessionId = (_b = this._session) === null || _b === void 0 ? void 0 : _b.id;
22517
+ this.invalidateOpen();
22518
+ if (sessionId) {
22519
+ this.storyManager.logger.info("session closed", {
22520
+ sessionId,
22521
+ component: helpers_logger/* LogComponent */.SS.SessionStore
22522
+ });
22523
+ }
22524
+ }
22525
+ /** Called from {@link StoryManagerConfig} reload — abort stale session/open, drop cached session. */
22526
+ async prepareForSdkConfigReload() {
22527
+ var _b;
22528
+ this.storyManager.logger.info("session prepare for SDK config reload", {
22529
+ sessionId: (_b = this._session) === null || _b === void 0 ? void 0 : _b.id,
22530
+ openInFlight: Boolean(this.openInFlight),
22531
+ component: helpers_logger/* LogComponent */.SS.SessionStore
22532
+ });
22533
+ this.invalidateOpen();
22534
+ const inFlight = this.openInFlight;
22535
+ if (!inFlight)
22536
+ return;
22537
+ await inFlight.catch(error => {
22538
+ /* if (error instanceof SessionOpenSupersededError) return;
22539
+ throw error; */
22540
+ return;
22966
22541
  });
22542
+ }
22543
+ invalidateOpen() {
22544
+ var _b;
22545
+ this._session = null;
22546
+ (_b = this.openAbortController) === null || _b === void 0 ? void 0 : _b.abort();
22547
+ this.openAbortController = null;
22548
+ }
22549
+ async executeOpen() {
22550
+ var _b;
22551
+ (_b = this.openAbortController) === null || _b === void 0 ? void 0 : _b.abort();
22552
+ const abortController = new AbortController();
22553
+ this.openAbortController = abortController;
22554
+ const { signal } = abortController;
22555
+ const openIdentity = (0,domain_session/* sessionOpenIdentityFromConfig */.JZ)(this.storyManager.config);
22556
+ this.storyManager.logger.info("session open started", {
22557
+ userId: openIdentity.userId.toString(),
22558
+ anonymous: openIdentity.anonymous,
22559
+ component: helpers_logger/* LogComponent */.SS.SessionStore
22560
+ });
22561
+ let sessionDto;
22562
+ try {
22563
+ sessionDto = await this.sessionApi.open(openIdentity, signal);
22564
+ }
22565
+ catch (error) {
22566
+ if (signal.aborted) {
22567
+ this.storyManager.logger.warn("session open superseded", {
22568
+ component: helpers_logger/* LogComponent */.SS.SessionStore
22569
+ });
22570
+ throw new SessionOpenSupersededError();
22571
+ }
22572
+ this.storyManager.logger.error("session open failed", { component: helpers_logger/* LogComponent */.SS.SessionStore }, error);
22573
+ throw error;
22574
+ }
22575
+ finally {
22576
+ if (this.openAbortController === abortController) {
22577
+ this.openAbortController = null;
22578
+ }
22579
+ }
22580
+ if (signal.aborted) {
22581
+ this.storyManager.logger.warn("session open superseded", {
22582
+ component: helpers_logger/* LogComponent */.SS.SessionStore
22583
+ });
22584
+ throw new SessionOpenSupersededError();
22585
+ }
22967
22586
  const session = new domain_session/* Session */.Nn(this.storyManager, this, sessionDto);
22968
22587
  session.loadResources();
22969
22588
  this.updatePlaceholders(session);
22970
22589
  this._session = session;
22971
22590
  this.initDebugSession(session);
22972
- this.storyManager.logger.info("session opened", { sessionId: session.id, component: helpers_logger/* LogComponent */.SS.SessionStore });
22591
+ this.storyManager.logger.info("session opened", {
22592
+ sessionId: session.id,
22593
+ userKey: session.userKey,
22594
+ component: helpers_logger/* LogComponent */.SS.SessionStore
22595
+ });
22973
22596
  return session;
22974
22597
  }
22975
- close() {
22976
- this._session = null;
22977
- }
22978
22598
  updatePlaceholders(session) {
22979
22599
  this.rootStore.placeholderStore.addPlaceholders([...session.imagePlaceholders, ...session.textPlaceholders]);
22980
22600
  }
@@ -22997,11 +22617,9 @@ let SessionStore = (() => {
22997
22617
  __session_decorators = [external_mobx_.observable];
22998
22618
  _get_session_decorators = [external_mobx_.computed];
22999
22619
  _get_userId_decorators = [external_mobx_.computed];
23000
- _open_decorators = [helpers/* noConcurrent */.dV];
23001
22620
  __esDecorate(_a, null, __session_decorators, { kind: "accessor", name: "_session", static: false, private: false, access: { has: obj => "_session" in obj, get: obj => obj._session, set: (obj, value) => { obj._session = value; } }, metadata: _metadata }, __session_initializers, __session_extraInitializers);
23002
22621
  __esDecorate(_a, null, _get_session_decorators, { kind: "getter", name: "session", static: false, private: false, access: { has: obj => "session" in obj, get: obj => obj.session }, metadata: _metadata }, null, _instanceExtraInitializers);
23003
22622
  __esDecorate(_a, null, _get_userId_decorators, { kind: "getter", name: "userId", static: false, private: false, access: { has: obj => "userId" in obj, get: obj => obj.userId }, metadata: _metadata }, null, _instanceExtraInitializers);
23004
- __esDecorate(_a, null, _open_decorators, { kind: "method", name: "open", static: false, private: false, access: { has: obj => "open" in obj, get: obj => obj.open }, metadata: _metadata }, null, _instanceExtraInitializers);
23005
22623
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
23006
22624
  })(),
23007
22625
  _a;
@@ -23013,6 +22631,8 @@ let SessionStore = (() => {
23013
22631
 
23014
22632
  // EXTERNAL MODULE: ../core/src/domain/index.ts
23015
22633
  var domain = __webpack_require__(877);
22634
+ // EXTERNAL MODULE: ../core/src/helpers/index.ts + 13 modules
22635
+ var helpers = __webpack_require__(4884);
23016
22636
  ;// ../core/src/store/story/storyStore.ts
23017
22637
  var storyStore_runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {
23018
22638
  var useValue = arguments.length > 2;
@@ -23062,6 +22682,7 @@ var storyStore_classPrivateFieldSet = (undefined && undefined.__classPrivateFiel
23062
22682
 
23063
22683
 
23064
22684
 
22685
+
23065
22686
  const EMPTY_MAP = external_mobx_.observable.map();
23066
22687
  let StoryStore = (() => {
23067
22688
  var _a, _StoryStore__storiesByUserId_accessor_storage;
@@ -23156,6 +22777,10 @@ let StoryStore = (() => {
23156
22777
  story.markIsOpened();
23157
22778
  this.storiesApi.markStoryAsOpened(session.userKey, story.id);
23158
22779
  this.rootStore.onboardingFeedStore.removeStoryFromOnboardingFeedsById(story.id);
22780
+ this.storyManager.logger.info("story marked opened", {
22781
+ storyId: story.id,
22782
+ component: helpers_logger/* LogComponent */.SS.StoryStore
22783
+ });
23159
22784
  }
23160
22785
  async fetchStoryById({ storyId, feedSlug, fetchShareUrl, once, targeting }) {
23161
22786
  let story = this.findStoryById(storyId);
@@ -23170,6 +22795,11 @@ let StoryStore = (() => {
23170
22795
  });
23171
22796
  story.setContext(storyContext);
23172
22797
  story.setCanBeShown(true);
22798
+ this.storyManager.logger.info("story loaded", {
22799
+ storyId: story.id,
22800
+ feedSlug,
22801
+ component: helpers_logger/* LogComponent */.SS.StoryStore
22802
+ });
23173
22803
  return story;
23174
22804
  }
23175
22805
  async fetchStoriesSlides(payload) {
@@ -23186,6 +22816,7 @@ let StoryStore = (() => {
23186
22816
  await Promise.all(stories.map((story, index) => this.processSingleStory(startAt, story, storyContexts[index], payload.feedSlug)));
23187
22817
  }
23188
22818
  catch (error) {
22819
+ this.storyManager.logger.error("story slides batch load failed", { feedSlug: payload.feedSlug, storyCount: stories.length, component: helpers_logger/* LogComponent */.SS.StoryStore }, error);
23189
22820
  for (const story of stories)
23190
22821
  story.setError(error);
23191
22822
  }
@@ -23211,8 +22842,14 @@ let StoryStore = (() => {
23211
22842
  story.updatePlaceholders(this.rootStore.placeholderStore.placeholders);
23212
22843
  await (0,helpers/* sleep */.yy)(startAt);
23213
22844
  story.setCanBeShown(true);
22845
+ this.storyManager.logger.info("story slides loaded", {
22846
+ storyId: story.id,
22847
+ feedSlug,
22848
+ component: helpers_logger/* LogComponent */.SS.StoryStore
22849
+ });
23214
22850
  }
23215
22851
  catch (error) {
22852
+ this.storyManager.logger.error("story slides load failed", { storyId: story.id, feedSlug, component: helpers_logger/* LogComponent */.SS.StoryStore }, error);
23216
22853
  story.setError(error);
23217
22854
  }
23218
22855
  }
@@ -23616,7 +23253,7 @@ class UgcEditorStore {
23616
23253
  const session = await this.storyManager.rootStore.sessionStore.open();
23617
23254
  const ugcEditorConfigDto = await this.ugcEditorApi.fetchUgcEditorConfig();
23618
23255
  const storyManagerConfig = this.storyManager.config;
23619
- const sdkVersion = "1.16.10";
23256
+ const sdkVersion = "1.16.12";
23620
23257
  this._config = {
23621
23258
  sessionId: session.id,
23622
23259
  apiKey: storyManagerConfig.apiKey,
@@ -24092,11 +23729,11 @@ class StoryManager extends types/* TypedEventEmitter */.Xl {
24092
23729
  return api/* deviceDescriptor */.c2.deviceId;
24093
23730
  }
24094
23731
  get sdkVersionName() {
24095
- const sdkVersionName = "1.16.10";
23732
+ const sdkVersionName = "1.16.12";
24096
23733
  return sdkVersionName || "0.0.0";
24097
23734
  }
24098
23735
  get sdkVersionCode() {
24099
- const sdkVersionCode = 11610;
23736
+ const sdkVersionCode = 11612;
24100
23737
  return sdkVersionCode ? parseInt(sdkVersionCode) : 0;
24101
23738
  }
24102
23739
  get lang() {
@@ -24160,7 +23797,7 @@ class StoryManager extends types/* TypedEventEmitter */.Xl {
24160
23797
  this.rootStore.storyManagerConfigStore.setConfig(configDto);
24161
23798
  }
24162
23799
  setUserAgent(userAgent) {
24163
- const sdkVersionCode = 11610;
23800
+ const sdkVersionCode = 11612;
24164
23801
  const buildVersion = sdkVersionCode ? parseInt(sdkVersionCode) : 0;
24165
23802
  // According to RFC5987, HTTP header values can legitimately be supplied using the ISO-8859-1 encoding.
24166
23803
  this._userAgent = `${userAgent} ${convertStrToLatin1(navigator.userAgent)}`;
@@ -24461,11 +24098,11 @@ var StoryManagerLinkEventSource;
24461
24098
  StoryManagerLinkEventSource["Banners"] = "banners";
24462
24099
  })(StoryManagerLinkEventSource || (StoryManagerLinkEventSource = {}));
24463
24100
 
24464
- // EXTERNAL MODULE: ../../node_modules/events/events.js
24465
- var events = __webpack_require__(46);
24101
+ // EXTERNAL MODULE: external "eventemitter3"
24102
+ var external_eventemitter3_ = __webpack_require__(1345);
24466
24103
  ;// ../core/src/types/events.ts
24467
24104
 
24468
- class TypedEventEmitter extends events.EventEmitter {
24105
+ class TypedEventEmitter extends external_eventemitter3_.EventEmitter {
24469
24106
  emit(event, arg) {
24470
24107
  return super.emit(event, arg);
24471
24108
  }
@@ -25051,11 +24688,11 @@ __webpack_require__.d(__webpack_exports__, {
25051
24688
  v: () => (/* reexport */ ViewModelFactory)
25052
24689
  });
25053
24690
 
25054
- // EXTERNAL MODULE: ../../node_modules/events/events.js
25055
- var events = __webpack_require__(46);
24691
+ // EXTERNAL MODULE: external "eventemitter3"
24692
+ var external_eventemitter3_ = __webpack_require__(1345);
25056
24693
  ;// ../core/src/viewModels/viewModel.ts
25057
24694
 
25058
- class ViewModel extends events.EventEmitter {
24695
+ class ViewModel extends external_eventemitter3_.EventEmitter {
25059
24696
  }
25060
24697
 
25061
24698
  // EXTERNAL MODULE: ../core/src/domain/inAppMessaging/index.ts + 35 modules
@@ -25163,6 +24800,17 @@ module.exports = x({ ["default"]: () => (__WEBPACK_EXTERNAL_MODULE_deepmerge__["
25163
24800
 
25164
24801
  /***/ },
25165
24802
 
24803
+ /***/ 1345
24804
+ (module, __unused_webpack_exports, __webpack_require__) {
24805
+
24806
+ const x = (y) => {
24807
+ const x = {}; __webpack_require__.d(x, y); return x
24808
+ }
24809
+ const y = (x) => (() => (x))
24810
+ module.exports = x({ ["EventEmitter"]: () => (__WEBPACK_EXTERNAL_MODULE_eventemitter3__.EventEmitter), ["default"]: () => (__WEBPACK_EXTERNAL_MODULE_eventemitter3__["default"]) });
24811
+
24812
+ /***/ },
24813
+
25166
24814
  /***/ 1630
25167
24815
  (module, __unused_webpack_exports, __webpack_require__) {
25168
24816
 
@@ -29924,8 +29572,8 @@ const Story = __WEBPACK_EXTERNAL_MODULE_mobx_react_lite_9dacf130_observer__((_a)
29924
29572
  ;// ./src/StoryReader/Story/index.ts
29925
29573
 
29926
29574
 
29927
- // EXTERNAL MODULE: ../../node_modules/events/events.js
29928
- var events = __webpack_require__(46);
29575
+ // EXTERNAL MODULE: external "eventemitter3"
29576
+ var external_eventemitter3_ = __webpack_require__(1345);
29929
29577
  ;// ./src/StoryReader/ModernStoryList/UI/modernSlider.ts
29930
29578
  var __runInitializers = (undefined && undefined.__runInitializers) || function (thisArg, initializers, value) {
29931
29579
  var useValue = arguments.length > 2;
@@ -29977,7 +29625,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
29977
29625
  const DEFAULT_TRANSITION_SPEED = 300;
29978
29626
  let ModernSlider = (() => {
29979
29627
  var _a, _ModernSlider__animating_accessor_storage, _ModernSlider__currentIndex_accessor_storage;
29980
- let _classSuper = events.EventEmitter;
29628
+ let _classSuper = external_eventemitter3_.EventEmitter;
29981
29629
  let _instanceExtraInitializers = [];
29982
29630
  let __animating_decorators;
29983
29631
  let __animating_initializers = [];
@@ -30710,7 +30358,7 @@ var mobileSlider_classPrivateFieldSet = (undefined && undefined.__classPrivateFi
30710
30358
 
30711
30359
  let MobileSlider = (() => {
30712
30360
  var _a, _MobileSlider__animating_accessor_storage, _MobileSlider__currentIndex_accessor_storage, _MobileSlider_effect_accessor_storage;
30713
- let _classSuper = events.EventEmitter;
30361
+ let _classSuper = external_eventemitter3_.EventEmitter;
30714
30362
  let _instanceExtraInitializers = [];
30715
30363
  let __animating_decorators;
30716
30364
  let __animating_initializers = [];