@livx.cc/appwrap 0.39.0 → 0.39.2
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/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -1761,10 +1761,14 @@ async function deploy(cwd: string, flags: Record<string, string>, positionals: s
|
|
|
1761
1761
|
|
|
1762
1762
|
// devicectl process-launch is also stuck when we fell back to usbmux — skip it; the user taps the icon.
|
|
1763
1763
|
if (!('no-launch' in flags) && !installedViaUsbmux) {
|
|
1764
|
-
console.log(`▶ launching ${cfg.id}`);
|
|
1764
|
+
console.log(`▶ launching ${cfg.id} (terminating any running instance first)`);
|
|
1765
1765
|
try {
|
|
1766
|
+
// --terminate-existing: kill a suspended/running copy before launching, so the FRESHLY installed
|
|
1767
|
+
// binary actually runs. Without it, iOS resumes the old process and you see stale config (e.g. an
|
|
1768
|
+
// old serverUrl) despite a correct new build — masquerading as a build/cache bug. (A reinstall
|
|
1769
|
+
// over the top does NOT replace a running process; this avoids the manual uninstall dance.)
|
|
1766
1770
|
withUnlockRetry('Launch', () =>
|
|
1767
|
-
execFileSync('xcrun', ['devicectl', 'device', 'process', 'launch', '--timeout', '25', '--device', device.id, cfg.id], { encoding: 'utf8', stdio: ['inherit', 'pipe', 'pipe'] })
|
|
1771
|
+
execFileSync('xcrun', ['devicectl', 'device', 'process', 'launch', '--terminate-existing', '--timeout', '25', '--device', device.id, cfg.id], { encoding: 'utf8', stdio: ['inherit', 'pipe', 'pipe'] })
|
|
1768
1772
|
);
|
|
1769
1773
|
} catch {
|
|
1770
1774
|
console.error('⚠ Launch failed (still locked after waiting). The app is installed — unlock and tap it, or re-run.');
|
|
@@ -13,16 +13,18 @@ on:
|
|
|
13
13
|
push:
|
|
14
14
|
tags: ['v*']
|
|
15
15
|
|
|
16
|
-
# Monotonic store build number (Android versionCode)
|
|
17
|
-
#
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
# Monotonic store build number (Android versionCode): computed in the shell below — GitHub Actions
|
|
17
|
+
# expressions have NO arithmetic operators, so `${{ github.run_number + 100 }}` is an INVALID workflow
|
|
18
|
+
# expression → startup_failure on EVERY push (not just tags). appwrap CLI reads APPWRAP_BUILD_NUMBER
|
|
19
|
+
# over the constant derived default — Play rejects a versionCode it has already seen. run_number is increasing.
|
|
20
20
|
|
|
21
21
|
jobs:
|
|
22
22
|
play:
|
|
23
23
|
runs-on: ubuntu-latest
|
|
24
24
|
steps:
|
|
25
25
|
- uses: actions/checkout@v5
|
|
26
|
+
- name: Build number (run_number + 100 — arithmetic must be done in the shell, not an expression)
|
|
27
|
+
run: echo "APPWRAP_BUILD_NUMBER=$(( ${{ github.run_number }} + 100 ))" >> "$GITHUB_ENV"
|
|
26
28
|
- uses: oven-sh/setup-bun@v2
|
|
27
29
|
- uses: actions/setup-node@v5
|
|
28
30
|
with: { node-version: 22 }
|
|
@@ -14,17 +14,19 @@ on:
|
|
|
14
14
|
push:
|
|
15
15
|
tags: ['v*']
|
|
16
16
|
|
|
17
|
-
# Monotonic store build number (CFBundleVersion)
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
# Monotonic store build number (CFBundleVersion): computed in the shell below — GitHub Actions
|
|
18
|
+
# expressions have NO arithmetic operators, so `${{ github.run_number + 100 }}` is an INVALID workflow
|
|
19
|
+
# expression → startup_failure on EVERY push (not just tags). run_number is strictly increasing; +100
|
|
20
|
+
# clears low derived values. The appwrap CLI reads APPWRAP_BUILD_NUMBER and it wins over the derived
|
|
21
|
+
# default — without it, repeat uploads of the same marketing version 409 ("build already exists").
|
|
22
22
|
|
|
23
23
|
jobs:
|
|
24
24
|
testflight:
|
|
25
25
|
runs-on: macos-15
|
|
26
26
|
steps:
|
|
27
27
|
- uses: actions/checkout@v5
|
|
28
|
+
- name: Build number (run_number + 100 — arithmetic must be done in the shell, not an expression)
|
|
29
|
+
run: echo "APPWRAP_BUILD_NUMBER=$(( ${{ github.run_number }} + 100 ))" >> "$GITHUB_ENV"
|
|
28
30
|
# Apple requires the iOS 26 SDK (Xcode 26+) for uploads — runners may default to older Xcode.
|
|
29
31
|
- uses: maxim-lobanov/setup-xcode@v1
|
|
30
32
|
with: { xcode-version: latest-stable }
|