peachsim 0.1.649 → 0.1.651
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/README.md +10 -9
- package/cli/command-registry.ts +2 -1
- package/cli/commands/guest-host.ts +67 -0
- package/cli/commands/kotlin.ts +231 -0
- package/cli/commands/project-report.ts +1 -1
- package/cli/commands/report-issue.ts +55 -32
- package/cli/commands/setup.ts +10 -14
- package/cli/commands/support.ts +399 -0
- package/cli/commands/swift.ts +6 -52
- package/cli/commands/telemetry.ts +10 -13
- package/cli/main.ts +22 -10
- package/cli/outbound-endpoints.ts +35 -2
- package/cli/privacy.ts +23 -25
- package/cli/runtime-notes.ts +3 -2
- package/cli/telemetry.ts +111 -14
- 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-test-args.cjs +1 -1
- package/dist-lib/cloud-test-args.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 +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +3 -3
- 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 +1 -1
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +93 -28
- 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/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +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 +16 -26
- package/dist-lib/swift-compile.cjs +6 -3
- package/dist-lib/swift-compile.mjs +6 -3
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +6 -3
- package/dist-lib/vite.cjs +1 -1
- package/kotlin/AppSources/android/app/Activity.kt +85 -0
- package/kotlin/AppSources/android/app/Application.kt +7 -0
- package/kotlin/AppSources/android/content/Context.kt +5 -0
- package/kotlin/AppSources/android/content/Intent.kt +16 -0
- package/kotlin/AppSources/android/os/Bundle.kt +5 -0
- package/kotlin/AppSources/android/util/SuperNotCalledException.kt +3 -0
- package/kotlin/AppSources/android/view/View.kt +72 -0
- package/kotlin/AppSources/android/view/Window.kt +44 -0
- package/kotlin/AppSources/android/widget/FrameLayout.kt +6 -0
- package/kotlin/AppSources/androidx/activity/ComponentActivity.kt +57 -0
- package/kotlin/AppSources/androidx/activity/compose/ComponentActivity.kt +29 -0
- package/kotlin/AppSources/androidx/compose/ui/platform/ComposeView.kt +67 -0
- package/kotlin/AppSources/dev/peach/app/PeachApp.kt +136 -0
- package/kotlin/AppSources/dev/peach/app/PeachWindowHost.kt +13 -0
- package/kotlin/ComposeSources/PeachComposeHost.kt +58 -37
- package/package.json +1 -1
- package/skills/contrast/SKILL.md +2 -1
- package/skills/peach-setup/SKILL.md +2 -2
- package/src/{swift-guest.ts → guest-bundle.ts} +22 -7
- package/src/home-paths.ts +5 -3
- package/src/kotlin-app.ts +411 -0
- package/src/kotlin-host.ts +139 -32
- package/src/swift-compile.ts +7 -2
package/cli/privacy.ts
CHANGED
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
type PrivacyPreferences,
|
|
5
5
|
} from '../src/home-paths'
|
|
6
6
|
import { isAgentEnv } from './commands/inspect/env'
|
|
7
|
-
import { confirm } from './prompt'
|
|
8
7
|
|
|
9
8
|
function isCi(): boolean {
|
|
10
9
|
return (
|
|
@@ -18,35 +17,34 @@ export function canPromptForPrivacyChoice(): boolean {
|
|
|
18
17
|
return process.stdin.isTTY === true && !isCi() && !isAgentEnv()
|
|
19
18
|
}
|
|
20
19
|
|
|
20
|
+
function doNotTrack(): boolean {
|
|
21
|
+
const value = process.env.DO_NOT_TRACK
|
|
22
|
+
return value === '1' || value === 'true'
|
|
23
|
+
}
|
|
24
|
+
|
|
21
25
|
export function diagnosticsAllowedForCurrentProcess(
|
|
22
26
|
preferences: PrivacyPreferences = readPrivacyPreferences(),
|
|
23
27
|
): boolean {
|
|
24
|
-
|
|
25
|
-
if (doNotTrack === '1' || doNotTrack === 'true') return false
|
|
26
|
-
return preferences.configured && preferences.productAnalytics
|
|
28
|
+
return !doNotTrack() && preferences.productAnalytics
|
|
27
29
|
}
|
|
28
30
|
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
export function crashReportsAllowedForCurrentProcess(
|
|
32
|
+
preferences: PrivacyPreferences = readPrivacyPreferences(),
|
|
33
|
+
): boolean {
|
|
34
|
+
return !doNotTrack() && preferences.crashReports
|
|
35
|
+
}
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
}
|
|
37
|
+
export const PRIVACY_NOTICE = [
|
|
38
|
+
'Anonymous diagnostics and crash reports are on: CLI/runtime versions, OS/arch, command name and exit code, a random install ID, package incompatibilities, and error class with the first line of the message (300 characters, paths redacted).',
|
|
39
|
+
'They never include arguments, stacks, source, environment, or app data.',
|
|
40
|
+
'Turn them off with `peach config telemetry off`, or DO_NOT_TRACK=1 for one run.',
|
|
41
|
+
]
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
writePrivacyPreferences({ productAnalytics: allowed, crashReports: false })
|
|
51
|
-
return readPrivacyPreferences()
|
|
43
|
+
// the first human run says once what is sent and how to turn it off, then
|
|
44
|
+
// records the defaults so the notice does not repeat. CI, pipes and agent runs
|
|
45
|
+
// print nothing and send under the same defaults.
|
|
46
|
+
export function noticePrivacyDefaults(): void {
|
|
47
|
+
if (readPrivacyPreferences().configured || !canPromptForPrivacyChoice()) return
|
|
48
|
+
process.stderr.write(`\n${PRIVACY_NOTICE.map((line) => ` ${line}`).join('\n')}\n\n`)
|
|
49
|
+
writePrivacyPreferences({ productAnalytics: true, crashReports: true })
|
|
52
50
|
}
|
package/cli/runtime-notes.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RNX_CHANGELOG_API_URL, RNX_CHANGELOG_URL } from '../src/runtime-delivery'
|
|
2
|
-
import type { ChangelogEntry } from '../../../
|
|
2
|
+
import type { ChangelogEntry } from '../../../src/sootsim/changelogContract'
|
|
3
3
|
|
|
4
4
|
function isChangelogEntry(value: unknown): value is ChangelogEntry {
|
|
5
5
|
if (!value || typeof value !== 'object') return false
|
|
@@ -57,7 +57,8 @@ export function formatRuntimeReleaseNotes(
|
|
|
57
57
|
for (const section of entry.sections) {
|
|
58
58
|
lines.push(` ${section.title}:`)
|
|
59
59
|
for (const item of section.items) {
|
|
60
|
-
|
|
60
|
+
const reports = item.reports?.length ? ` (report ${item.reports.join(', ')})` : ''
|
|
61
|
+
lines.push(` • ${item.summary}${reports}`)
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
}
|
package/cli/telemetry.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto'
|
|
1
2
|
import { homedir } from 'node:os'
|
|
3
|
+
import { crashFingerprint } from 'peach-engine/crash-fingerprint'
|
|
2
4
|
import { getCliVersion } from '../src/cli-version'
|
|
3
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
readActiveRuntime,
|
|
7
|
+
readOrCreateAnonymousId,
|
|
8
|
+
readSharedConfig,
|
|
9
|
+
writeSharedConfig,
|
|
10
|
+
} from '../src/home-paths'
|
|
4
11
|
import { parseArgs } from './parse-args'
|
|
5
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
crashReportsAllowedForCurrentProcess,
|
|
14
|
+
diagnosticsAllowedForCurrentProcess,
|
|
15
|
+
} from './privacy'
|
|
6
16
|
|
|
7
17
|
type PackageIncompatibility = {
|
|
8
18
|
kind: 'package_incompatibility'
|
|
@@ -46,11 +56,13 @@ export function sanitizeDiagnosticMessage(value: string): string {
|
|
|
46
56
|
const firstLine = value.slice(0, 2048).split(/[\r\n\u2028\u2029]/, 1)[0] ?? ''
|
|
47
57
|
// retain package names from dependency paths, never source filenames,
|
|
48
58
|
// URL paths/queries, local paths, stack frames, or serialized app objects.
|
|
59
|
+
// a path runs on across spaces while a separator follows on the line, so a
|
|
60
|
+
// directory named with spaces never leaks its words.
|
|
49
61
|
return firstLine
|
|
50
62
|
.split(homedir())
|
|
51
63
|
.join('<home>')
|
|
52
64
|
.replace(
|
|
53
|
-
/<package:(?:@[\w.-]+\/)?[\w.-]+>|(?:https?:\/\/|file:\/\/|[A-Za-z]:[\\/]|<home>[\\/]|\/|\.{1,2}[\\/]|\b[\w.-]+[\\/])[^\s"'<>]+/g,
|
|
65
|
+
/<package:(?:@[\w.-]+\/)?[\w.-]+>|(?:https?:\/\/|file:\/\/|[A-Za-z]:[\\/]|<home>[\\/]|\/|\.{1,2}[\\/]|\b[\w.-]+[\\/])(?:[^\s"'<>]|\s(?=[^"'<>]*[\\/]))+/g,
|
|
54
66
|
(location) => {
|
|
55
67
|
if (location.startsWith('<package:')) return location
|
|
56
68
|
const dependency = /(?:^|[\\/])node_modules[\\/]((?:@[^\\/]+[\\/])?[^\\/]+)/.exec(
|
|
@@ -102,14 +114,18 @@ export function buildCliDiagnosticEvent(diagnostic: CliDiagnostic) {
|
|
|
102
114
|
return {
|
|
103
115
|
event: diagnostic.kind,
|
|
104
116
|
distinct_id: readOrCreateAnonymousId(),
|
|
105
|
-
properties: {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
properties: { ...environmentProperties(), ...properties },
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// the fields every event carries
|
|
122
|
+
function environmentProperties() {
|
|
123
|
+
return {
|
|
124
|
+
cli_version: diagnosticVersion(getCliVersion()),
|
|
125
|
+
runtime_version: observedRuntimeVersion ?? diagnosticVersion(readActiveRuntime()),
|
|
126
|
+
os: process.platform,
|
|
127
|
+
arch: process.arch,
|
|
128
|
+
command: parseArgs(process.argv).command ?? 'open',
|
|
113
129
|
}
|
|
114
130
|
}
|
|
115
131
|
|
|
@@ -133,8 +149,22 @@ export function trackCliError(error: unknown): void {
|
|
|
133
149
|
trackCliDiagnostic({ kind: 'error_shape', errorClass, message })
|
|
134
150
|
}
|
|
135
151
|
|
|
136
|
-
|
|
137
|
-
|
|
152
|
+
// the one usage event: which command ran, how it ended, and roughly how long
|
|
153
|
+
// it took, in a power-of-two bucket
|
|
154
|
+
function commandRunEvent(exitCode: number) {
|
|
155
|
+
const ms = Math.max(1, Math.round(process.uptime() * 1000))
|
|
156
|
+
return {
|
|
157
|
+
event: 'command_run',
|
|
158
|
+
distinct_id: readOrCreateAnonymousId(),
|
|
159
|
+
properties: {
|
|
160
|
+
...environmentProperties(),
|
|
161
|
+
exit_code: exitCode,
|
|
162
|
+
duration_ms_bucket: 2 ** Math.ceil(Math.log2(ms)),
|
|
163
|
+
},
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export async function flushCliTelemetry(exitCode: number): Promise<void> {
|
|
138
168
|
const config = loadConfig()
|
|
139
169
|
if (!config) {
|
|
140
170
|
queue.length = 0
|
|
@@ -142,7 +172,10 @@ export async function flushCliTelemetry(): Promise<void> {
|
|
|
142
172
|
}
|
|
143
173
|
const diagnostics = queue.splice(0, queue.length)
|
|
144
174
|
try {
|
|
145
|
-
const batch =
|
|
175
|
+
const batch = [
|
|
176
|
+
...diagnostics.map((diagnostic) => buildCliDiagnosticEvent(diagnostic)),
|
|
177
|
+
commandRunEvent(exitCode),
|
|
178
|
+
]
|
|
146
179
|
await fetch(`${config.host}/batch/`, {
|
|
147
180
|
method: 'POST',
|
|
148
181
|
headers: { 'content-type': 'application/json' },
|
|
@@ -153,3 +186,67 @@ export async function flushCliTelemetry(): Promise<void> {
|
|
|
153
186
|
// diagnostics never change a command's result.
|
|
154
187
|
}
|
|
155
188
|
}
|
|
189
|
+
|
|
190
|
+
const CRASH_REPORT_EVERY_MS = 24 * 60 * 60_000
|
|
191
|
+
const CRASH_SENT_KEY = 'crashReportsSent'
|
|
192
|
+
|
|
193
|
+
// an unexpected CLI crash files itself in the issue queue: error class, the
|
|
194
|
+
// sanitized first line of its message, the command name and versions. never
|
|
195
|
+
// arguments, stacks, paths, or app data. one report per crash signature per
|
|
196
|
+
// day from this install. the signature is fuzzy (peach-engine crash-fingerprint),
|
|
197
|
+
// so the server counts every repeat of one crash on its first row.
|
|
198
|
+
export async function reportCliCrash(error: unknown): Promise<void> {
|
|
199
|
+
if (!crashReportsAllowedForCurrentProcess()) return
|
|
200
|
+
const errorClass = bounded(
|
|
201
|
+
error instanceof Error ? error.constructor.name : typeof error,
|
|
202
|
+
160,
|
|
203
|
+
)
|
|
204
|
+
const message = sanitizeDiagnosticMessage(
|
|
205
|
+
error instanceof Error ? error.message : typeof error === 'string' ? error : '',
|
|
206
|
+
)
|
|
207
|
+
const {
|
|
208
|
+
command,
|
|
209
|
+
cli_version: cliVersion,
|
|
210
|
+
runtime_version: runtimeVersion,
|
|
211
|
+
} = environmentProperties()
|
|
212
|
+
const signature = createHash('sha256')
|
|
213
|
+
.update(crashFingerprint('cli', errorClass, message))
|
|
214
|
+
.digest('hex')
|
|
215
|
+
const now = Date.now()
|
|
216
|
+
const stored = readSharedConfig()[CRASH_SENT_KEY]
|
|
217
|
+
const sent: Record<string, number> = {}
|
|
218
|
+
if (stored && typeof stored === 'object') {
|
|
219
|
+
for (const [key, at] of Object.entries(stored)) {
|
|
220
|
+
if (typeof at === 'number' && at > now - CRASH_REPORT_EVERY_MS) sent[key] = at
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
if (sent[signature]) return
|
|
224
|
+
writeSharedConfig({ [CRASH_SENT_KEY]: { ...sent, [signature]: now } })
|
|
225
|
+
try {
|
|
226
|
+
const { supportEndpoint } = await import('./commands/report-issue')
|
|
227
|
+
const endpoint = supportEndpoint()
|
|
228
|
+
await fetch(`${endpoint.origin}/api/sootsim/report-issue`, {
|
|
229
|
+
method: 'POST',
|
|
230
|
+
headers: { ...endpoint.headers, 'content-type': 'application/json' },
|
|
231
|
+
body: JSON.stringify({
|
|
232
|
+
kind: 'report',
|
|
233
|
+
note: `automatic crash report: \`peach ${command}\` threw ${errorClass}: ${message}`,
|
|
234
|
+
timestamp: new Date(now).toISOString(),
|
|
235
|
+
sootsim_version: runtimeVersion,
|
|
236
|
+
cli_version: cliVersion,
|
|
237
|
+
signature,
|
|
238
|
+
bundle: {
|
|
239
|
+
reportSource: 'auto',
|
|
240
|
+
cliVersion,
|
|
241
|
+
runtimeVersion,
|
|
242
|
+
platform: process.platform,
|
|
243
|
+
arch: process.arch,
|
|
244
|
+
crash: { errorClass, message, command },
|
|
245
|
+
},
|
|
246
|
+
}),
|
|
247
|
+
signal: AbortSignal.timeout(3_000),
|
|
248
|
+
})
|
|
249
|
+
} catch {
|
|
250
|
+
// a crash report never changes how the crash itself ends.
|
|
251
|
+
}
|
|
252
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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;
|
|
@@ -228,8 +228,8 @@ function readPrivacyPreferences() {
|
|
|
228
228
|
const productAnalytics = settings?.productAnalytics;
|
|
229
229
|
const crashReports = settings?.crashReports;
|
|
230
230
|
return {
|
|
231
|
-
productAnalytics: typeof productAnalytics === "boolean" ? productAnalytics :
|
|
232
|
-
crashReports: typeof crashReports === "boolean" ? crashReports :
|
|
231
|
+
productAnalytics: typeof productAnalytics === "boolean" ? productAnalytics : true,
|
|
232
|
+
crashReports: typeof crashReports === "boolean" ? crashReports : true,
|
|
233
233
|
configured: typeof productAnalytics === "boolean"
|
|
234
234
|
};
|
|
235
235
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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.651 | (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;
|