@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.
@@ -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 mainly for tracking/logging purposes.
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;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC;;;;;GAKG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CA0CnE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGlE"}
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 mainly for tracking/logging purposes.
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;;;;GAIG;AAGH,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,IAAI,CAAC;QACD,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;gBAEzD,OAAO;oBACH,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,IAAI;oBACd,YAAY,EAAE,QAAQ,EAAE,YAAY;iBACvC,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;QAE9C,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAClB,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"}
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"}
@@ -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;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
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,CAoEtF"}
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;AAoGD;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAqE3F"}
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
- return metadata?.releaseLabel ?? null;
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":"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"}
@@ -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,CAwEzB"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@upfluxhq/capacitor",
3
- "version": "0.1.0-beta.3",
3
+ "version": "0.1.0-beta.4",
4
4
  "description": "Capacitor SDK for Upflux OTA updates",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",