@condorinst/mobile-bridge 0.23.0 → 0.23.1

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.
@@ -1917,6 +1917,7 @@ var CondorDevHarness = (() => {
1917
1917
  const pendingSync = /* @__PURE__ */ new Set();
1918
1918
  const pendingErase = /* @__PURE__ */ new Set();
1919
1919
  const running = /* @__PURE__ */ new Set();
1920
+ const sessionStart = /* @__PURE__ */ new Map();
1920
1921
  const idOf = (device) => byId && roster.filter((d) => d.serialNo === device.serialNo).length > 1 ? { deviceId: device.deviceId } : {};
1921
1922
  const findDevice = (args) => args.deviceId !== void 0 ? roster.find((d) => d.deviceId === args.deviceId) : roster.find((d) => d.serialNo === args.serialNo);
1922
1923
  const statusForBundle = () => {
@@ -2254,6 +2255,7 @@ var CondorDevHarness = (() => {
2254
2255
  ];
2255
2256
  const failAt = scenario.sessionFailAt ?? (status.internet === false ? "send_data_log" : void 0);
2256
2257
  running.add(id);
2258
+ sessionStart.set(id, now());
2257
2259
  let delay = latency();
2258
2260
  reply("deviceNotification", note("Device connected", null), delay);
2259
2261
  for (const [message, code, stage] of steps) {
@@ -2279,7 +2281,19 @@ var CondorDevHarness = (() => {
2279
2281
  const timer = setTimeout(() => {
2280
2282
  timers.delete(timer);
2281
2283
  running.delete(deviceId);
2282
- if (!realTimeOn.has(deviceId)) setConnected(deviceId, false);
2284
+ if (!realTimeOn.has(deviceId)) {
2285
+ setConnected(deviceId, false);
2286
+ return;
2287
+ }
2288
+ const startedAt2 = sessionStart.get(deviceId) ?? now();
2289
+ const hold = setTimeout(
2290
+ () => {
2291
+ timers.delete(hold);
2292
+ if (connected.get(deviceId) && !running.has(deviceId)) setConnected(deviceId, false);
2293
+ },
2294
+ Math.max(0, startedAt2 + (scenario.realTimeSessionMs ?? 18e4) - now())
2295
+ );
2296
+ timers.add(hold);
2283
2297
  }, delay);
2284
2298
  timers.add(timer);
2285
2299
  }
package/dist/dev.cjs CHANGED
@@ -1452,6 +1452,7 @@ function createSimulatedNative(adapter, scenario, hooks = {}) {
1452
1452
  const pendingSync = /* @__PURE__ */ new Set();
1453
1453
  const pendingErase = /* @__PURE__ */ new Set();
1454
1454
  const running = /* @__PURE__ */ new Set();
1455
+ const sessionStart = /* @__PURE__ */ new Map();
1455
1456
  const idOf = (device) => byId && roster.filter((d) => d.serialNo === device.serialNo).length > 1 ? { deviceId: device.deviceId } : {};
1456
1457
  const findDevice = (args) => args.deviceId !== void 0 ? roster.find((d) => d.deviceId === args.deviceId) : roster.find((d) => d.serialNo === args.serialNo);
1457
1458
  const statusForBundle = () => {
@@ -1789,6 +1790,7 @@ function createSimulatedNative(adapter, scenario, hooks = {}) {
1789
1790
  ];
1790
1791
  const failAt = scenario.sessionFailAt ?? (status.internet === false ? "send_data_log" : void 0);
1791
1792
  running.add(id);
1793
+ sessionStart.set(id, now());
1792
1794
  let delay = latency();
1793
1795
  reply("deviceNotification", note("Device connected", null), delay);
1794
1796
  for (const [message, code, stage] of steps) {
@@ -1814,7 +1816,19 @@ function createSimulatedNative(adapter, scenario, hooks = {}) {
1814
1816
  const timer = setTimeout(() => {
1815
1817
  timers.delete(timer);
1816
1818
  running.delete(deviceId);
1817
- if (!realTimeOn.has(deviceId)) setConnected(deviceId, false);
1819
+ if (!realTimeOn.has(deviceId)) {
1820
+ setConnected(deviceId, false);
1821
+ return;
1822
+ }
1823
+ const startedAt2 = sessionStart.get(deviceId) ?? now();
1824
+ const hold = setTimeout(
1825
+ () => {
1826
+ timers.delete(hold);
1827
+ if (connected.get(deviceId) && !running.has(deviceId)) setConnected(deviceId, false);
1828
+ },
1829
+ Math.max(0, startedAt2 + (scenario.realTimeSessionMs ?? 18e4) - now())
1830
+ );
1831
+ timers.add(hold);
1818
1832
  }, delay);
1819
1833
  timers.add(timer);
1820
1834
  }