@upfluxhq/capacitor 0.1.0-beta.3 → 0.1.0-beta.4
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/dist/startup/embeddedVersion.d.ts +46 -0
- package/dist/startup/embeddedVersion.d.ts.map +1 -0
- package/dist/startup/embeddedVersion.js +105 -0
- package/dist/startup/embeddedVersion.js.map +1 -0
- package/dist/startup/resolveInitialBundle.d.ts +8 -1
- package/dist/startup/resolveInitialBundle.d.ts.map +1 -1
- package/dist/startup/resolveInitialBundle.js +17 -1
- package/dist/startup/resolveInitialBundle.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/updates/applyUpdate.d.ts.map +1 -1
- package/dist/updates/applyUpdate.js +21 -0
- package/dist/updates/applyUpdate.js.map +1 -1
- package/dist/updates/checkForUpdates.d.ts.map +1 -1
- package/dist/updates/checkForUpdates.js +14 -1
- package/dist/updates/checkForUpdates.js.map +1 -1
- package/dist/updates/downloadUpdate.d.ts.map +1 -1
- package/dist/updates/downloadUpdate.js +22 -0
- package/dist/updates/downloadUpdate.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedded Version Reader - Capacitor SDK
|
|
3
|
+
*
|
|
4
|
+
* Reads the OTA version embedded in the app binary at build time.
|
|
5
|
+
* This is the version that was bundled when the app was built and published.
|
|
6
|
+
*
|
|
7
|
+
* For Capacitor, the embedded version comes from `upflux.json` in the web assets:
|
|
8
|
+
* - Location: www/upflux.json or dist/upflux.json (depends on build output)
|
|
9
|
+
* - Capacitor copies web build to native app assets
|
|
10
|
+
*
|
|
11
|
+
* This file is created by the Upflux CLI during the release process.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Embedded Upflux configuration from upflux.json
|
|
15
|
+
*/
|
|
16
|
+
export interface EmbeddedConfig {
|
|
17
|
+
/** The OTA release label embedded at build time */
|
|
18
|
+
releaseLabel: string;
|
|
19
|
+
/** The app ID this bundle was built for */
|
|
20
|
+
appId?: string;
|
|
21
|
+
/** Timestamp when the bundle was created */
|
|
22
|
+
createdAt?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Read the embedded OTA version from the app bundle.
|
|
26
|
+
*
|
|
27
|
+
* This fetches the `upflux.json` file that was bundled with the app at build time.
|
|
28
|
+
* Capacitor apps serve from file:// protocol, so fetch works for local assets.
|
|
29
|
+
*
|
|
30
|
+
* On fresh install, this tells the SDK which OTA version the app ships with,
|
|
31
|
+
* preventing unnecessary downloads when the embedded bundle is already the latest.
|
|
32
|
+
*
|
|
33
|
+
* @returns The embedded release label, or null if not found (legacy builds)
|
|
34
|
+
*/
|
|
35
|
+
export declare function getEmbeddedOtaVersion(): Promise<string | null>;
|
|
36
|
+
/**
|
|
37
|
+
* Read the full embedded configuration from upflux.json
|
|
38
|
+
*
|
|
39
|
+
* @returns The embedded config, or null if not found
|
|
40
|
+
*/
|
|
41
|
+
export declare function getEmbeddedConfig(): Promise<EmbeddedConfig | null>;
|
|
42
|
+
/**
|
|
43
|
+
* Clear the cached embedded version (for testing purposes)
|
|
44
|
+
*/
|
|
45
|
+
export declare function clearEmbeddedVersionCache(): void;
|
|
46
|
+
//# sourceMappingURL=embeddedVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddedVersion.d.ts","sourceRoot":"","sources":["../../src/startup/embeddedVersion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBpE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA8CxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedded Version Reader - Capacitor SDK
|
|
3
|
+
*
|
|
4
|
+
* Reads the OTA version embedded in the app binary at build time.
|
|
5
|
+
* This is the version that was bundled when the app was built and published.
|
|
6
|
+
*
|
|
7
|
+
* For Capacitor, the embedded version comes from `upflux.json` in the web assets:
|
|
8
|
+
* - Location: www/upflux.json or dist/upflux.json (depends on build output)
|
|
9
|
+
* - Capacitor copies web build to native app assets
|
|
10
|
+
*
|
|
11
|
+
* This file is created by the Upflux CLI during the release process.
|
|
12
|
+
*/
|
|
13
|
+
// Cache for embedded version (read once, never changes during app lifecycle)
|
|
14
|
+
let _cachedEmbeddedVersion = undefined;
|
|
15
|
+
let _cachedEmbeddedConfig = undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Read the embedded OTA version from the app bundle.
|
|
18
|
+
*
|
|
19
|
+
* This fetches the `upflux.json` file that was bundled with the app at build time.
|
|
20
|
+
* Capacitor apps serve from file:// protocol, so fetch works for local assets.
|
|
21
|
+
*
|
|
22
|
+
* On fresh install, this tells the SDK which OTA version the app ships with,
|
|
23
|
+
* preventing unnecessary downloads when the embedded bundle is already the latest.
|
|
24
|
+
*
|
|
25
|
+
* @returns The embedded release label, or null if not found (legacy builds)
|
|
26
|
+
*/
|
|
27
|
+
export async function getEmbeddedOtaVersion() {
|
|
28
|
+
// Return cached value if already read
|
|
29
|
+
if (_cachedEmbeddedVersion !== undefined) {
|
|
30
|
+
return _cachedEmbeddedVersion;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const config = await getEmbeddedConfig();
|
|
34
|
+
_cachedEmbeddedVersion = config?.releaseLabel ?? null;
|
|
35
|
+
if (_cachedEmbeddedVersion) {
|
|
36
|
+
console.log(`[Upflux] Embedded OTA version: ${_cachedEmbeddedVersion}`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.log('[Upflux] No embedded OTA version found (legacy build)');
|
|
40
|
+
}
|
|
41
|
+
return _cachedEmbeddedVersion;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.warn('[Upflux] Error reading embedded OTA version:', error);
|
|
45
|
+
_cachedEmbeddedVersion = null;
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Read the full embedded configuration from upflux.json
|
|
51
|
+
*
|
|
52
|
+
* @returns The embedded config, or null if not found
|
|
53
|
+
*/
|
|
54
|
+
export async function getEmbeddedConfig() {
|
|
55
|
+
// Return cached value if already read
|
|
56
|
+
if (_cachedEmbeddedConfig !== undefined) {
|
|
57
|
+
return _cachedEmbeddedConfig;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
// Try multiple possible paths for upflux.json
|
|
61
|
+
// Capacitor serves from the app's web directory which maps to root
|
|
62
|
+
const paths = [
|
|
63
|
+
'./upflux.json', // Relative to index.html
|
|
64
|
+
'/upflux.json', // Absolute root
|
|
65
|
+
'upflux.json', // Plain filename
|
|
66
|
+
];
|
|
67
|
+
for (const path of paths) {
|
|
68
|
+
try {
|
|
69
|
+
const response = await fetch(path, {
|
|
70
|
+
method: 'GET',
|
|
71
|
+
cache: 'no-store', // Always read fresh from bundle
|
|
72
|
+
});
|
|
73
|
+
if (response.ok) {
|
|
74
|
+
const config = await response.json();
|
|
75
|
+
// Validate that it has a releaseLabel
|
|
76
|
+
if (config && typeof config.releaseLabel === 'string') {
|
|
77
|
+
_cachedEmbeddedConfig = config;
|
|
78
|
+
console.log(`[Upflux] Found upflux.json at ${path}`);
|
|
79
|
+
return _cachedEmbeddedConfig;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Try next path
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
console.log('[Upflux] No upflux.json found in web assets');
|
|
89
|
+
_cachedEmbeddedConfig = null;
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.warn('[Upflux] Error reading embedded config:', error);
|
|
94
|
+
_cachedEmbeddedConfig = null;
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Clear the cached embedded version (for testing purposes)
|
|
100
|
+
*/
|
|
101
|
+
export function clearEmbeddedVersionCache() {
|
|
102
|
+
_cachedEmbeddedVersion = undefined;
|
|
103
|
+
_cachedEmbeddedConfig = undefined;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=embeddedVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddedVersion.js","sourceRoot":"","sources":["../../src/startup/embeddedVersion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,6EAA6E;AAC7E,IAAI,sBAAsB,GAA8B,SAAS,CAAC;AAClE,IAAI,qBAAqB,GAAsC,SAAS,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACvC,sCAAsC;IACtC,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACzC,sBAAsB,GAAG,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC;QAEtD,IAAI,sBAAsB,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,kCAAkC,sBAAsB,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;QACpE,sBAAsB,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,sCAAsC;IACtC,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAED,IAAI,CAAC;QACD,8CAA8C;QAC9C,mEAAmE;QACnE,MAAM,KAAK,GAAG;YACV,eAAe,EAAO,yBAAyB;YAC/C,cAAc,EAAQ,gBAAgB;YACtC,aAAa,EAAS,iBAAiB;SAC1C,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;oBAC/B,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,UAAU,EAAE,gCAAgC;iBACtD,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;oBAEvD,sCAAsC;oBACtC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACpD,qBAAqB,GAAG,MAAM,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;wBACrD,OAAO,qBAAqB,CAAC;oBACjC,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,gBAAgB;gBAChB,SAAS;YACb,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,qBAAqB,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAC/D,qBAAqB,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACrC,sBAAsB,GAAG,SAAS,CAAC;IACnC,qBAAqB,GAAG,SAAS,CAAC;AACtC,CAAC"}
|
|
@@ -2,13 +2,20 @@
|
|
|
2
2
|
* Startup Bundle Resolution - Capacitor SDK
|
|
3
3
|
*
|
|
4
4
|
* Determines which bundle to load at app startup.
|
|
5
|
+
* Also tracks the embedded OTA version for comparison during update checks.
|
|
5
6
|
*/
|
|
6
7
|
import { StartupBundle } from '../types';
|
|
7
8
|
/**
|
|
8
9
|
* Resolve the initial bundle to use at startup
|
|
9
10
|
*
|
|
10
11
|
* For Capacitor, the WebView automatically loads from the persisted path.
|
|
11
|
-
* This function is
|
|
12
|
+
* This function tracks which version is running and the embedded version.
|
|
13
|
+
*
|
|
14
|
+
* Also reads the embedded OTA version so the SDK knows which version
|
|
15
|
+
* the app binary ships with. This prevents fresh installs from
|
|
16
|
+
* downloading updates when they already have the latest bundle.
|
|
17
|
+
*
|
|
18
|
+
* @returns Startup bundle information with version info
|
|
12
19
|
*/
|
|
13
20
|
export declare function resolveInitialBundle(): Promise<StartupBundle>;
|
|
14
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveInitialBundle.d.ts","sourceRoot":"","sources":["../../src/startup/resolveInitialBundle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolveInitialBundle.d.ts","sourceRoot":"","sources":["../../src/startup/resolveInitialBundle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CAmDnE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGlE"}
|
|
@@ -2,18 +2,29 @@
|
|
|
2
2
|
* Startup Bundle Resolution - Capacitor SDK
|
|
3
3
|
*
|
|
4
4
|
* Determines which bundle to load at app startup.
|
|
5
|
+
* Also tracks the embedded OTA version for comparison during update checks.
|
|
5
6
|
*/
|
|
6
7
|
import { getActiveBundleMetadata, bundleExists } from '../storage/bundleStorage';
|
|
7
8
|
import { getCustomBundlePath } from '../native/UpfluxModule';
|
|
9
|
+
import { getEmbeddedOtaVersion } from './embeddedVersion';
|
|
8
10
|
/**
|
|
9
11
|
* Resolve the initial bundle to use at startup
|
|
10
12
|
*
|
|
11
13
|
* For Capacitor, the WebView automatically loads from the persisted path.
|
|
12
|
-
* This function is
|
|
14
|
+
* This function tracks which version is running and the embedded version.
|
|
15
|
+
*
|
|
16
|
+
* Also reads the embedded OTA version so the SDK knows which version
|
|
17
|
+
* the app binary ships with. This prevents fresh installs from
|
|
18
|
+
* downloading updates when they already have the latest bundle.
|
|
19
|
+
*
|
|
20
|
+
* @returns Startup bundle information with version info
|
|
13
21
|
*/
|
|
14
22
|
export async function resolveInitialBundle() {
|
|
15
23
|
console.log('[Startup] Resolving initial bundle...');
|
|
16
24
|
try {
|
|
25
|
+
// Read embedded OTA version (from app binary)
|
|
26
|
+
// This is the version that was bundled when the app was built
|
|
27
|
+
const embeddedVersion = await getEmbeddedOtaVersion();
|
|
17
28
|
// Check if we have a custom bundle path set
|
|
18
29
|
const customPath = await getCustomBundlePath();
|
|
19
30
|
if (customPath) {
|
|
@@ -23,10 +34,12 @@ export async function resolveInitialBundle() {
|
|
|
23
34
|
// Get metadata for the release label
|
|
24
35
|
const metadata = await getActiveBundleMetadata();
|
|
25
36
|
console.log(`[Startup] Using OTA bundle: ${customPath}`);
|
|
37
|
+
console.log(`[Startup] Embedded version: ${embeddedVersion ?? 'none'}`);
|
|
26
38
|
return {
|
|
27
39
|
bundlePath: customPath,
|
|
28
40
|
isUpdate: true,
|
|
29
41
|
releaseLabel: metadata?.releaseLabel,
|
|
42
|
+
embeddedVersion: embeddedVersion ?? undefined,
|
|
30
43
|
};
|
|
31
44
|
}
|
|
32
45
|
else {
|
|
@@ -35,9 +48,12 @@ export async function resolveInitialBundle() {
|
|
|
35
48
|
}
|
|
36
49
|
// No custom bundle, using default www
|
|
37
50
|
console.log('[Startup] Using default bundle');
|
|
51
|
+
console.log(`[Startup] Embedded version: ${embeddedVersion ?? 'none'}`);
|
|
38
52
|
return {
|
|
39
53
|
bundlePath: null,
|
|
40
54
|
isUpdate: false,
|
|
55
|
+
releaseLabel: embeddedVersion ?? undefined, // Use embedded version as current
|
|
56
|
+
embeddedVersion: embeddedVersion ?? undefined,
|
|
41
57
|
};
|
|
42
58
|
}
|
|
43
59
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveInitialBundle.js","sourceRoot":"","sources":["../../src/startup/resolveInitialBundle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolveInitialBundle.js","sourceRoot":"","sources":["../../src/startup/resolveInitialBundle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,IAAI,CAAC;QACD,8CAA8C;QAC9C,8DAA8D;QAC9D,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAEtD,4CAA4C;QAC5C,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAE/C,IAAI,UAAU,EAAE,CAAC;YACb,iCAAiC;YACjC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;YAE9C,IAAI,MAAM,EAAE,CAAC;gBACT,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC;gBAEjD,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,+BAA+B,eAAe,IAAI,MAAM,EAAE,CAAC,CAAC;gBAExE,OAAO;oBACH,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,IAAI;oBACd,YAAY,EAAE,QAAQ,EAAE,YAAY;oBACpC,eAAe,EAAE,eAAe,IAAI,SAAS;iBAChD,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,iCAAiC,UAAU,iBAAiB,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,+BAA+B,eAAe,IAAI,MAAM,EAAE,CAAC,CAAC;QAExE,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,eAAe,IAAI,SAAS,EAAE,kCAAkC;YAC9E,eAAe,EAAE,eAAe,IAAI,SAAS;SAChD,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAE1D,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAClB,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,OAAO,MAAM,CAAC,UAAU,CAAC;AAC7B,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -100,6 +100,8 @@ export interface StartupBundle {
|
|
|
100
100
|
bundlePath: string | null;
|
|
101
101
|
isUpdate: boolean;
|
|
102
102
|
releaseLabel?: string;
|
|
103
|
+
/** The OTA version embedded in the app binary at build time */
|
|
104
|
+
embeddedVersion?: string;
|
|
103
105
|
}
|
|
104
106
|
/**
|
|
105
107
|
* Download progress information
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyUpdate.d.ts","sourceRoot":"","sources":["../../src/updates/applyUpdate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAoCvD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"applyUpdate.d.ts","sourceRoot":"","sources":["../../src/updates/applyUpdate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAoCvD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAuEtF"}
|
|
@@ -90,6 +90,8 @@ export async function applyUpdate(downloadResult) {
|
|
|
90
90
|
catch (error) {
|
|
91
91
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
92
92
|
console.error('[ApplyUpdate] Failed to apply update:', message);
|
|
93
|
+
// Report install error to the server (fire-and-forget)
|
|
94
|
+
reportInstallError(releaseLabel).catch(() => { });
|
|
93
95
|
return {
|
|
94
96
|
applied: false,
|
|
95
97
|
bundlePath: null,
|
|
@@ -97,4 +99,23 @@ export async function applyUpdate(downloadResult) {
|
|
|
97
99
|
};
|
|
98
100
|
}
|
|
99
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Report install error to the server
|
|
104
|
+
*/
|
|
105
|
+
async function reportInstallError(releaseLabel) {
|
|
106
|
+
try {
|
|
107
|
+
const config = getConfig();
|
|
108
|
+
const deviceId = await getOrCreateDeviceId();
|
|
109
|
+
await http.post('/devices/error', {
|
|
110
|
+
deviceId,
|
|
111
|
+
appId: config.appId,
|
|
112
|
+
errorType: 'install',
|
|
113
|
+
releaseLabel,
|
|
114
|
+
});
|
|
115
|
+
console.log('[ApplyUpdate] Install error reported to server');
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
console.warn('[ApplyUpdate] Failed to report install error:', err);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
100
121
|
//# sourceMappingURL=applyUpdate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyUpdate.js","sourceRoot":"","sources":["../../src/updates/applyUpdate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"applyUpdate.js","sourceRoot":"","sources":["../../src/updates/applyUpdate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkForUpdates.d.ts","sourceRoot":"","sources":["../../src/updates/checkForUpdates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAuB,UAAU,EAAE,MAAM,UAAU,CAAC;AA2CvE;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CA+B3D;
|
|
1
|
+
{"version":3,"file":"checkForUpdates.d.ts","sourceRoot":"","sources":["../../src/updates/checkForUpdates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAuB,UAAU,EAAE,MAAM,UAAU,CAAC;AA2CvE;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CA+B3D;AAmHD;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAqE3F"}
|
|
@@ -140,11 +140,24 @@ async function getDeviceInfo() {
|
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
142
|
* Get the currently installed release label
|
|
143
|
+
*
|
|
144
|
+
* Priority: stored version (from activeBundle.json) > embedded version (from upflux.json)
|
|
145
|
+
*
|
|
146
|
+
* This ensures that:
|
|
147
|
+
* - Fresh installs use the embedded version (preventing unnecessary downloads)
|
|
148
|
+
* - Apps with OTA updates use the stored version from that update
|
|
143
149
|
*/
|
|
144
150
|
async function getCurrentReleaseLabel() {
|
|
145
151
|
try {
|
|
152
|
+
// First, check for stored version from a previous OTA update
|
|
146
153
|
const metadata = await getActiveBundleMetadata();
|
|
147
|
-
|
|
154
|
+
if (metadata?.releaseLabel) {
|
|
155
|
+
return metadata.releaseLabel;
|
|
156
|
+
}
|
|
157
|
+
// Fall back to embedded version (handles fresh install)
|
|
158
|
+
const { getEmbeddedOtaVersion } = await import('../startup/embeddedVersion');
|
|
159
|
+
const embeddedVersion = await getEmbeddedOtaVersion();
|
|
160
|
+
return embeddedVersion;
|
|
148
161
|
}
|
|
149
162
|
catch {
|
|
150
163
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkForUpdates.js","sourceRoot":"","sources":["../../src/updates/checkForUpdates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checkForUpdates.js","sourceRoot":"","sources":["../../src/updates/checkForUpdates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAkBrD,4BAA4B;AAC5B,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC;;GAEG;AACH,SAAS,gBAAgB;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,UAAU,SAAS,IAAI,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe;IAC1B,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IAClD,OAAO,GAAG,SAAS,eAAe,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,cAAc,CAAC,CAAC;YACnE,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEtD,cAAc,GAAG,WAAW,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,cAAc,CAAC,CAAC;QAC1E,OAAO,cAAc,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,cAAc,GAAG,gBAAgB,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACjB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAE/B,0CAA0C;IAC1C,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzC,yCAAyC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC7D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEpD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACnB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAE/B,mEAAmE;IACnE,sEAAsE;IACtE,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,gDAAgD;QAChD,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACtD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,0BAA0B;IAC1B,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACtB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAE/B,oDAAoD;IACpD,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvC,yCAAyC;IACzC,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE7C,sCAAsC;IACtC,MAAM,QAAQ,GAAe;QACzB,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,OAAO;QAC9C,QAAQ,EAAE,WAAW,EAAE;KAC1B,CAAC;IAEF,0DAA0D;IAC1D,IAAI,MAAM,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,GAAG,QAAQ;QACX,SAAS,EAAE,YAAY,EAAE;QACzB,WAAW,EAAE,cAAc,EAAE;QAC7B,cAAc,EAAE,iBAAiB,EAAE;KACtC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,sBAAsB;IACjC,IAAI,CAAC;QACD,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC;QACjD,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,YAAY,CAAC;QACjC,CAAC;QAED,wDAAwD;QACxD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAEtD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAgC;IAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,aAAa,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;IAEnD,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,KAAK,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,QAAQ,aAAa,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,gDAAgD,mBAAmB,IAAI,MAAM,EAAE,CAAC,CAAC;IAE7F,MAAM,WAAW,GAAwB;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,WAAW,EAAE;QAC1C,mBAAmB,EAAE,mBAAmB,IAAI,SAAS;QACrD,cAAc;QACd,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;KACxC,CAAC;IAEF,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC5B,gBAAgB,EAChB,WAAW,CACd,CAAC;QAEF,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;YAE1D,kDAAkD;YAClD,IAAI,mBAAmB,IAAI,mBAAmB,KAAK,kBAAkB,EAAE,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,yCAAyC,kBAAkB,EAAE,CAAC,CAAC;gBAC3E,OAAO;oBACH,eAAe,EAAE,KAAK;oBACtB,YAAY,EAAE,mBAAmB;iBACpC,CAAC;YACN,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,kBAAkB,EAAE,CAAC,CAAC;YAEzE,OAAO;gBACH,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS;gBACtC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY;gBAC5C,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS;gBACtC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBAChC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS;gBACtC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY;aAC/C,CAAC;QACN,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;YACH,eAAe,EAAE,KAAK;YACtB,YAAY,EAAE,mBAAmB,IAAI,SAAS;SACjD,CAAC;IACN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClH,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadUpdate.d.ts","sourceRoot":"","sources":["../../src/updates/downloadUpdate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAkBvE;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"downloadUpdate.d.ts","sourceRoot":"","sources":["../../src/updates/downloadUpdate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAkBvE;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,cAAc,CAAC,CA2EzB"}
|
|
@@ -67,6 +67,8 @@ export async function downloadUpdate(info, options) {
|
|
|
67
67
|
catch (error) {
|
|
68
68
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
69
69
|
console.error('[DownloadUpdate] Download failed:', message);
|
|
70
|
+
// Report download error to the server (fire-and-forget)
|
|
71
|
+
reportDownloadError(releaseLabel).catch(() => { });
|
|
70
72
|
return {
|
|
71
73
|
success: false,
|
|
72
74
|
bundlePath: '',
|
|
@@ -75,4 +77,24 @@ export async function downloadUpdate(info, options) {
|
|
|
75
77
|
};
|
|
76
78
|
}
|
|
77
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Report download error to the server
|
|
82
|
+
*/
|
|
83
|
+
async function reportDownloadError(releaseLabel) {
|
|
84
|
+
try {
|
|
85
|
+
const config = getConfig();
|
|
86
|
+
const { getOrCreateDeviceId } = await import('./checkForUpdates');
|
|
87
|
+
const deviceId = await getOrCreateDeviceId();
|
|
88
|
+
await http.post('/devices/error', {
|
|
89
|
+
deviceId,
|
|
90
|
+
appId: config.appId,
|
|
91
|
+
errorType: 'download',
|
|
92
|
+
releaseLabel,
|
|
93
|
+
});
|
|
94
|
+
console.log('[DownloadUpdate] Download error reported to server');
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
console.warn('[DownloadUpdate] Failed to report download error:', err);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
78
100
|
//# sourceMappingURL=downloadUpdate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadUpdate.js","sourceRoot":"","sources":["../../src/updates/downloadUpdate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAetD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,IAAgB,EAChB,OAAyB;IAEzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEzC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,mCAAmC;SAC7C,CAAC;IACN,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;IAErE,IAAI,CAAC;QACD,qCAAqC;QACrC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAE/B,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC5B,mBAAmB,EACnB,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACpC,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAE/B,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,0BAA0B;QAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,UAAU,EAAE,IAAI,GAAG,IAAI,EAAE,gBAAgB;YACzC,UAAU,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,6CAA6C;QAC7C,OAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAE7D,kBAAkB;QAClB,OAAO,EAAE,UAAU,EAAE,CAAC;YAClB,eAAe,EAAE,IAAI,GAAG,IAAI;YAC5B,UAAU,EAAE,IAAI,GAAG,IAAI;YACvB,UAAU,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;QAEjE,OAAO;YACH,OAAO,EAAE,IAAI;YACb,UAAU;YACV,UAAU,EAAE,EAAE,EAAE,4BAA4B;YAC5C,YAAY;SACf,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAE5D,OAAO;YACH,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,OAAO;SACjB,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"downloadUpdate.js","sourceRoot":"","sources":["../../src/updates/downloadUpdate.ts"],"names":[],"mappings":"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"}
|