rnxsim 0.1.506 → 0.1.507
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/commands/control.ts +3 -3
- package/cli/commands/flow.ts +8 -12
- package/cli/commands/platform.ts +2 -1
- package/cli/ws-bridge.ts +28 -15
- package/detox/index.ts +24 -0
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +24 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +1 -1
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +18 -13
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +26 -21
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
package/cli/commands/control.ts
CHANGED
|
@@ -1299,7 +1299,7 @@ export async function runLinkCommand(args: string[], opts: ControlCommandOptions
|
|
|
1299
1299
|
export async function runOpenCommand(
|
|
1300
1300
|
args: string[],
|
|
1301
1301
|
opts: ControlCommandOptions = {},
|
|
1302
|
-
): Promise<
|
|
1302
|
+
): Promise<{ simId: string; launched: boolean } | undefined> {
|
|
1303
1303
|
const parsed = parseBridgeCliArgs(args, {
|
|
1304
1304
|
port: opts.port,
|
|
1305
1305
|
commandTimeoutMs: opts.timeoutMs,
|
|
@@ -1678,7 +1678,7 @@ export async function runOpenCommand(
|
|
|
1678
1678
|
quiet,
|
|
1679
1679
|
)
|
|
1680
1680
|
await maybeDescribeAfterOpen(parsed.wsPort, targetSim.id, args)
|
|
1681
|
-
return
|
|
1681
|
+
return { simId: targetSim.id, launched: false }
|
|
1682
1682
|
}
|
|
1683
1683
|
} finally {
|
|
1684
1684
|
bridge.close()
|
|
@@ -1756,7 +1756,7 @@ export async function runOpenCommand(
|
|
|
1756
1756
|
signalDriverLaunchConnected(result)
|
|
1757
1757
|
printOpenedSim(openUrl, match, `${driver.name} driver`, quiet)
|
|
1758
1758
|
await maybeDescribeAfterOpen(parsed.wsPort, match.id, args)
|
|
1759
|
-
return
|
|
1759
|
+
return { simId: match.id, launched: true }
|
|
1760
1760
|
}
|
|
1761
1761
|
|
|
1762
1762
|
async function runUseLikeCommand(args: string[], opts: ControlCommandOptions = {}) {
|
package/cli/commands/flow.ts
CHANGED
|
@@ -541,22 +541,18 @@ flow extension:
|
|
|
541
541
|
openArgs.push('--headless')
|
|
542
542
|
}
|
|
543
543
|
if (proofMode) openArgs.push('--proof')
|
|
544
|
-
await runOpenCommand(openArgs, {
|
|
544
|
+
const opened = await runOpenCommand(openArgs, {
|
|
545
545
|
port: parsedBridgeArgs.wsPort,
|
|
546
546
|
timeoutMs: parsedBridgeArgs.commandTimeoutMs,
|
|
547
547
|
runtimeConfig: targetAppResolution.runtimeConfig,
|
|
548
548
|
})
|
|
549
|
-
// a flow that
|
|
550
|
-
//
|
|
551
|
-
//
|
|
552
|
-
//
|
|
553
|
-
//
|
|
554
|
-
|
|
555
|
-
closeFlowOwnedSimAfterRun
|
|
556
|
-
if (closeFlowOwnedSimAfterRun) {
|
|
557
|
-
const openedSimId = readCurrentSimId()
|
|
558
|
-
if (openedSimId) ownedSimIds.add(openedSimId)
|
|
559
|
-
}
|
|
549
|
+
// a flow that launched its own sim owns it, and owning it means closing it.
|
|
550
|
+
// the detached host's watchdog polls the *top* ancestor
|
|
551
|
+
// (getStableOwnerPid -> findTopAncestor), which is the shell, agent
|
|
552
|
+
// session, or runner daemon, not the run. that pid can live for days, so
|
|
553
|
+
// a launched sim nobody closes stays open and keeps its flow lock.
|
|
554
|
+
closeFlowOwnedSimAfterRun = opened?.launched === true || !!driverFlag
|
|
555
|
+
if (closeFlowOwnedSimAfterRun && opened) ownedSimIds.add(opened.simId)
|
|
560
556
|
}
|
|
561
557
|
|
|
562
558
|
const resolvedBridgeArgs = parseBridgeCliArgs(args, FLOW_BRIDGE_ARG_OPTIONS)
|
package/cli/commands/platform.ts
CHANGED
|
@@ -294,7 +294,8 @@ export async function runPlatformCommand(
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
const { runOpenCommand } = await import('./control')
|
|
297
|
-
|
|
297
|
+
await runOpenCommand(args, { port: opts.port })
|
|
298
|
+
return 0
|
|
298
299
|
}
|
|
299
300
|
|
|
300
301
|
/** Runs the existing remote session path without changing the local platform commands. */
|
package/cli/ws-bridge.ts
CHANGED
|
@@ -616,25 +616,35 @@ export function createBridge(wsPort: number, opts: WsBridgeOptions = {}): WsBrid
|
|
|
616
616
|
|
|
617
617
|
let warnedAboutContention = false
|
|
618
618
|
let noticedTarget = false
|
|
619
|
-
// the browser host behind each target, learned while that
|
|
620
|
-
// connected. a reload changes the
|
|
621
|
-
|
|
619
|
+
// the browser host and connection behind each target, learned while that
|
|
620
|
+
// sim is still connected. a reload changes the connection, and sometimes the
|
|
621
|
+
// sim id, but not the host.
|
|
622
|
+
const lineageBySimId = new Map<string, { hostPid: number; connectedAt: number }>()
|
|
622
623
|
const lineageLookupBySimId = new Map<string, Promise<void>>()
|
|
623
624
|
|
|
624
625
|
// a reload retires the socket but keeps the browser host. the replacement
|
|
625
626
|
// can receive a new sim id or restore the prior one from session storage.
|
|
626
|
-
// the
|
|
627
|
+
// the unloading page's socket stays listed as open until its close lands, so
|
|
628
|
+
// only a connection newer than the known one is a replacement. the restored
|
|
629
|
+
// id is definitive; a new id must be the only newer same-host match.
|
|
627
630
|
function pickReloadedTarget(sims: unknown, retiredSimId: string): string | null {
|
|
628
|
-
const
|
|
629
|
-
if (
|
|
631
|
+
const lineage = lineageBySimId.get(retiredSimId)
|
|
632
|
+
if (!lineage) return null
|
|
630
633
|
const matches = (Array.isArray(sims) ? (sims as BridgeSimInfo[]) : []).filter(
|
|
631
|
-
(sim) =>
|
|
634
|
+
(sim) =>
|
|
635
|
+
sim.readyState === 'open' &&
|
|
636
|
+
sim.meta?.sootsimHostPid === lineage.hostPid &&
|
|
637
|
+
sim.connectedAt > lineage.connectedAt,
|
|
632
638
|
)
|
|
633
|
-
const
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
639
|
+
const successor =
|
|
640
|
+
matches.find((sim) => sim.id === retiredSimId) ??
|
|
641
|
+
(matches.length === 1 ? matches[0] : null)
|
|
642
|
+
if (!successor) return null
|
|
643
|
+
lineageBySimId.set(successor.id, {
|
|
644
|
+
hostPid: lineage.hostPid,
|
|
645
|
+
connectedAt: successor.connectedAt,
|
|
646
|
+
})
|
|
647
|
+
return successor.id
|
|
638
648
|
}
|
|
639
649
|
|
|
640
650
|
// print a one-line notice on first sim-scoped command so agents/users see
|
|
@@ -761,7 +771,7 @@ export function createBridge(wsPort: number, opts: WsBridgeOptions = {}): WsBrid
|
|
|
761
771
|
if (
|
|
762
772
|
targetedSimId &&
|
|
763
773
|
cmd.type !== 'bridge:list-sims' &&
|
|
764
|
-
!
|
|
774
|
+
!lineageBySimId.has(targetedSimId)
|
|
765
775
|
) {
|
|
766
776
|
let lookup = lineageLookupBySimId.get(targetedSimId)
|
|
767
777
|
if (!lookup) {
|
|
@@ -773,8 +783,11 @@ export function createBridge(wsPort: number, opts: WsBridgeOptions = {}): WsBrid
|
|
|
773
783
|
(sim) => sim.id === targetedSimId,
|
|
774
784
|
)
|
|
775
785
|
const hostPid = targeted?.meta?.sootsimHostPid
|
|
776
|
-
if (typeof hostPid === 'number') {
|
|
777
|
-
|
|
786
|
+
if (targeted && typeof hostPid === 'number') {
|
|
787
|
+
lineageBySimId.set(targetedSimId, {
|
|
788
|
+
hostPid,
|
|
789
|
+
connectedAt: targeted.connectedAt,
|
|
790
|
+
})
|
|
778
791
|
}
|
|
779
792
|
} catch {
|
|
780
793
|
// lineage enables fail-closed reload following, but a failed
|
package/detox/index.ts
CHANGED
|
@@ -2594,6 +2594,30 @@ export const device = {
|
|
|
2594
2594
|
}
|
|
2595
2595
|
},
|
|
2596
2596
|
|
|
2597
|
+
// window-point counterpart to element(...).longPress, for a target detox can
|
|
2598
|
+
// only address by coordinate (a native tab cell, a shell chrome control).
|
|
2599
|
+
async longPress(point: { x: number; y: number }, durationMs = 1000) {
|
|
2600
|
+
const page = getPage()
|
|
2601
|
+
const { x, y } = point
|
|
2602
|
+
await page.evaluate(
|
|
2603
|
+
async ({ x: px, y: py, ms }) => {
|
|
2604
|
+
const longPress = window.SootSim?.bridges?.interact?.longPress
|
|
2605
|
+
if (typeof longPress !== 'function') {
|
|
2606
|
+
throw new Error('sootsim longPress bridge is not installed')
|
|
2607
|
+
}
|
|
2608
|
+
const hit = await longPress(px, py, ms)
|
|
2609
|
+
if (!hit) {
|
|
2610
|
+
throw new Error(`sootsim longPress missed at ${px},${py}`)
|
|
2611
|
+
}
|
|
2612
|
+
},
|
|
2613
|
+
{ x, y, ms: durationMs },
|
|
2614
|
+
)
|
|
2615
|
+
await page.waitForTimeout(50)
|
|
2616
|
+
if (_synchronizationEnabled) {
|
|
2617
|
+
await waitForSootsimIdle(page)
|
|
2618
|
+
}
|
|
2619
|
+
},
|
|
2620
|
+
|
|
2597
2621
|
async sendToHome() {
|
|
2598
2622
|
const page = getPage()
|
|
2599
2623
|
_suspendedAppId = await page.evaluate(async () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/cloud.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/cloud.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
package/dist-lib/config.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -3702,6 +3702,29 @@ var device = {
|
|
|
3702
3702
|
await waitForSootsimIdle(page);
|
|
3703
3703
|
}
|
|
3704
3704
|
},
|
|
3705
|
+
// window-point counterpart to element(...).longPress, for a target detox can
|
|
3706
|
+
// only address by coordinate (a native tab cell, a shell chrome control).
|
|
3707
|
+
async longPress(point, durationMs = 1e3) {
|
|
3708
|
+
const page = getPage();
|
|
3709
|
+
const { x, y } = point;
|
|
3710
|
+
await page.evaluate(
|
|
3711
|
+
async ({ x: px, y: py, ms }) => {
|
|
3712
|
+
const longPress = window.SootSim?.bridges?.interact?.longPress;
|
|
3713
|
+
if (typeof longPress !== "function") {
|
|
3714
|
+
throw new Error("sootsim longPress bridge is not installed");
|
|
3715
|
+
}
|
|
3716
|
+
const hit = await longPress(px, py, ms);
|
|
3717
|
+
if (!hit) {
|
|
3718
|
+
throw new Error(`sootsim longPress missed at ${px},${py}`);
|
|
3719
|
+
}
|
|
3720
|
+
},
|
|
3721
|
+
{ x, y, ms: durationMs }
|
|
3722
|
+
);
|
|
3723
|
+
await page.waitForTimeout(50);
|
|
3724
|
+
if (_synchronizationEnabled) {
|
|
3725
|
+
await waitForSootsimIdle(page);
|
|
3726
|
+
}
|
|
3727
|
+
},
|
|
3705
3728
|
async sendToHome() {
|
|
3706
3729
|
const page = getPage();
|
|
3707
3730
|
_suspendedAppId = await page.evaluate(async () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/host/fetch-proxy-overrides.ts
|
|
4
4
|
var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1092,19 +1092,21 @@ function createBridge(wsPort, opts = {}) {
|
|
|
1092
1092
|
});
|
|
1093
1093
|
let warnedAboutContention = false;
|
|
1094
1094
|
let noticedTarget = false;
|
|
1095
|
-
const
|
|
1095
|
+
const lineageBySimId = /* @__PURE__ */ new Map();
|
|
1096
1096
|
const lineageLookupBySimId = /* @__PURE__ */ new Map();
|
|
1097
1097
|
function pickReloadedTarget(sims, retiredSimId) {
|
|
1098
|
-
const
|
|
1099
|
-
if (
|
|
1098
|
+
const lineage = lineageBySimId.get(retiredSimId);
|
|
1099
|
+
if (!lineage) return null;
|
|
1100
1100
|
const matches = (Array.isArray(sims) ? sims : []).filter(
|
|
1101
|
-
(sim) => sim.readyState === "open" && sim.meta?.sootsimHostPid ===
|
|
1101
|
+
(sim) => sim.readyState === "open" && sim.meta?.sootsimHostPid === lineage.hostPid && sim.connectedAt > lineage.connectedAt
|
|
1102
1102
|
);
|
|
1103
|
-
const
|
|
1104
|
-
if (
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1103
|
+
const successor = matches.find((sim) => sim.id === retiredSimId) ?? (matches.length === 1 ? matches[0] : null);
|
|
1104
|
+
if (!successor) return null;
|
|
1105
|
+
lineageBySimId.set(successor.id, {
|
|
1106
|
+
hostPid: lineage.hostPid,
|
|
1107
|
+
connectedAt: successor.connectedAt
|
|
1108
|
+
});
|
|
1109
|
+
return successor.id;
|
|
1108
1110
|
}
|
|
1109
1111
|
function maybeNoticeTarget(cmdType, simId) {
|
|
1110
1112
|
if (noticedTarget) return;
|
|
@@ -1194,7 +1196,7 @@ function createBridge(wsPort, opts = {}) {
|
|
|
1194
1196
|
const sentSimId = opts.simIdSource === "flag" ? opts.simId : readCurrentSimId() ?? opts.simId;
|
|
1195
1197
|
const targetedSimId = typeof cmd.simId === "string" && cmd.simId ? cmd.simId : sentSimId;
|
|
1196
1198
|
try {
|
|
1197
|
-
if (targetedSimId && cmd.type !== "bridge:list-sims" && !
|
|
1199
|
+
if (targetedSimId && cmd.type !== "bridge:list-sims" && !lineageBySimId.has(targetedSimId)) {
|
|
1198
1200
|
let lookup = lineageLookupBySimId.get(targetedSimId);
|
|
1199
1201
|
if (!lookup) {
|
|
1200
1202
|
lookup = (async () => {
|
|
@@ -1205,8 +1207,11 @@ function createBridge(wsPort, opts = {}) {
|
|
|
1205
1207
|
(sim) => sim.id === targetedSimId
|
|
1206
1208
|
);
|
|
1207
1209
|
const hostPid = targeted?.meta?.sootsimHostPid;
|
|
1208
|
-
if (typeof hostPid === "number") {
|
|
1209
|
-
|
|
1210
|
+
if (targeted && typeof hostPid === "number") {
|
|
1211
|
+
lineageBySimId.set(targetedSimId, {
|
|
1212
|
+
hostPid,
|
|
1213
|
+
connectedAt: targeted.connectedAt
|
|
1214
|
+
});
|
|
1210
1215
|
}
|
|
1211
1216
|
} catch {
|
|
1212
1217
|
} finally {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/menu.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/menu.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/profiles.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/render-mode.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/sdk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -5889,12 +5889,12 @@ var init_registry = __esm({
|
|
|
5889
5889
|
usage: 1,
|
|
5890
5890
|
importance: 1,
|
|
5891
5891
|
estimate: 1,
|
|
5892
|
-
rationale: "Tabs.Host and Tabs.Screen, FullWindowOverlay, transition progress, and opt-in React freeze behavior remain available. The inspected tab, overlay, and freeze path has no app-facing behavior gap."
|
|
5892
|
+
rationale: "Tabs.Host and Tabs.Screen support system Search, bottom accessories, measured scroll minimization, active-tab restoration, compact main-tab persistence while Search is selected, and tab selection. FullWindowOverlay, transition progress, and opt-in React freeze behavior remain available. The inspected tab, overlay, and freeze path has no app-facing behavior gap."
|
|
5893
5893
|
}
|
|
5894
5894
|
],
|
|
5895
5895
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-screens"],
|
|
5896
|
-
note: "screen container, stack, header
|
|
5897
|
-
working: "Screen, ScreenContainer, ScreenStack, enableFreeze/freezeEnabled with delayed React freeze, Android modal/pageSheet push fallback, Android statusBarHidden/statusBarStyle/navigationBarHidden traits, push/pop slide, replaceAnimation push/pop direction, zoom/fade/fade_from_bottom transitions, edge swipe-back, parallax behind-screen, large title collapse, header (back button, inline/large title, custom left/center/right/search bar subviews, native header bar buttons/menus/badges, crossfade), formSheet custom initial detents/corner radius/grabber/undimmed range, numeric-detent dragging and settling, eligible content scrolling, detent callbacks, guarded dismissal and stacked sheets, useHeaderHeight, useTransitionProgress, FullWindowOverlay, SearchBar with stacked and iOS 26 automatic/inline/integrated/integratedCentered/integratedButton toolbar placement, Tabs.Host/Screen, lifecycle callbacks (onAppear/onDisappear/onWillAppear/onWillDisappear), onDismissed",
|
|
5896
|
+
note: "screen container, stack, header and search chrome, native tabs, navigation props",
|
|
5897
|
+
working: "Screen, ScreenContainer, ScreenStack, enableFreeze/freezeEnabled with delayed React freeze, Android modal/pageSheet push fallback, Android statusBarHidden/statusBarStyle/navigationBarHidden traits, push/pop slide, replaceAnimation push/pop direction, zoom/fade/fade_from_bottom transitions, edge swipe-back, parallax behind-screen, large title collapse, header (back button, inline/large title, custom left/center/right/search bar subviews, native header bar buttons/menus/badges, crossfade), formSheet custom initial detents/corner radius/grabber/undimmed range, numeric-detent dragging and settling, eligible content scrolling, detent callbacks, guarded dismissal and stacked sheets, useHeaderHeight, useTransitionProgress, FullWindowOverlay, SearchBar with stacked and iOS 26 automatic/inline/integrated/integratedCentered/integratedButton toolbar placement, Tabs.Host/Screen with detached system Search, regular/inline bottomAccessory, tabBarMinimizeBehavior none/automatic/onScrollDown/onScrollUp, active-tab restoration and prior-main-tab persistence while Search is compact, lifecycle callbacks (onAppear/onDisappear/onWillAppear/onWillDisappear), onDismissed",
|
|
5898
5898
|
missing: "native velocity and spring fidelity, pointer cancellation, fit-to-content and non-numeric detents, numeric 1.0 native geometry, and expandsWhenScrolledToEdge remain incomplete or unverified"
|
|
5899
5899
|
}
|
|
5900
5900
|
]
|
|
@@ -9439,9 +9439,9 @@ var init_registry = __esm({
|
|
|
9439
9439
|
{
|
|
9440
9440
|
range: ">=1.21.0",
|
|
9441
9441
|
coverage: 0.72,
|
|
9442
|
-
note: "native-seam
|
|
9443
|
-
working: "ToolbarHost, ToolbarItem with SF Symbols/image sources, badges, fixed/fluid spacers, view children, nested MenuAction trees, disabled/selected/destructive actions,
|
|
9444
|
-
missing: "Color
|
|
9442
|
+
note: "native-seam for toolbar/menu and zoom-transition host views. The real @vxrn/native React code runs from the bundle and converts its public props into native host props.",
|
|
9443
|
+
working: "ToolbarHost, ToolbarItem with SF Symbols/image sources, badges, fixed/fluid spacers, view children, nested MenuAction trees, disabled/selected/destructive actions, visible action callbacks, ZoomTransitionSource source-window registration, and ZoomTransitionEnabler destination alignment",
|
|
9444
|
+
missing: "Color native host, SplitView gamma host, bottom SearchBarSlot integration with a configured native search controller, exact UIKit shared-background grouping"
|
|
9445
9445
|
}
|
|
9446
9446
|
]
|
|
9447
9447
|
},
|
|
@@ -31238,19 +31238,21 @@ function createBridge(wsPort, opts = {}) {
|
|
|
31238
31238
|
});
|
|
31239
31239
|
let warnedAboutContention = false;
|
|
31240
31240
|
let noticedTarget = false;
|
|
31241
|
-
const
|
|
31241
|
+
const lineageBySimId = /* @__PURE__ */ new Map();
|
|
31242
31242
|
const lineageLookupBySimId = /* @__PURE__ */ new Map();
|
|
31243
31243
|
function pickReloadedTarget(sims, retiredSimId) {
|
|
31244
|
-
const
|
|
31245
|
-
if (
|
|
31244
|
+
const lineage = lineageBySimId.get(retiredSimId);
|
|
31245
|
+
if (!lineage) return null;
|
|
31246
31246
|
const matches = (Array.isArray(sims) ? sims : []).filter(
|
|
31247
|
-
(sim) => sim.readyState === "open" && sim.meta?.sootsimHostPid ===
|
|
31247
|
+
(sim) => sim.readyState === "open" && sim.meta?.sootsimHostPid === lineage.hostPid && sim.connectedAt > lineage.connectedAt
|
|
31248
31248
|
);
|
|
31249
|
-
const
|
|
31250
|
-
if (
|
|
31251
|
-
|
|
31252
|
-
|
|
31253
|
-
|
|
31249
|
+
const successor = matches.find((sim) => sim.id === retiredSimId) ?? (matches.length === 1 ? matches[0] : null);
|
|
31250
|
+
if (!successor) return null;
|
|
31251
|
+
lineageBySimId.set(successor.id, {
|
|
31252
|
+
hostPid: lineage.hostPid,
|
|
31253
|
+
connectedAt: successor.connectedAt
|
|
31254
|
+
});
|
|
31255
|
+
return successor.id;
|
|
31254
31256
|
}
|
|
31255
31257
|
function maybeNoticeTarget(cmdType, simId) {
|
|
31256
31258
|
if (noticedTarget) return;
|
|
@@ -31340,7 +31342,7 @@ function createBridge(wsPort, opts = {}) {
|
|
|
31340
31342
|
const sentSimId = opts.simIdSource === "flag" ? opts.simId : readCurrentSimId() ?? opts.simId;
|
|
31341
31343
|
const targetedSimId = typeof cmd.simId === "string" && cmd.simId ? cmd.simId : sentSimId;
|
|
31342
31344
|
try {
|
|
31343
|
-
if (targetedSimId && cmd.type !== "bridge:list-sims" && !
|
|
31345
|
+
if (targetedSimId && cmd.type !== "bridge:list-sims" && !lineageBySimId.has(targetedSimId)) {
|
|
31344
31346
|
let lookup = lineageLookupBySimId.get(targetedSimId);
|
|
31345
31347
|
if (!lookup) {
|
|
31346
31348
|
lookup = (async () => {
|
|
@@ -31351,8 +31353,11 @@ function createBridge(wsPort, opts = {}) {
|
|
|
31351
31353
|
(sim) => sim.id === targetedSimId
|
|
31352
31354
|
);
|
|
31353
31355
|
const hostPid = targeted?.meta?.sootsimHostPid;
|
|
31354
|
-
if (typeof hostPid === "number") {
|
|
31355
|
-
|
|
31356
|
+
if (targeted && typeof hostPid === "number") {
|
|
31357
|
+
lineageBySimId.set(targetedSimId, {
|
|
31358
|
+
hostPid,
|
|
31359
|
+
connectedAt: targeted.connectedAt
|
|
31360
|
+
});
|
|
31356
31361
|
}
|
|
31357
31362
|
} catch {
|
|
31358
31363
|
} finally {
|
|
@@ -35142,7 +35147,7 @@ async function runOpenCommand(args, opts = {}) {
|
|
|
35142
35147
|
quiet
|
|
35143
35148
|
);
|
|
35144
35149
|
await maybeDescribeAfterOpen(parsed.wsPort, targetSim.id, args);
|
|
35145
|
-
return
|
|
35150
|
+
return { simId: targetSim.id, launched: false };
|
|
35146
35151
|
}
|
|
35147
35152
|
} finally {
|
|
35148
35153
|
bridge.close();
|
|
@@ -35216,7 +35221,7 @@ async function runOpenCommand(args, opts = {}) {
|
|
|
35216
35221
|
signalDriverLaunchConnected(result);
|
|
35217
35222
|
printOpenedSim(openUrl2, match, `${driver.name} driver`, quiet);
|
|
35218
35223
|
await maybeDescribeAfterOpen(parsed.wsPort, match.id, args);
|
|
35219
|
-
return
|
|
35224
|
+
return { simId: match.id, launched: true };
|
|
35220
35225
|
}
|
|
35221
35226
|
async function runUseLikeCommand(args, opts = {}) {
|
|
35222
35227
|
const parsed = parseBridgeCliArgs(args, {
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.507 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|