@capgo/capacitor-updater 7.42.3 → 7.43.3
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.swift +1 -1
- package/README.md +104 -41
- package/android/build.gradle +1 -1
- package/android/src/main/java/ee/forgr/capacitor_updater/CapacitorUpdaterPlugin.java +153 -49
- package/android/src/main/java/ee/forgr/capacitor_updater/CapgoUpdater.java +60 -1
- package/android/src/main/java/ee/forgr/capacitor_updater/DownloadService.java +23 -6
- package/android/src/main/java/ee/forgr/capacitor_updater/InternalUtils.java +13 -0
- package/android/src/main/java/ee/forgr/capacitor_updater/ShakeMenu.java +436 -2
- package/dist/docs.json +116 -4
- package/dist/esm/definitions.d.ts +54 -4
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/web.d.ts +3 -1
- package/dist/esm/web.js +6 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +6 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +6 -0
- package/dist/plugin.js.map +1 -1
- package/ios/Sources/CapacitorUpdaterPlugin/CapacitorUpdaterPlugin.swift +97 -6
- package/ios/Sources/CapacitorUpdaterPlugin/CapgoUpdater.swift +23 -11
- package/ios/Sources/CapacitorUpdaterPlugin/InternalUtils.swift +1 -0
- package/ios/Sources/CapacitorUpdaterPlugin/ShakeMenu.swift +330 -2
- package/package.json +3 -2
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/history.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["/*\n * Maintains navigation history across Capgo-controlled reloads when keepUrlPathAfterReload is enabled.\n */\nconst KEEP_FLAG_KEY = '__capgo_keep_url_path_after_reload';\nconst HISTORY_STORAGE_KEY = '__capgo_history_stack__';\nconst MAX_STACK_ENTRIES = 100;\nconst isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof history !== 'undefined';\nif (isBrowser) {\n const win = window;\n if (!win.__capgoHistoryPatched) {\n win.__capgoHistoryPatched = true;\n const isFeatureConfigured = () => {\n try {\n if (win.__capgoKeepUrlPathAfterReload) {\n return true;\n }\n }\n catch (err) {\n // ignore access issues\n }\n try {\n return window.localStorage.getItem(KEEP_FLAG_KEY) === '1';\n }\n catch (err) {\n return false;\n }\n };\n const readStored = () => {\n try {\n const raw = window.sessionStorage.getItem(HISTORY_STORAGE_KEY);\n if (!raw) {\n return { stack: [], index: -1 };\n }\n const parsed = JSON.parse(raw);\n if (!parsed || !Array.isArray(parsed.stack) || typeof parsed.index !== 'number') {\n return { stack: [], index: -1 };\n }\n return parsed;\n }\n catch (err) {\n return { stack: [], index: -1 };\n }\n };\n const writeStored = (stack, index) => {\n try {\n window.sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify({ stack, index }));\n }\n catch (err) {\n // Storage might be unavailable; fail silently.\n }\n };\n const clearStored = () => {\n try {\n window.sessionStorage.removeItem(HISTORY_STORAGE_KEY);\n }\n catch (err) {\n // ignore\n }\n };\n const normalize = (url) => {\n try {\n const base = url !== null && url !== void 0 ? url : window.location.href;\n const parsed = new URL(base instanceof URL ? base.toString() : base, window.location.href);\n return `${parsed.pathname}${parsed.search}${parsed.hash}`;\n }\n catch (err) {\n return null;\n }\n };\n const trimStack = (stack, index) => {\n if (stack.length <= MAX_STACK_ENTRIES) {\n return { stack, index };\n }\n const start = stack.length - MAX_STACK_ENTRIES;\n const trimmed = stack.slice(start);\n const adjustedIndex = Math.max(0, index - start);\n return { stack: trimmed, index: adjustedIndex };\n };\n const runWhenReady = (fn) => {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n fn();\n }\n else {\n window.addEventListener('DOMContentLoaded', fn, { once: true });\n }\n };\n let featureActive = false;\n let isRestoring = false;\n let restoreScheduled = false;\n const ensureCurrentTracked = () => {\n if (!featureActive) {\n return;\n }\n const stored = readStored();\n const current = normalize();\n if (!current) {\n return;\n }\n if (stored.stack.length === 0) {\n stored.stack.push(current);\n stored.index = 0;\n writeStored(stored.stack, stored.index);\n return;\n }\n if (stored.index < 0 || stored.index >= stored.stack.length) {\n stored.index = stored.stack.length - 1;\n }\n if (stored.stack[stored.index] !== current) {\n stored.stack[stored.index] = current;\n writeStored(stored.stack, stored.index);\n }\n };\n const record = (url, replace) => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize(url);\n if (!normalized) {\n return;\n }\n let { stack, index } = readStored();\n if (stack.length === 0) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else if (replace) {\n if (index < 0 || index >= stack.length) {\n index = stack.length - 1;\n }\n stack[index] = normalized;\n }\n else {\n if (index >= stack.length - 1) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else {\n stack = stack.slice(0, index + 1);\n stack.push(normalized);\n index = stack.length - 1;\n }\n }\n ({ stack, index } = trimStack(stack, index));\n writeStored(stack, index);\n };\n const restoreHistory = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const stored = readStored();\n if (stored.stack.length === 0) {\n ensureCurrentTracked();\n return;\n }\n const targetIndex = stored.index >= 0 && stored.index < stored.stack.length ? stored.index : stored.stack.length - 1;\n const normalizedCurrent = normalize();\n if (stored.stack.length === 1 && normalizedCurrent === stored.stack[0]) {\n return;\n }\n const firstEntry = stored.stack[0];\n if (!firstEntry) {\n return;\n }\n isRestoring = true;\n try {\n history.replaceState(history.state, document.title, firstEntry);\n for (let i = 1; i < stored.stack.length; i += 1) {\n history.pushState(history.state, document.title, stored.stack[i]);\n }\n }\n catch (err) {\n isRestoring = false;\n return;\n }\n isRestoring = false;\n const currentIndex = stored.stack.length - 1;\n const offset = targetIndex - currentIndex;\n if (offset !== 0) {\n history.go(offset);\n }\n else {\n history.replaceState(history.state, document.title, stored.stack[targetIndex]);\n window.dispatchEvent(new PopStateEvent('popstate'));\n }\n };\n const scheduleRestore = () => {\n if (!featureActive || restoreScheduled) {\n return;\n }\n restoreScheduled = true;\n runWhenReady(() => {\n restoreScheduled = false;\n restoreHistory();\n });\n };\n let originalPushState = null;\n let originalReplaceState = null;\n const popstateHandler = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize();\n if (!normalized) {\n return;\n }\n const stored = readStored();\n const idx = stored.stack.lastIndexOf(normalized);\n if (idx >= 0) {\n stored.index = idx;\n }\n else {\n stored.stack.push(normalized);\n stored.index = stored.stack.length - 1;\n }\n const trimmed = trimStack(stored.stack, stored.index);\n writeStored(trimmed.stack, trimmed.index);\n };\n const patchHistory = () => {\n if (originalPushState && originalReplaceState) {\n return;\n }\n originalPushState = history.pushState;\n originalReplaceState = history.replaceState;\n history.pushState = function pushStatePatched(state, title, url) {\n const result = originalPushState === null || originalPushState === void 0 ? void 0 : originalPushState.call(history, state, title, url);\n record(url, false);\n return result;\n };\n history.replaceState = function replaceStatePatched(state, title, url) {\n const result = originalReplaceState === null || originalReplaceState === void 0 ? void 0 : originalReplaceState.call(history, state, title, url);\n record(url, true);\n return result;\n };\n window.addEventListener('popstate', popstateHandler);\n };\n const unpatchHistory = () => {\n if (originalPushState) {\n history.pushState = originalPushState;\n originalPushState = null;\n }\n if (originalReplaceState) {\n history.replaceState = originalReplaceState;\n originalReplaceState = null;\n }\n window.removeEventListener('popstate', popstateHandler);\n };\n const setFeatureActive = (enabled) => {\n if (featureActive === enabled) {\n if (featureActive) {\n ensureCurrentTracked();\n scheduleRestore();\n }\n return;\n }\n featureActive = enabled;\n if (featureActive) {\n patchHistory();\n ensureCurrentTracked();\n scheduleRestore();\n }\n else {\n unpatchHistory();\n clearStored();\n }\n };\n window.addEventListener('CapacitorUpdaterKeepUrlPathAfterReload', (event) => {\n var _a;\n const evt = event;\n const enabled = (_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.enabled;\n if (typeof enabled === 'boolean') {\n win.__capgoKeepUrlPathAfterReload = enabled;\n setFeatureActive(enabled);\n }\n else {\n win.__capgoKeepUrlPathAfterReload = true;\n setFeatureActive(true);\n }\n });\n setFeatureActive(isFeatureConfigured());\n }\n}\nexport {};\n//# sourceMappingURL=history.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\n/**\n * Update availability status.\n *\n * @since 8.0.0\n */\nexport var AppUpdateAvailability;\n(function (AppUpdateAvailability) {\n /**\n * Update availability is unknown.\n * This typically means the check hasn't completed or failed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * No update is available.\n * The installed version is the latest.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_NOT_AVAILABLE\"] = 1] = \"UPDATE_NOT_AVAILABLE\";\n /**\n * An update is available for download.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_AVAILABLE\"] = 2] = \"UPDATE_AVAILABLE\";\n /**\n * An update is currently being downloaded or installed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_IN_PROGRESS\"] = 3] = \"UPDATE_IN_PROGRESS\";\n})(AppUpdateAvailability || (AppUpdateAvailability = {}));\n/**\n * Installation status for flexible updates (Android only).\n *\n * @since 8.0.0\n */\nexport var FlexibleUpdateInstallStatus;\n(function (FlexibleUpdateInstallStatus) {\n /**\n * Unknown install status.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * Download is pending and will start soon.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"PENDING\"] = 1] = \"PENDING\";\n /**\n * Download is in progress.\n * Check `bytesDownloaded` and `totalBytesToDownload` for progress.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADING\"] = 2] = \"DOWNLOADING\";\n /**\n * The update is being installed.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLING\"] = 3] = \"INSTALLING\";\n /**\n * The update has been installed.\n * The app needs to be restarted to use the new version.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLED\"] = 4] = \"INSTALLED\";\n /**\n * The update failed to download or install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"FAILED\"] = 5] = \"FAILED\";\n /**\n * The update was canceled by the user.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"CANCELED\"] = 6] = \"CANCELED\";\n /**\n * The update has been downloaded and is ready to install.\n * Call {@link CapacitorUpdaterPlugin.completeFlexibleUpdate} to install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADED\"] = 11] = \"DOWNLOADED\";\n})(FlexibleUpdateInstallStatus || (FlexibleUpdateInstallStatus = {}));\n/**\n * Result codes for app update operations.\n *\n * @since 8.0.0\n */\nexport var AppUpdateResultCode;\n(function (AppUpdateResultCode) {\n /**\n * The update completed successfully.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"OK\"] = 0] = \"OK\";\n /**\n * The user canceled the update.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"CANCELED\"] = 1] = \"CANCELED\";\n /**\n * The update failed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"FAILED\"] = 2] = \"FAILED\";\n /**\n * No update is available.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_AVAILABLE\"] = 3] = \"NOT_AVAILABLE\";\n /**\n * The requested update type is not allowed.\n * For example, trying to perform an immediate update when only flexible is allowed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_ALLOWED\"] = 4] = \"NOT_ALLOWED\";\n /**\n * Required information is missing.\n * This can happen if {@link CapacitorUpdaterPlugin.getAppUpdateInfo} wasn't called first.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"INFO_MISSING\"] = 5] = \"INFO_MISSING\";\n})(AppUpdateResultCode || (AppUpdateResultCode = {}));\n//# sourceMappingURL=definitions.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { registerPlugin } from '@capacitor/core';\nimport './history';\nconst CapacitorUpdater = registerPlugin('CapacitorUpdater', {\n web: () => import('./web').then((m) => new m.CapacitorUpdaterWeb()),\n});\nexport * from './definitions';\nexport { CapacitorUpdater };\n//# sourceMappingURL=index.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { WebPlugin } from '@capacitor/core';\nimport { AppUpdateAvailability } from './definitions';\nconst BUNDLE_BUILTIN = {\n status: 'success',\n version: '',\n downloaded: '1970-01-01T00:00:00.000Z',\n id: 'builtin',\n checksum: '',\n};\nexport class CapacitorUpdaterWeb extends WebPlugin {\n async setStatsUrl(options) {\n console.warn('Cannot setStatsUrl in web', options);\n return;\n }\n async setUpdateUrl(options) {\n console.warn('Cannot setUpdateUrl in web', options);\n return;\n }\n async setChannelUrl(options) {\n console.warn('Cannot setChannelUrl in web', options);\n return;\n }\n async download(options) {\n console.warn('Cannot download version in web', options);\n return BUNDLE_BUILTIN;\n }\n async next(options) {\n console.warn('Cannot set next version in web', options);\n return BUNDLE_BUILTIN;\n }\n async isAutoUpdateEnabled() {\n console.warn('Cannot get isAutoUpdateEnabled in web');\n return { enabled: false };\n }\n async set(options) {\n console.warn('Cannot set active bundle in web', options);\n return;\n }\n async getDeviceId() {\n console.warn('Cannot get ID in web');\n return { deviceId: 'default' };\n }\n async getBuiltinVersion() {\n console.warn('Cannot get version in web');\n return { version: 'default' };\n }\n async getPluginVersion() {\n console.warn('Cannot get plugin version in web');\n return { version: 'default' };\n }\n async delete(options) {\n console.warn('Cannot delete bundle in web', options);\n }\n async setBundleError(options) {\n console.warn('Cannot setBundleError in web', options);\n return BUNDLE_BUILTIN;\n }\n async list() {\n console.warn('Cannot list bundles in web');\n return { bundles: [] };\n }\n async reset(options) {\n console.warn('Cannot reset version in web', options);\n }\n async current() {\n console.warn('Cannot get current bundle in web');\n return { bundle: BUNDLE_BUILTIN, native: '0.0.0' };\n }\n async reload() {\n console.warn('Cannot reload current bundle in web');\n return;\n }\n async getLatest() {\n console.warn('Cannot getLatest current bundle in web');\n return {\n version: '0.0.0',\n message: 'Cannot getLatest current bundle in web',\n };\n }\n async setChannel(options) {\n console.warn('Cannot setChannel in web', options);\n return {\n status: 'error',\n error: 'Cannot setChannel in web',\n };\n }\n async unsetChannel(options) {\n console.warn('Cannot unsetChannel in web', options);\n return;\n }\n async setCustomId(options) {\n console.warn('Cannot setCustomId in web', options);\n return;\n }\n async getChannel() {\n console.warn('Cannot getChannel in web');\n return {\n status: 'error',\n error: 'Cannot getChannel in web',\n };\n }\n async listChannels() {\n console.warn('Cannot listChannels in web');\n throw {\n message: 'Cannot listChannels in web',\n error: 'platform_not_supported',\n };\n }\n async notifyAppReady() {\n return { bundle: BUNDLE_BUILTIN };\n }\n async setMultiDelay(options) {\n console.warn('Cannot setMultiDelay in web', options === null || options === void 0 ? void 0 : options.delayConditions);\n return;\n }\n async setDelay(option) {\n console.warn('Cannot setDelay in web', option);\n return;\n }\n async cancelDelay() {\n console.warn('Cannot cancelDelay in web');\n return;\n }\n async isAutoUpdateAvailable() {\n console.warn('Cannot isAutoUpdateAvailable in web');\n return { available: false };\n }\n async getCurrentBundle() {\n console.warn('Cannot get current bundle in web');\n return BUNDLE_BUILTIN;\n }\n async getNextBundle() {\n return Promise.resolve(null);\n }\n async getFailedUpdate() {\n console.warn('Cannot getFailedUpdate in web');\n return null;\n }\n async setShakeMenu(_options) {\n throw this.unimplemented('Shake menu not available on web platform');\n }\n async isShakeMenuEnabled() {\n return Promise.resolve({ enabled: false });\n }\n async getAppId() {\n console.warn('Cannot getAppId in web');\n return { appId: 'default' };\n }\n async setAppId(options) {\n console.warn('Cannot setAppId in web', options);\n return;\n }\n // ============================================================================\n // App Store / Play Store Update Methods (Web stubs)\n // ============================================================================\n async getAppUpdateInfo(_options) {\n console.warn('getAppUpdateInfo is not available on web platform');\n return {\n currentVersionName: '0.0.0',\n currentVersionCode: '0',\n updateAvailability: AppUpdateAvailability.UNKNOWN,\n };\n }\n async openAppStore(_options) {\n throw this.unimplemented('openAppStore is not available on web platform');\n }\n async performImmediateUpdate() {\n throw this.unimplemented('performImmediateUpdate is only available on Android');\n }\n async startFlexibleUpdate() {\n throw this.unimplemented('startFlexibleUpdate is only available on Android');\n }\n async completeFlexibleUpdate() {\n throw this.unimplemented('completeFlexibleUpdate is only available on Android');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["AppUpdateAvailability","FlexibleUpdateInstallStatus","AppUpdateResultCode","registerPlugin","WebPlugin"],"mappings":";;;;AAAA;AACA;AACA;AACA,MAAM,aAAa,GAAG,oCAAoC;AAC1D,MAAM,mBAAmB,GAAG,yBAAyB;AACrD,MAAM,iBAAiB,GAAG,GAAG;AAC7B,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW;AACpH,IAAI,SAAS,EAAE;AACf,IAAI,MAAM,GAAG,GAAG,MAAM;AACtB,IAAI,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE;AACpC,QAAQ,GAAG,CAAC,qBAAqB,GAAG,IAAI;AACxC,QAAQ,MAAM,mBAAmB,GAAG,MAAM;AAC1C,YAAY,IAAI;AAChB,gBAAgB,IAAI,GAAG,CAAC,6BAA6B,EAAE;AACvD,oBAAoB,OAAO,IAAI;AAC/B,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB;AACA,YAAY;AACZ,YAAY,IAAI;AAChB,gBAAgB,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG;AACzE,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,OAAO,KAAK;AAC5B,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,UAAU,GAAG,MAAM;AACjC,YAAY,IAAI;AAChB,gBAAgB,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC;AAC9E,gBAAgB,IAAI,CAAC,GAAG,EAAE;AAC1B,oBAAoB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;AACnD,gBAAgB;AAChB,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,gBAAgB,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;AACjG,oBAAoB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;AACnD,gBAAgB;AAChB,gBAAgB,OAAO,MAAM;AAC7B,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAC/C,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AAC9C,YAAY,IAAI;AAChB,gBAAgB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACpG,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB;AACA,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,WAAW,GAAG,MAAM;AAClC,YAAY,IAAI;AAChB,gBAAgB,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC;AACrE,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB;AACA,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK;AACnC,YAAY,IAAI;AAChB,gBAAgB,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;AACxF,gBAAgB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,YAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1G,gBAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACzE,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,OAAO,IAAI;AAC3B,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AAC5C,YAAY,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE;AACnD,gBAAgB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;AACvC,YAAY;AACZ,YAAY,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,iBAAiB;AAC1D,YAAY,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9C,YAAY,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;AAC5D,YAAY,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE;AAC3D,QAAQ,CAAC;AACT,QAAQ,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK;AACrC,YAAY,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,IAAI,QAAQ,CAAC,UAAU,KAAK,aAAa,EAAE;AAC7F,gBAAgB,EAAE,EAAE;AACpB,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/E,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,IAAI,aAAa,GAAG,KAAK;AACjC,QAAQ,IAAI,WAAW,GAAG,KAAK;AAC/B,QAAQ,IAAI,gBAAgB,GAAG,KAAK;AACpC,QAAQ,MAAM,oBAAoB,GAAG,MAAM;AAC3C,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,MAAM,GAAG,UAAU,EAAE;AACvC,YAAY,MAAM,OAAO,GAAG,SAAS,EAAE;AACvC,YAAY,IAAI,CAAC,OAAO,EAAE;AAC1B,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,gBAAgB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C,gBAAgB,MAAM,CAAC,KAAK,GAAG,CAAC;AAChC,gBAAgB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACvD,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;AACzE,gBAAgB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACtD,YAAY;AACZ,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE;AACxD,gBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO;AACpD,gBAAgB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACvD,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;AACzC,YAAY,IAAI,CAAC,aAAa,IAAI,WAAW,EAAE;AAC/C,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC;AAC7C,YAAY,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE;AAC/C,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,gBAAgB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AACtC,gBAAgB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AACxC,YAAY;AACZ,iBAAiB,IAAI,OAAO,EAAE;AAC9B,gBAAgB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACxD,oBAAoB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC5C,gBAAgB;AAChB,gBAAgB,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU;AACzC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,oBAAoB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,oBAAoB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC5C,gBAAgB;AAChB,qBAAqB;AACrB,oBAAoB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AACrD,oBAAoB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,oBAAoB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC5C,gBAAgB;AAChB,YAAY;AACZ,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AACvD,YAAY,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,MAAM,cAAc,GAAG,MAAM;AACrC,YAAY,IAAI,CAAC,aAAa,IAAI,WAAW,EAAE;AAC/C,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,MAAM,GAAG,UAAU,EAAE;AACvC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,gBAAgB,oBAAoB,EAAE;AACtC,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AAChI,YAAY,MAAM,iBAAiB,GAAG,SAAS,EAAE;AACjD,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACpF,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,YAAY,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAgB;AAChB,YAAY;AACZ,YAAY,WAAW,GAAG,IAAI;AAC9B,YAAY,IAAI;AAChB,gBAAgB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;AAC/E,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACjE,oBAAoB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrF,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,WAAW,GAAG,KAAK;AACnC,gBAAgB;AAChB,YAAY;AACZ,YAAY,WAAW,GAAG,KAAK;AAC/B,YAAY,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACxD,YAAY,MAAM,MAAM,GAAG,WAAW,GAAG,YAAY;AACrD,YAAY,IAAI,MAAM,KAAK,CAAC,EAAE;AAC9B,gBAAgB,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;AAClC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9F,gBAAgB,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;AACnE,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,eAAe,GAAG,MAAM;AACtC,YAAY,IAAI,CAAC,aAAa,IAAI,gBAAgB,EAAE;AACpD,gBAAgB;AAChB,YAAY;AACZ,YAAY,gBAAgB,GAAG,IAAI;AACnC,YAAY,YAAY,CAAC,MAAM;AAC/B,gBAAgB,gBAAgB,GAAG,KAAK;AACxC,gBAAgB,cAAc,EAAE;AAChC,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,iBAAiB,GAAG,IAAI;AACpC,QAAQ,IAAI,oBAAoB,GAAG,IAAI;AACvC,QAAQ,MAAM,eAAe,GAAG,MAAM;AACtC,YAAY,IAAI,CAAC,aAAa,IAAI,WAAW,EAAE;AAC/C,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,UAAU,GAAG,SAAS,EAAE;AAC1C,YAAY,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,MAAM,GAAG,UAAU,EAAE;AACvC,YAAY,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;AAC5D,YAAY,IAAI,GAAG,IAAI,CAAC,EAAE;AAC1B,gBAAgB,MAAM,CAAC,KAAK,GAAG,GAAG;AAClC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7C,gBAAgB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACtD,YAAY;AACZ,YAAY,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACjE,YAAY,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;AACrD,QAAQ,CAAC;AACT,QAAQ,MAAM,YAAY,GAAG,MAAM;AACnC,YAAY,IAAI,iBAAiB,IAAI,oBAAoB,EAAE;AAC3D,gBAAgB;AAChB,YAAY;AACZ,YAAY,iBAAiB,GAAG,OAAO,CAAC,SAAS;AACjD,YAAY,oBAAoB,GAAG,OAAO,CAAC,YAAY;AACvD,YAAY,OAAO,CAAC,SAAS,GAAG,SAAS,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;AAC7E,gBAAgB,MAAM,MAAM,GAAG,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;AACvJ,gBAAgB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AAClC,gBAAgB,OAAO,MAAM;AAC7B,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,YAAY,GAAG,SAAS,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;AACnF,gBAAgB,MAAM,MAAM,GAAG,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM,GAAG,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;AAChK,gBAAgB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;AACjC,gBAAgB,OAAO,MAAM;AAC7B,YAAY,CAAC;AACb,YAAY,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC;AAChE,QAAQ,CAAC;AACT,QAAQ,MAAM,cAAc,GAAG,MAAM;AACrC,YAAY,IAAI,iBAAiB,EAAE;AACnC,gBAAgB,OAAO,CAAC,SAAS,GAAG,iBAAiB;AACrD,gBAAgB,iBAAiB,GAAG,IAAI;AACxC,YAAY;AACZ,YAAY,IAAI,oBAAoB,EAAE;AACtC,gBAAgB,OAAO,CAAC,YAAY,GAAG,oBAAoB;AAC3D,gBAAgB,oBAAoB,GAAG,IAAI;AAC3C,YAAY;AACZ,YAAY,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC;AACnE,QAAQ,CAAC;AACT,QAAQ,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK;AAC9C,YAAY,IAAI,aAAa,KAAK,OAAO,EAAE;AAC3C,gBAAgB,IAAI,aAAa,EAAE;AACnC,oBAAoB,oBAAoB,EAAE;AAC1C,oBAAoB,eAAe,EAAE;AACrC,gBAAgB;AAChB,gBAAgB;AAChB,YAAY;AACZ,YAAY,aAAa,GAAG,OAAO;AACnC,YAAY,IAAI,aAAa,EAAE;AAC/B,gBAAgB,YAAY,EAAE;AAC9B,gBAAgB,oBAAoB,EAAE;AACtC,gBAAgB,eAAe,EAAE;AACjC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,cAAc,EAAE;AAChC,gBAAgB,WAAW,EAAE;AAC7B,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,MAAM,CAAC,gBAAgB,CAAC,wCAAwC,EAAE,CAAC,KAAK,KAAK;AACrF,YAAY,IAAI,EAAE;AAClB,YAAY,MAAM,GAAG,GAAG,KAAK;AAC7B,YAAY,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO;AACvI,YAAY,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;AAC9C,gBAAgB,GAAG,CAAC,6BAA6B,GAAG,OAAO;AAC3D,gBAAgB,gBAAgB,CAAC,OAAO,CAAC;AACzC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,GAAG,CAAC,6BAA6B,GAAG,IAAI;AACxD,gBAAgB,gBAAgB,CAAC,IAAI,CAAC;AACtC,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,QAAQ,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;AAC/C,IAAI;AACJ;;ACxRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACWA;AACX,CAAC,UAAU,qBAAqB,EAAE;AAClC;AACA;AACA;AACA;AACA,IAAI,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;AAC3E;AACA;AACA;AACA;AACA,IAAI,qBAAqB,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,sBAAsB;AACrG;AACA;AACA;AACA,IAAI,qBAAqB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB;AAC7F;AACA;AACA;AACA,IAAI,qBAAqB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB;AACjG,CAAC,EAAEA,6BAAqB,KAAKA,6BAAqB,GAAG,EAAE,CAAC,CAAC;AACzD;AACA;AACA;AACA;AACA;AACWC;AACX,CAAC,UAAU,2BAA2B,EAAE;AACxC;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;AACvF;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;AACvF;AACA;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa;AAC/F;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;AAC7F;AACA;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW;AAC3F;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ;AACrF;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU;AACzF;AACA;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY;AAC9F,CAAC,EAAEA,mCAA2B,KAAKA,mCAA2B,GAAG,EAAE,CAAC,CAAC;AACrE;AACA;AACA;AACA;AACA;AACWC;AACX,CAAC,UAAU,mBAAmB,EAAE;AAChC;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;AAC7D;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU;AACzE;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ;AACrE;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe;AACnF;AACA;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa;AAC/E;AACA;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc;AACjF,CAAC,EAAEA,2BAAmB,KAAKA,2BAAmB,GAAG,EAAE,CAAC,CAAC;;AC3GrD;AACA;AACA;AACA;AACA;AAGK,MAAC,gBAAgB,GAAGC,mBAAc,CAAC,kBAAkB,EAAE;AAC5D,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;AACvE,CAAC;;ACTD;AACA;AACA;AACA;AACA;AAGA,MAAM,cAAc,GAAG;AACvB,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,UAAU,EAAE,0BAA0B;AAC1C,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,QAAQ,EAAE,EAAE;AAChB,CAAC;AACM,MAAM,mBAAmB,SAASC,cAAS,CAAC;AACnD,IAAI,MAAM,WAAW,CAAC,OAAO,EAAE;AAC/B,QAAQ,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC;AAC1D,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC,QAAQ,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC3D,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;AACjC,QAAQ,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;AAC5D,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE;AAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC;AAC/D,QAAQ,OAAO,cAAc;AAC7B,IAAI;AACJ,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;AACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC;AAC/D,QAAQ,OAAO,cAAc;AAC7B,IAAI;AACJ,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC;AAC7D,QAAQ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;AACjC,IAAI;AACJ,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE;AACvB,QAAQ,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC;AAChE,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAC5C,QAAQ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;AACtC,IAAI;AACJ,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC;AACjD,QAAQ,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;AACrC,IAAI;AACJ,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC;AACxD,QAAQ,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;AACrC,IAAI;AACJ,IAAI,MAAM,MAAM,CAAC,OAAO,EAAE;AAC1B,QAAQ,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;AAC5D,IAAI;AACJ,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE;AAClC,QAAQ,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,CAAC;AAC7D,QAAQ,OAAO,cAAc;AAC7B,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC;AAClD,QAAQ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;AAC9B,IAAI;AACJ,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;AAC5D,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC;AACxD,QAAQ,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE;AAC1D,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC;AAC3D,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC;AAC9D,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,OAAO;AAC5B,YAAY,OAAO,EAAE,wCAAwC;AAC7D,SAAS;AACT,IAAI;AACJ,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE;AAC9B,QAAQ,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC;AACzD,QAAQ,OAAO;AACf,YAAY,MAAM,EAAE,OAAO;AAC3B,YAAY,KAAK,EAAE,0BAA0B;AAC7C,SAAS;AACT,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC,QAAQ,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC3D,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,WAAW,CAAC,OAAO,EAAE;AAC/B,QAAQ,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC;AAC1D,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;AAChD,QAAQ,OAAO;AACf,YAAY,MAAM,EAAE,OAAO;AAC3B,YAAY,KAAK,EAAE,0BAA0B;AAC7C,SAAS;AACT,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC;AAClD,QAAQ,MAAM;AACd,YAAY,OAAO,EAAE,4BAA4B;AACjD,YAAY,KAAK,EAAE,wBAAwB;AAC3C,SAAS;AACT,IAAI;AACJ,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;AACzC,IAAI;AACJ,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;AACjC,QAAQ,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;AAC9H,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE;AAC3B,QAAQ,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;AACtD,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC;AACjD,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC;AAC3D,QAAQ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE;AACnC,IAAI;AACJ,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC;AACxD,QAAQ,OAAO,cAAc;AAC7B,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC;AACrD,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,QAAQ,EAAE;AACjC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC;AAC5E,IAAI;AACJ,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClD,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;AAC9C,QAAQ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;AACnC,IAAI;AACJ,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE;AAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;AACvD,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,CAAC,QAAQ,EAAE;AACrC,QAAQ,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC;AACzE,QAAQ,OAAO;AACf,YAAY,kBAAkB,EAAE,OAAO;AACvC,YAAY,kBAAkB,EAAE,GAAG;AACnC,YAAY,kBAAkB,EAAEJ,6BAAqB,CAAC,OAAO;AAC7D,SAAS;AACT,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,QAAQ,EAAE;AACjC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC;AACjF,IAAI;AACJ,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,qDAAqD,CAAC;AACvF,IAAI;AACJ,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,kDAAkD,CAAC;AACpF,IAAI;AACJ,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,qDAAqD,CAAC;AACvF,IAAI;AACJ;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/history.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["/*\n * Maintains navigation history across Capgo-controlled reloads when keepUrlPathAfterReload is enabled.\n */\nconst KEEP_FLAG_KEY = '__capgo_keep_url_path_after_reload';\nconst HISTORY_STORAGE_KEY = '__capgo_history_stack__';\nconst MAX_STACK_ENTRIES = 100;\nconst isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof history !== 'undefined';\nif (isBrowser) {\n const win = window;\n if (!win.__capgoHistoryPatched) {\n win.__capgoHistoryPatched = true;\n const isFeatureConfigured = () => {\n try {\n if (win.__capgoKeepUrlPathAfterReload) {\n return true;\n }\n }\n catch (err) {\n // ignore access issues\n }\n try {\n return window.localStorage.getItem(KEEP_FLAG_KEY) === '1';\n }\n catch (err) {\n return false;\n }\n };\n const readStored = () => {\n try {\n const raw = window.sessionStorage.getItem(HISTORY_STORAGE_KEY);\n if (!raw) {\n return { stack: [], index: -1 };\n }\n const parsed = JSON.parse(raw);\n if (!parsed || !Array.isArray(parsed.stack) || typeof parsed.index !== 'number') {\n return { stack: [], index: -1 };\n }\n return parsed;\n }\n catch (err) {\n return { stack: [], index: -1 };\n }\n };\n const writeStored = (stack, index) => {\n try {\n window.sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify({ stack, index }));\n }\n catch (err) {\n // Storage might be unavailable; fail silently.\n }\n };\n const clearStored = () => {\n try {\n window.sessionStorage.removeItem(HISTORY_STORAGE_KEY);\n }\n catch (err) {\n // ignore\n }\n };\n const normalize = (url) => {\n try {\n const base = url !== null && url !== void 0 ? url : window.location.href;\n const parsed = new URL(base instanceof URL ? base.toString() : base, window.location.href);\n return `${parsed.pathname}${parsed.search}${parsed.hash}`;\n }\n catch (err) {\n return null;\n }\n };\n const trimStack = (stack, index) => {\n if (stack.length <= MAX_STACK_ENTRIES) {\n return { stack, index };\n }\n const start = stack.length - MAX_STACK_ENTRIES;\n const trimmed = stack.slice(start);\n const adjustedIndex = Math.max(0, index - start);\n return { stack: trimmed, index: adjustedIndex };\n };\n const runWhenReady = (fn) => {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n fn();\n }\n else {\n window.addEventListener('DOMContentLoaded', fn, { once: true });\n }\n };\n let featureActive = false;\n let isRestoring = false;\n let restoreScheduled = false;\n const ensureCurrentTracked = () => {\n if (!featureActive) {\n return;\n }\n const stored = readStored();\n const current = normalize();\n if (!current) {\n return;\n }\n if (stored.stack.length === 0) {\n stored.stack.push(current);\n stored.index = 0;\n writeStored(stored.stack, stored.index);\n return;\n }\n if (stored.index < 0 || stored.index >= stored.stack.length) {\n stored.index = stored.stack.length - 1;\n }\n if (stored.stack[stored.index] !== current) {\n stored.stack[stored.index] = current;\n writeStored(stored.stack, stored.index);\n }\n };\n const record = (url, replace) => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize(url);\n if (!normalized) {\n return;\n }\n let { stack, index } = readStored();\n if (stack.length === 0) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else if (replace) {\n if (index < 0 || index >= stack.length) {\n index = stack.length - 1;\n }\n stack[index] = normalized;\n }\n else {\n if (index >= stack.length - 1) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else {\n stack = stack.slice(0, index + 1);\n stack.push(normalized);\n index = stack.length - 1;\n }\n }\n ({ stack, index } = trimStack(stack, index));\n writeStored(stack, index);\n };\n const restoreHistory = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const stored = readStored();\n if (stored.stack.length === 0) {\n ensureCurrentTracked();\n return;\n }\n const targetIndex = stored.index >= 0 && stored.index < stored.stack.length ? stored.index : stored.stack.length - 1;\n const normalizedCurrent = normalize();\n if (stored.stack.length === 1 && normalizedCurrent === stored.stack[0]) {\n return;\n }\n const firstEntry = stored.stack[0];\n if (!firstEntry) {\n return;\n }\n isRestoring = true;\n try {\n history.replaceState(history.state, document.title, firstEntry);\n for (let i = 1; i < stored.stack.length; i += 1) {\n history.pushState(history.state, document.title, stored.stack[i]);\n }\n }\n catch (err) {\n isRestoring = false;\n return;\n }\n isRestoring = false;\n const currentIndex = stored.stack.length - 1;\n const offset = targetIndex - currentIndex;\n if (offset !== 0) {\n history.go(offset);\n }\n else {\n history.replaceState(history.state, document.title, stored.stack[targetIndex]);\n window.dispatchEvent(new PopStateEvent('popstate'));\n }\n };\n const scheduleRestore = () => {\n if (!featureActive || restoreScheduled) {\n return;\n }\n restoreScheduled = true;\n runWhenReady(() => {\n restoreScheduled = false;\n restoreHistory();\n });\n };\n let originalPushState = null;\n let originalReplaceState = null;\n const popstateHandler = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize();\n if (!normalized) {\n return;\n }\n const stored = readStored();\n const idx = stored.stack.lastIndexOf(normalized);\n if (idx >= 0) {\n stored.index = idx;\n }\n else {\n stored.stack.push(normalized);\n stored.index = stored.stack.length - 1;\n }\n const trimmed = trimStack(stored.stack, stored.index);\n writeStored(trimmed.stack, trimmed.index);\n };\n const patchHistory = () => {\n if (originalPushState && originalReplaceState) {\n return;\n }\n originalPushState = history.pushState;\n originalReplaceState = history.replaceState;\n history.pushState = function pushStatePatched(state, title, url) {\n const result = originalPushState === null || originalPushState === void 0 ? void 0 : originalPushState.call(history, state, title, url);\n record(url, false);\n return result;\n };\n history.replaceState = function replaceStatePatched(state, title, url) {\n const result = originalReplaceState === null || originalReplaceState === void 0 ? void 0 : originalReplaceState.call(history, state, title, url);\n record(url, true);\n return result;\n };\n window.addEventListener('popstate', popstateHandler);\n };\n const unpatchHistory = () => {\n if (originalPushState) {\n history.pushState = originalPushState;\n originalPushState = null;\n }\n if (originalReplaceState) {\n history.replaceState = originalReplaceState;\n originalReplaceState = null;\n }\n window.removeEventListener('popstate', popstateHandler);\n };\n const setFeatureActive = (enabled) => {\n if (featureActive === enabled) {\n if (featureActive) {\n ensureCurrentTracked();\n scheduleRestore();\n }\n return;\n }\n featureActive = enabled;\n if (featureActive) {\n patchHistory();\n ensureCurrentTracked();\n scheduleRestore();\n }\n else {\n unpatchHistory();\n clearStored();\n }\n };\n window.addEventListener('CapacitorUpdaterKeepUrlPathAfterReload', (event) => {\n var _a;\n const evt = event;\n const enabled = (_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.enabled;\n if (typeof enabled === 'boolean') {\n win.__capgoKeepUrlPathAfterReload = enabled;\n setFeatureActive(enabled);\n }\n else {\n win.__capgoKeepUrlPathAfterReload = true;\n setFeatureActive(true);\n }\n });\n setFeatureActive(isFeatureConfigured());\n }\n}\nexport {};\n//# sourceMappingURL=history.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\n/**\n * Update availability status.\n *\n * @since 8.0.0\n */\nexport var AppUpdateAvailability;\n(function (AppUpdateAvailability) {\n /**\n * Update availability is unknown.\n * This typically means the check hasn't completed or failed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * No update is available.\n * The installed version is the latest.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_NOT_AVAILABLE\"] = 1] = \"UPDATE_NOT_AVAILABLE\";\n /**\n * An update is available for download.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_AVAILABLE\"] = 2] = \"UPDATE_AVAILABLE\";\n /**\n * An update is currently being downloaded or installed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_IN_PROGRESS\"] = 3] = \"UPDATE_IN_PROGRESS\";\n})(AppUpdateAvailability || (AppUpdateAvailability = {}));\n/**\n * Installation status for flexible updates (Android only).\n *\n * @since 8.0.0\n */\nexport var FlexibleUpdateInstallStatus;\n(function (FlexibleUpdateInstallStatus) {\n /**\n * Unknown install status.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * Download is pending and will start soon.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"PENDING\"] = 1] = \"PENDING\";\n /**\n * Download is in progress.\n * Check `bytesDownloaded` and `totalBytesToDownload` for progress.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADING\"] = 2] = \"DOWNLOADING\";\n /**\n * The update is being installed.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLING\"] = 3] = \"INSTALLING\";\n /**\n * The update has been installed.\n * The app needs to be restarted to use the new version.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLED\"] = 4] = \"INSTALLED\";\n /**\n * The update failed to download or install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"FAILED\"] = 5] = \"FAILED\";\n /**\n * The update was canceled by the user.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"CANCELED\"] = 6] = \"CANCELED\";\n /**\n * The update has been downloaded and is ready to install.\n * Call {@link CapacitorUpdaterPlugin.completeFlexibleUpdate} to install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADED\"] = 11] = \"DOWNLOADED\";\n})(FlexibleUpdateInstallStatus || (FlexibleUpdateInstallStatus = {}));\n/**\n * Result codes for app update operations.\n *\n * @since 8.0.0\n */\nexport var AppUpdateResultCode;\n(function (AppUpdateResultCode) {\n /**\n * The update completed successfully.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"OK\"] = 0] = \"OK\";\n /**\n * The user canceled the update.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"CANCELED\"] = 1] = \"CANCELED\";\n /**\n * The update failed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"FAILED\"] = 2] = \"FAILED\";\n /**\n * No update is available.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_AVAILABLE\"] = 3] = \"NOT_AVAILABLE\";\n /**\n * The requested update type is not allowed.\n * For example, trying to perform an immediate update when only flexible is allowed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_ALLOWED\"] = 4] = \"NOT_ALLOWED\";\n /**\n * Required information is missing.\n * This can happen if {@link CapacitorUpdaterPlugin.getAppUpdateInfo} wasn't called first.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"INFO_MISSING\"] = 5] = \"INFO_MISSING\";\n})(AppUpdateResultCode || (AppUpdateResultCode = {}));\n//# sourceMappingURL=definitions.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { registerPlugin } from '@capacitor/core';\nimport './history';\nconst CapacitorUpdater = registerPlugin('CapacitorUpdater', {\n web: () => import('./web').then((m) => new m.CapacitorUpdaterWeb()),\n});\nexport * from './definitions';\nexport { CapacitorUpdater };\n//# sourceMappingURL=index.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { WebPlugin } from '@capacitor/core';\nimport { AppUpdateAvailability } from './definitions';\nconst BUNDLE_BUILTIN = {\n status: 'success',\n version: '',\n downloaded: '1970-01-01T00:00:00.000Z',\n id: 'builtin',\n checksum: '',\n};\nexport class CapacitorUpdaterWeb extends WebPlugin {\n async setStatsUrl(options) {\n console.warn('Cannot setStatsUrl in web', options);\n return;\n }\n async setUpdateUrl(options) {\n console.warn('Cannot setUpdateUrl in web', options);\n return;\n }\n async setChannelUrl(options) {\n console.warn('Cannot setChannelUrl in web', options);\n return;\n }\n async download(options) {\n console.warn('Cannot download version in web', options);\n return BUNDLE_BUILTIN;\n }\n async next(options) {\n console.warn('Cannot set next version in web', options);\n return BUNDLE_BUILTIN;\n }\n async isAutoUpdateEnabled() {\n console.warn('Cannot get isAutoUpdateEnabled in web');\n return { enabled: false };\n }\n async set(options) {\n console.warn('Cannot set active bundle in web', options);\n return;\n }\n async getDeviceId() {\n console.warn('Cannot get ID in web');\n return { deviceId: 'default' };\n }\n async getBuiltinVersion() {\n console.warn('Cannot get version in web');\n return { version: 'default' };\n }\n async getPluginVersion() {\n console.warn('Cannot get plugin version in web');\n return { version: 'default' };\n }\n async delete(options) {\n console.warn('Cannot delete bundle in web', options);\n }\n async setBundleError(options) {\n console.warn('Cannot setBundleError in web', options);\n return BUNDLE_BUILTIN;\n }\n async list() {\n console.warn('Cannot list bundles in web');\n return { bundles: [] };\n }\n async reset(options) {\n console.warn('Cannot reset version in web', options);\n }\n async current() {\n console.warn('Cannot get current bundle in web');\n return { bundle: BUNDLE_BUILTIN, native: '0.0.0' };\n }\n async reload() {\n console.warn('Cannot reload current bundle in web');\n return;\n }\n async getLatest() {\n console.warn('Cannot getLatest current bundle in web');\n return {\n version: '0.0.0',\n message: 'Cannot getLatest current bundle in web',\n };\n }\n async setChannel(options) {\n console.warn('Cannot setChannel in web', options);\n return {\n status: 'error',\n error: 'Cannot setChannel in web',\n };\n }\n async unsetChannel(options) {\n console.warn('Cannot unsetChannel in web', options);\n return;\n }\n async setCustomId(options) {\n console.warn('Cannot setCustomId in web', options);\n return;\n }\n async getChannel() {\n console.warn('Cannot getChannel in web');\n return {\n status: 'error',\n error: 'Cannot getChannel in web',\n };\n }\n async listChannels() {\n console.warn('Cannot listChannels in web');\n throw {\n message: 'Cannot listChannels in web',\n error: 'platform_not_supported',\n };\n }\n async notifyAppReady() {\n return { bundle: BUNDLE_BUILTIN };\n }\n async setMultiDelay(options) {\n console.warn('Cannot setMultiDelay in web', options === null || options === void 0 ? void 0 : options.delayConditions);\n return;\n }\n async setDelay(option) {\n console.warn('Cannot setDelay in web', option);\n return;\n }\n async cancelDelay() {\n console.warn('Cannot cancelDelay in web');\n return;\n }\n async isAutoUpdateAvailable() {\n console.warn('Cannot isAutoUpdateAvailable in web');\n return { available: false };\n }\n async getCurrentBundle() {\n console.warn('Cannot get current bundle in web');\n return BUNDLE_BUILTIN;\n }\n async getNextBundle() {\n return Promise.resolve(null);\n }\n async getFailedUpdate() {\n console.warn('Cannot getFailedUpdate in web');\n return null;\n }\n async setShakeMenu(_options) {\n throw this.unimplemented('Shake menu not available on web platform');\n }\n async isShakeMenuEnabled() {\n return Promise.resolve({ enabled: false });\n }\n async setShakeChannelSelector(_options) {\n throw this.unimplemented('Shake channel selector not available on web platform');\n }\n async isShakeChannelSelectorEnabled() {\n return Promise.resolve({ enabled: false });\n }\n async getAppId() {\n console.warn('Cannot getAppId in web');\n return { appId: 'default' };\n }\n async setAppId(options) {\n console.warn('Cannot setAppId in web', options);\n return;\n }\n // ============================================================================\n // App Store / Play Store Update Methods (Web stubs)\n // ============================================================================\n async getAppUpdateInfo(_options) {\n console.warn('getAppUpdateInfo is not available on web platform');\n return {\n currentVersionName: '0.0.0',\n currentVersionCode: '0',\n updateAvailability: AppUpdateAvailability.UNKNOWN,\n };\n }\n async openAppStore(_options) {\n throw this.unimplemented('openAppStore is not available on web platform');\n }\n async performImmediateUpdate() {\n throw this.unimplemented('performImmediateUpdate is only available on Android');\n }\n async startFlexibleUpdate() {\n throw this.unimplemented('startFlexibleUpdate is only available on Android');\n }\n async completeFlexibleUpdate() {\n throw this.unimplemented('completeFlexibleUpdate is only available on Android');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["AppUpdateAvailability","FlexibleUpdateInstallStatus","AppUpdateResultCode","registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -548,6 +548,12 @@ var capacitorCapacitorUpdater = (function (exports, core) {
|
|
|
548
548
|
async isShakeMenuEnabled() {
|
|
549
549
|
return Promise.resolve({ enabled: false });
|
|
550
550
|
}
|
|
551
|
+
async setShakeChannelSelector(_options) {
|
|
552
|
+
throw this.unimplemented('Shake channel selector not available on web platform');
|
|
553
|
+
}
|
|
554
|
+
async isShakeChannelSelectorEnabled() {
|
|
555
|
+
return Promise.resolve({ enabled: false });
|
|
556
|
+
}
|
|
551
557
|
async getAppId() {
|
|
552
558
|
console.warn('Cannot getAppId in web');
|
|
553
559
|
return { appId: 'default' };
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/history.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["/*\n * Maintains navigation history across Capgo-controlled reloads when keepUrlPathAfterReload is enabled.\n */\nconst KEEP_FLAG_KEY = '__capgo_keep_url_path_after_reload';\nconst HISTORY_STORAGE_KEY = '__capgo_history_stack__';\nconst MAX_STACK_ENTRIES = 100;\nconst isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof history !== 'undefined';\nif (isBrowser) {\n const win = window;\n if (!win.__capgoHistoryPatched) {\n win.__capgoHistoryPatched = true;\n const isFeatureConfigured = () => {\n try {\n if (win.__capgoKeepUrlPathAfterReload) {\n return true;\n }\n }\n catch (err) {\n // ignore access issues\n }\n try {\n return window.localStorage.getItem(KEEP_FLAG_KEY) === '1';\n }\n catch (err) {\n return false;\n }\n };\n const readStored = () => {\n try {\n const raw = window.sessionStorage.getItem(HISTORY_STORAGE_KEY);\n if (!raw) {\n return { stack: [], index: -1 };\n }\n const parsed = JSON.parse(raw);\n if (!parsed || !Array.isArray(parsed.stack) || typeof parsed.index !== 'number') {\n return { stack: [], index: -1 };\n }\n return parsed;\n }\n catch (err) {\n return { stack: [], index: -1 };\n }\n };\n const writeStored = (stack, index) => {\n try {\n window.sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify({ stack, index }));\n }\n catch (err) {\n // Storage might be unavailable; fail silently.\n }\n };\n const clearStored = () => {\n try {\n window.sessionStorage.removeItem(HISTORY_STORAGE_KEY);\n }\n catch (err) {\n // ignore\n }\n };\n const normalize = (url) => {\n try {\n const base = url !== null && url !== void 0 ? url : window.location.href;\n const parsed = new URL(base instanceof URL ? base.toString() : base, window.location.href);\n return `${parsed.pathname}${parsed.search}${parsed.hash}`;\n }\n catch (err) {\n return null;\n }\n };\n const trimStack = (stack, index) => {\n if (stack.length <= MAX_STACK_ENTRIES) {\n return { stack, index };\n }\n const start = stack.length - MAX_STACK_ENTRIES;\n const trimmed = stack.slice(start);\n const adjustedIndex = Math.max(0, index - start);\n return { stack: trimmed, index: adjustedIndex };\n };\n const runWhenReady = (fn) => {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n fn();\n }\n else {\n window.addEventListener('DOMContentLoaded', fn, { once: true });\n }\n };\n let featureActive = false;\n let isRestoring = false;\n let restoreScheduled = false;\n const ensureCurrentTracked = () => {\n if (!featureActive) {\n return;\n }\n const stored = readStored();\n const current = normalize();\n if (!current) {\n return;\n }\n if (stored.stack.length === 0) {\n stored.stack.push(current);\n stored.index = 0;\n writeStored(stored.stack, stored.index);\n return;\n }\n if (stored.index < 0 || stored.index >= stored.stack.length) {\n stored.index = stored.stack.length - 1;\n }\n if (stored.stack[stored.index] !== current) {\n stored.stack[stored.index] = current;\n writeStored(stored.stack, stored.index);\n }\n };\n const record = (url, replace) => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize(url);\n if (!normalized) {\n return;\n }\n let { stack, index } = readStored();\n if (stack.length === 0) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else if (replace) {\n if (index < 0 || index >= stack.length) {\n index = stack.length - 1;\n }\n stack[index] = normalized;\n }\n else {\n if (index >= stack.length - 1) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else {\n stack = stack.slice(0, index + 1);\n stack.push(normalized);\n index = stack.length - 1;\n }\n }\n ({ stack, index } = trimStack(stack, index));\n writeStored(stack, index);\n };\n const restoreHistory = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const stored = readStored();\n if (stored.stack.length === 0) {\n ensureCurrentTracked();\n return;\n }\n const targetIndex = stored.index >= 0 && stored.index < stored.stack.length ? stored.index : stored.stack.length - 1;\n const normalizedCurrent = normalize();\n if (stored.stack.length === 1 && normalizedCurrent === stored.stack[0]) {\n return;\n }\n const firstEntry = stored.stack[0];\n if (!firstEntry) {\n return;\n }\n isRestoring = true;\n try {\n history.replaceState(history.state, document.title, firstEntry);\n for (let i = 1; i < stored.stack.length; i += 1) {\n history.pushState(history.state, document.title, stored.stack[i]);\n }\n }\n catch (err) {\n isRestoring = false;\n return;\n }\n isRestoring = false;\n const currentIndex = stored.stack.length - 1;\n const offset = targetIndex - currentIndex;\n if (offset !== 0) {\n history.go(offset);\n }\n else {\n history.replaceState(history.state, document.title, stored.stack[targetIndex]);\n window.dispatchEvent(new PopStateEvent('popstate'));\n }\n };\n const scheduleRestore = () => {\n if (!featureActive || restoreScheduled) {\n return;\n }\n restoreScheduled = true;\n runWhenReady(() => {\n restoreScheduled = false;\n restoreHistory();\n });\n };\n let originalPushState = null;\n let originalReplaceState = null;\n const popstateHandler = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize();\n if (!normalized) {\n return;\n }\n const stored = readStored();\n const idx = stored.stack.lastIndexOf(normalized);\n if (idx >= 0) {\n stored.index = idx;\n }\n else {\n stored.stack.push(normalized);\n stored.index = stored.stack.length - 1;\n }\n const trimmed = trimStack(stored.stack, stored.index);\n writeStored(trimmed.stack, trimmed.index);\n };\n const patchHistory = () => {\n if (originalPushState && originalReplaceState) {\n return;\n }\n originalPushState = history.pushState;\n originalReplaceState = history.replaceState;\n history.pushState = function pushStatePatched(state, title, url) {\n const result = originalPushState === null || originalPushState === void 0 ? void 0 : originalPushState.call(history, state, title, url);\n record(url, false);\n return result;\n };\n history.replaceState = function replaceStatePatched(state, title, url) {\n const result = originalReplaceState === null || originalReplaceState === void 0 ? void 0 : originalReplaceState.call(history, state, title, url);\n record(url, true);\n return result;\n };\n window.addEventListener('popstate', popstateHandler);\n };\n const unpatchHistory = () => {\n if (originalPushState) {\n history.pushState = originalPushState;\n originalPushState = null;\n }\n if (originalReplaceState) {\n history.replaceState = originalReplaceState;\n originalReplaceState = null;\n }\n window.removeEventListener('popstate', popstateHandler);\n };\n const setFeatureActive = (enabled) => {\n if (featureActive === enabled) {\n if (featureActive) {\n ensureCurrentTracked();\n scheduleRestore();\n }\n return;\n }\n featureActive = enabled;\n if (featureActive) {\n patchHistory();\n ensureCurrentTracked();\n scheduleRestore();\n }\n else {\n unpatchHistory();\n clearStored();\n }\n };\n window.addEventListener('CapacitorUpdaterKeepUrlPathAfterReload', (event) => {\n var _a;\n const evt = event;\n const enabled = (_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.enabled;\n if (typeof enabled === 'boolean') {\n win.__capgoKeepUrlPathAfterReload = enabled;\n setFeatureActive(enabled);\n }\n else {\n win.__capgoKeepUrlPathAfterReload = true;\n setFeatureActive(true);\n }\n });\n setFeatureActive(isFeatureConfigured());\n }\n}\nexport {};\n//# sourceMappingURL=history.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\n/**\n * Update availability status.\n *\n * @since 8.0.0\n */\nexport var AppUpdateAvailability;\n(function (AppUpdateAvailability) {\n /**\n * Update availability is unknown.\n * This typically means the check hasn't completed or failed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * No update is available.\n * The installed version is the latest.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_NOT_AVAILABLE\"] = 1] = \"UPDATE_NOT_AVAILABLE\";\n /**\n * An update is available for download.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_AVAILABLE\"] = 2] = \"UPDATE_AVAILABLE\";\n /**\n * An update is currently being downloaded or installed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_IN_PROGRESS\"] = 3] = \"UPDATE_IN_PROGRESS\";\n})(AppUpdateAvailability || (AppUpdateAvailability = {}));\n/**\n * Installation status for flexible updates (Android only).\n *\n * @since 8.0.0\n */\nexport var FlexibleUpdateInstallStatus;\n(function (FlexibleUpdateInstallStatus) {\n /**\n * Unknown install status.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * Download is pending and will start soon.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"PENDING\"] = 1] = \"PENDING\";\n /**\n * Download is in progress.\n * Check `bytesDownloaded` and `totalBytesToDownload` for progress.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADING\"] = 2] = \"DOWNLOADING\";\n /**\n * The update is being installed.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLING\"] = 3] = \"INSTALLING\";\n /**\n * The update has been installed.\n * The app needs to be restarted to use the new version.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLED\"] = 4] = \"INSTALLED\";\n /**\n * The update failed to download or install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"FAILED\"] = 5] = \"FAILED\";\n /**\n * The update was canceled by the user.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"CANCELED\"] = 6] = \"CANCELED\";\n /**\n * The update has been downloaded and is ready to install.\n * Call {@link CapacitorUpdaterPlugin.completeFlexibleUpdate} to install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADED\"] = 11] = \"DOWNLOADED\";\n})(FlexibleUpdateInstallStatus || (FlexibleUpdateInstallStatus = {}));\n/**\n * Result codes for app update operations.\n *\n * @since 8.0.0\n */\nexport var AppUpdateResultCode;\n(function (AppUpdateResultCode) {\n /**\n * The update completed successfully.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"OK\"] = 0] = \"OK\";\n /**\n * The user canceled the update.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"CANCELED\"] = 1] = \"CANCELED\";\n /**\n * The update failed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"FAILED\"] = 2] = \"FAILED\";\n /**\n * No update is available.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_AVAILABLE\"] = 3] = \"NOT_AVAILABLE\";\n /**\n * The requested update type is not allowed.\n * For example, trying to perform an immediate update when only flexible is allowed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_ALLOWED\"] = 4] = \"NOT_ALLOWED\";\n /**\n * Required information is missing.\n * This can happen if {@link CapacitorUpdaterPlugin.getAppUpdateInfo} wasn't called first.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"INFO_MISSING\"] = 5] = \"INFO_MISSING\";\n})(AppUpdateResultCode || (AppUpdateResultCode = {}));\n//# sourceMappingURL=definitions.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { registerPlugin } from '@capacitor/core';\nimport './history';\nconst CapacitorUpdater = registerPlugin('CapacitorUpdater', {\n web: () => import('./web').then((m) => new m.CapacitorUpdaterWeb()),\n});\nexport * from './definitions';\nexport { CapacitorUpdater };\n//# sourceMappingURL=index.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { WebPlugin } from '@capacitor/core';\nimport { AppUpdateAvailability } from './definitions';\nconst BUNDLE_BUILTIN = {\n status: 'success',\n version: '',\n downloaded: '1970-01-01T00:00:00.000Z',\n id: 'builtin',\n checksum: '',\n};\nexport class CapacitorUpdaterWeb extends WebPlugin {\n async setStatsUrl(options) {\n console.warn('Cannot setStatsUrl in web', options);\n return;\n }\n async setUpdateUrl(options) {\n console.warn('Cannot setUpdateUrl in web', options);\n return;\n }\n async setChannelUrl(options) {\n console.warn('Cannot setChannelUrl in web', options);\n return;\n }\n async download(options) {\n console.warn('Cannot download version in web', options);\n return BUNDLE_BUILTIN;\n }\n async next(options) {\n console.warn('Cannot set next version in web', options);\n return BUNDLE_BUILTIN;\n }\n async isAutoUpdateEnabled() {\n console.warn('Cannot get isAutoUpdateEnabled in web');\n return { enabled: false };\n }\n async set(options) {\n console.warn('Cannot set active bundle in web', options);\n return;\n }\n async getDeviceId() {\n console.warn('Cannot get ID in web');\n return { deviceId: 'default' };\n }\n async getBuiltinVersion() {\n console.warn('Cannot get version in web');\n return { version: 'default' };\n }\n async getPluginVersion() {\n console.warn('Cannot get plugin version in web');\n return { version: 'default' };\n }\n async delete(options) {\n console.warn('Cannot delete bundle in web', options);\n }\n async setBundleError(options) {\n console.warn('Cannot setBundleError in web', options);\n return BUNDLE_BUILTIN;\n }\n async list() {\n console.warn('Cannot list bundles in web');\n return { bundles: [] };\n }\n async reset(options) {\n console.warn('Cannot reset version in web', options);\n }\n async current() {\n console.warn('Cannot get current bundle in web');\n return { bundle: BUNDLE_BUILTIN, native: '0.0.0' };\n }\n async reload() {\n console.warn('Cannot reload current bundle in web');\n return;\n }\n async getLatest() {\n console.warn('Cannot getLatest current bundle in web');\n return {\n version: '0.0.0',\n message: 'Cannot getLatest current bundle in web',\n };\n }\n async setChannel(options) {\n console.warn('Cannot setChannel in web', options);\n return {\n status: 'error',\n error: 'Cannot setChannel in web',\n };\n }\n async unsetChannel(options) {\n console.warn('Cannot unsetChannel in web', options);\n return;\n }\n async setCustomId(options) {\n console.warn('Cannot setCustomId in web', options);\n return;\n }\n async getChannel() {\n console.warn('Cannot getChannel in web');\n return {\n status: 'error',\n error: 'Cannot getChannel in web',\n };\n }\n async listChannels() {\n console.warn('Cannot listChannels in web');\n throw {\n message: 'Cannot listChannels in web',\n error: 'platform_not_supported',\n };\n }\n async notifyAppReady() {\n return { bundle: BUNDLE_BUILTIN };\n }\n async setMultiDelay(options) {\n console.warn('Cannot setMultiDelay in web', options === null || options === void 0 ? void 0 : options.delayConditions);\n return;\n }\n async setDelay(option) {\n console.warn('Cannot setDelay in web', option);\n return;\n }\n async cancelDelay() {\n console.warn('Cannot cancelDelay in web');\n return;\n }\n async isAutoUpdateAvailable() {\n console.warn('Cannot isAutoUpdateAvailable in web');\n return { available: false };\n }\n async getCurrentBundle() {\n console.warn('Cannot get current bundle in web');\n return BUNDLE_BUILTIN;\n }\n async getNextBundle() {\n return Promise.resolve(null);\n }\n async getFailedUpdate() {\n console.warn('Cannot getFailedUpdate in web');\n return null;\n }\n async setShakeMenu(_options) {\n throw this.unimplemented('Shake menu not available on web platform');\n }\n async isShakeMenuEnabled() {\n return Promise.resolve({ enabled: false });\n }\n async getAppId() {\n console.warn('Cannot getAppId in web');\n return { appId: 'default' };\n }\n async setAppId(options) {\n console.warn('Cannot setAppId in web', options);\n return;\n }\n // ============================================================================\n // App Store / Play Store Update Methods (Web stubs)\n // ============================================================================\n async getAppUpdateInfo(_options) {\n console.warn('getAppUpdateInfo is not available on web platform');\n return {\n currentVersionName: '0.0.0',\n currentVersionCode: '0',\n updateAvailability: AppUpdateAvailability.UNKNOWN,\n };\n }\n async openAppStore(_options) {\n throw this.unimplemented('openAppStore is not available on web platform');\n }\n async performImmediateUpdate() {\n throw this.unimplemented('performImmediateUpdate is only available on Android');\n }\n async startFlexibleUpdate() {\n throw this.unimplemented('startFlexibleUpdate is only available on Android');\n }\n async completeFlexibleUpdate() {\n throw this.unimplemented('completeFlexibleUpdate is only available on Android');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["AppUpdateAvailability","FlexibleUpdateInstallStatus","AppUpdateResultCode","registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/history.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["/*\n * Maintains navigation history across Capgo-controlled reloads when keepUrlPathAfterReload is enabled.\n */\nconst KEEP_FLAG_KEY = '__capgo_keep_url_path_after_reload';\nconst HISTORY_STORAGE_KEY = '__capgo_history_stack__';\nconst MAX_STACK_ENTRIES = 100;\nconst isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof history !== 'undefined';\nif (isBrowser) {\n const win = window;\n if (!win.__capgoHistoryPatched) {\n win.__capgoHistoryPatched = true;\n const isFeatureConfigured = () => {\n try {\n if (win.__capgoKeepUrlPathAfterReload) {\n return true;\n }\n }\n catch (err) {\n // ignore access issues\n }\n try {\n return window.localStorage.getItem(KEEP_FLAG_KEY) === '1';\n }\n catch (err) {\n return false;\n }\n };\n const readStored = () => {\n try {\n const raw = window.sessionStorage.getItem(HISTORY_STORAGE_KEY);\n if (!raw) {\n return { stack: [], index: -1 };\n }\n const parsed = JSON.parse(raw);\n if (!parsed || !Array.isArray(parsed.stack) || typeof parsed.index !== 'number') {\n return { stack: [], index: -1 };\n }\n return parsed;\n }\n catch (err) {\n return { stack: [], index: -1 };\n }\n };\n const writeStored = (stack, index) => {\n try {\n window.sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify({ stack, index }));\n }\n catch (err) {\n // Storage might be unavailable; fail silently.\n }\n };\n const clearStored = () => {\n try {\n window.sessionStorage.removeItem(HISTORY_STORAGE_KEY);\n }\n catch (err) {\n // ignore\n }\n };\n const normalize = (url) => {\n try {\n const base = url !== null && url !== void 0 ? url : window.location.href;\n const parsed = new URL(base instanceof URL ? base.toString() : base, window.location.href);\n return `${parsed.pathname}${parsed.search}${parsed.hash}`;\n }\n catch (err) {\n return null;\n }\n };\n const trimStack = (stack, index) => {\n if (stack.length <= MAX_STACK_ENTRIES) {\n return { stack, index };\n }\n const start = stack.length - MAX_STACK_ENTRIES;\n const trimmed = stack.slice(start);\n const adjustedIndex = Math.max(0, index - start);\n return { stack: trimmed, index: adjustedIndex };\n };\n const runWhenReady = (fn) => {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n fn();\n }\n else {\n window.addEventListener('DOMContentLoaded', fn, { once: true });\n }\n };\n let featureActive = false;\n let isRestoring = false;\n let restoreScheduled = false;\n const ensureCurrentTracked = () => {\n if (!featureActive) {\n return;\n }\n const stored = readStored();\n const current = normalize();\n if (!current) {\n return;\n }\n if (stored.stack.length === 0) {\n stored.stack.push(current);\n stored.index = 0;\n writeStored(stored.stack, stored.index);\n return;\n }\n if (stored.index < 0 || stored.index >= stored.stack.length) {\n stored.index = stored.stack.length - 1;\n }\n if (stored.stack[stored.index] !== current) {\n stored.stack[stored.index] = current;\n writeStored(stored.stack, stored.index);\n }\n };\n const record = (url, replace) => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize(url);\n if (!normalized) {\n return;\n }\n let { stack, index } = readStored();\n if (stack.length === 0) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else if (replace) {\n if (index < 0 || index >= stack.length) {\n index = stack.length - 1;\n }\n stack[index] = normalized;\n }\n else {\n if (index >= stack.length - 1) {\n stack.push(normalized);\n index = stack.length - 1;\n }\n else {\n stack = stack.slice(0, index + 1);\n stack.push(normalized);\n index = stack.length - 1;\n }\n }\n ({ stack, index } = trimStack(stack, index));\n writeStored(stack, index);\n };\n const restoreHistory = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const stored = readStored();\n if (stored.stack.length === 0) {\n ensureCurrentTracked();\n return;\n }\n const targetIndex = stored.index >= 0 && stored.index < stored.stack.length ? stored.index : stored.stack.length - 1;\n const normalizedCurrent = normalize();\n if (stored.stack.length === 1 && normalizedCurrent === stored.stack[0]) {\n return;\n }\n const firstEntry = stored.stack[0];\n if (!firstEntry) {\n return;\n }\n isRestoring = true;\n try {\n history.replaceState(history.state, document.title, firstEntry);\n for (let i = 1; i < stored.stack.length; i += 1) {\n history.pushState(history.state, document.title, stored.stack[i]);\n }\n }\n catch (err) {\n isRestoring = false;\n return;\n }\n isRestoring = false;\n const currentIndex = stored.stack.length - 1;\n const offset = targetIndex - currentIndex;\n if (offset !== 0) {\n history.go(offset);\n }\n else {\n history.replaceState(history.state, document.title, stored.stack[targetIndex]);\n window.dispatchEvent(new PopStateEvent('popstate'));\n }\n };\n const scheduleRestore = () => {\n if (!featureActive || restoreScheduled) {\n return;\n }\n restoreScheduled = true;\n runWhenReady(() => {\n restoreScheduled = false;\n restoreHistory();\n });\n };\n let originalPushState = null;\n let originalReplaceState = null;\n const popstateHandler = () => {\n if (!featureActive || isRestoring) {\n return;\n }\n const normalized = normalize();\n if (!normalized) {\n return;\n }\n const stored = readStored();\n const idx = stored.stack.lastIndexOf(normalized);\n if (idx >= 0) {\n stored.index = idx;\n }\n else {\n stored.stack.push(normalized);\n stored.index = stored.stack.length - 1;\n }\n const trimmed = trimStack(stored.stack, stored.index);\n writeStored(trimmed.stack, trimmed.index);\n };\n const patchHistory = () => {\n if (originalPushState && originalReplaceState) {\n return;\n }\n originalPushState = history.pushState;\n originalReplaceState = history.replaceState;\n history.pushState = function pushStatePatched(state, title, url) {\n const result = originalPushState === null || originalPushState === void 0 ? void 0 : originalPushState.call(history, state, title, url);\n record(url, false);\n return result;\n };\n history.replaceState = function replaceStatePatched(state, title, url) {\n const result = originalReplaceState === null || originalReplaceState === void 0 ? void 0 : originalReplaceState.call(history, state, title, url);\n record(url, true);\n return result;\n };\n window.addEventListener('popstate', popstateHandler);\n };\n const unpatchHistory = () => {\n if (originalPushState) {\n history.pushState = originalPushState;\n originalPushState = null;\n }\n if (originalReplaceState) {\n history.replaceState = originalReplaceState;\n originalReplaceState = null;\n }\n window.removeEventListener('popstate', popstateHandler);\n };\n const setFeatureActive = (enabled) => {\n if (featureActive === enabled) {\n if (featureActive) {\n ensureCurrentTracked();\n scheduleRestore();\n }\n return;\n }\n featureActive = enabled;\n if (featureActive) {\n patchHistory();\n ensureCurrentTracked();\n scheduleRestore();\n }\n else {\n unpatchHistory();\n clearStored();\n }\n };\n window.addEventListener('CapacitorUpdaterKeepUrlPathAfterReload', (event) => {\n var _a;\n const evt = event;\n const enabled = (_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.enabled;\n if (typeof enabled === 'boolean') {\n win.__capgoKeepUrlPathAfterReload = enabled;\n setFeatureActive(enabled);\n }\n else {\n win.__capgoKeepUrlPathAfterReload = true;\n setFeatureActive(true);\n }\n });\n setFeatureActive(isFeatureConfigured());\n }\n}\nexport {};\n//# sourceMappingURL=history.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\n/**\n * Update availability status.\n *\n * @since 8.0.0\n */\nexport var AppUpdateAvailability;\n(function (AppUpdateAvailability) {\n /**\n * Update availability is unknown.\n * This typically means the check hasn't completed or failed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * No update is available.\n * The installed version is the latest.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_NOT_AVAILABLE\"] = 1] = \"UPDATE_NOT_AVAILABLE\";\n /**\n * An update is available for download.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_AVAILABLE\"] = 2] = \"UPDATE_AVAILABLE\";\n /**\n * An update is currently being downloaded or installed.\n */\n AppUpdateAvailability[AppUpdateAvailability[\"UPDATE_IN_PROGRESS\"] = 3] = \"UPDATE_IN_PROGRESS\";\n})(AppUpdateAvailability || (AppUpdateAvailability = {}));\n/**\n * Installation status for flexible updates (Android only).\n *\n * @since 8.0.0\n */\nexport var FlexibleUpdateInstallStatus;\n(function (FlexibleUpdateInstallStatus) {\n /**\n * Unknown install status.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n /**\n * Download is pending and will start soon.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"PENDING\"] = 1] = \"PENDING\";\n /**\n * Download is in progress.\n * Check `bytesDownloaded` and `totalBytesToDownload` for progress.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADING\"] = 2] = \"DOWNLOADING\";\n /**\n * The update is being installed.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLING\"] = 3] = \"INSTALLING\";\n /**\n * The update has been installed.\n * The app needs to be restarted to use the new version.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"INSTALLED\"] = 4] = \"INSTALLED\";\n /**\n * The update failed to download or install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"FAILED\"] = 5] = \"FAILED\";\n /**\n * The update was canceled by the user.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"CANCELED\"] = 6] = \"CANCELED\";\n /**\n * The update has been downloaded and is ready to install.\n * Call {@link CapacitorUpdaterPlugin.completeFlexibleUpdate} to install.\n */\n FlexibleUpdateInstallStatus[FlexibleUpdateInstallStatus[\"DOWNLOADED\"] = 11] = \"DOWNLOADED\";\n})(FlexibleUpdateInstallStatus || (FlexibleUpdateInstallStatus = {}));\n/**\n * Result codes for app update operations.\n *\n * @since 8.0.0\n */\nexport var AppUpdateResultCode;\n(function (AppUpdateResultCode) {\n /**\n * The update completed successfully.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"OK\"] = 0] = \"OK\";\n /**\n * The user canceled the update.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"CANCELED\"] = 1] = \"CANCELED\";\n /**\n * The update failed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"FAILED\"] = 2] = \"FAILED\";\n /**\n * No update is available.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_AVAILABLE\"] = 3] = \"NOT_AVAILABLE\";\n /**\n * The requested update type is not allowed.\n * For example, trying to perform an immediate update when only flexible is allowed.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"NOT_ALLOWED\"] = 4] = \"NOT_ALLOWED\";\n /**\n * Required information is missing.\n * This can happen if {@link CapacitorUpdaterPlugin.getAppUpdateInfo} wasn't called first.\n */\n AppUpdateResultCode[AppUpdateResultCode[\"INFO_MISSING\"] = 5] = \"INFO_MISSING\";\n})(AppUpdateResultCode || (AppUpdateResultCode = {}));\n//# sourceMappingURL=definitions.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { registerPlugin } from '@capacitor/core';\nimport './history';\nconst CapacitorUpdater = registerPlugin('CapacitorUpdater', {\n web: () => import('./web').then((m) => new m.CapacitorUpdaterWeb()),\n});\nexport * from './definitions';\nexport { CapacitorUpdater };\n//# sourceMappingURL=index.js.map","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at https://mozilla.org/MPL/2.0/.\n */\nimport { WebPlugin } from '@capacitor/core';\nimport { AppUpdateAvailability } from './definitions';\nconst BUNDLE_BUILTIN = {\n status: 'success',\n version: '',\n downloaded: '1970-01-01T00:00:00.000Z',\n id: 'builtin',\n checksum: '',\n};\nexport class CapacitorUpdaterWeb extends WebPlugin {\n async setStatsUrl(options) {\n console.warn('Cannot setStatsUrl in web', options);\n return;\n }\n async setUpdateUrl(options) {\n console.warn('Cannot setUpdateUrl in web', options);\n return;\n }\n async setChannelUrl(options) {\n console.warn('Cannot setChannelUrl in web', options);\n return;\n }\n async download(options) {\n console.warn('Cannot download version in web', options);\n return BUNDLE_BUILTIN;\n }\n async next(options) {\n console.warn('Cannot set next version in web', options);\n return BUNDLE_BUILTIN;\n }\n async isAutoUpdateEnabled() {\n console.warn('Cannot get isAutoUpdateEnabled in web');\n return { enabled: false };\n }\n async set(options) {\n console.warn('Cannot set active bundle in web', options);\n return;\n }\n async getDeviceId() {\n console.warn('Cannot get ID in web');\n return { deviceId: 'default' };\n }\n async getBuiltinVersion() {\n console.warn('Cannot get version in web');\n return { version: 'default' };\n }\n async getPluginVersion() {\n console.warn('Cannot get plugin version in web');\n return { version: 'default' };\n }\n async delete(options) {\n console.warn('Cannot delete bundle in web', options);\n }\n async setBundleError(options) {\n console.warn('Cannot setBundleError in web', options);\n return BUNDLE_BUILTIN;\n }\n async list() {\n console.warn('Cannot list bundles in web');\n return { bundles: [] };\n }\n async reset(options) {\n console.warn('Cannot reset version in web', options);\n }\n async current() {\n console.warn('Cannot get current bundle in web');\n return { bundle: BUNDLE_BUILTIN, native: '0.0.0' };\n }\n async reload() {\n console.warn('Cannot reload current bundle in web');\n return;\n }\n async getLatest() {\n console.warn('Cannot getLatest current bundle in web');\n return {\n version: '0.0.0',\n message: 'Cannot getLatest current bundle in web',\n };\n }\n async setChannel(options) {\n console.warn('Cannot setChannel in web', options);\n return {\n status: 'error',\n error: 'Cannot setChannel in web',\n };\n }\n async unsetChannel(options) {\n console.warn('Cannot unsetChannel in web', options);\n return;\n }\n async setCustomId(options) {\n console.warn('Cannot setCustomId in web', options);\n return;\n }\n async getChannel() {\n console.warn('Cannot getChannel in web');\n return {\n status: 'error',\n error: 'Cannot getChannel in web',\n };\n }\n async listChannels() {\n console.warn('Cannot listChannels in web');\n throw {\n message: 'Cannot listChannels in web',\n error: 'platform_not_supported',\n };\n }\n async notifyAppReady() {\n return { bundle: BUNDLE_BUILTIN };\n }\n async setMultiDelay(options) {\n console.warn('Cannot setMultiDelay in web', options === null || options === void 0 ? void 0 : options.delayConditions);\n return;\n }\n async setDelay(option) {\n console.warn('Cannot setDelay in web', option);\n return;\n }\n async cancelDelay() {\n console.warn('Cannot cancelDelay in web');\n return;\n }\n async isAutoUpdateAvailable() {\n console.warn('Cannot isAutoUpdateAvailable in web');\n return { available: false };\n }\n async getCurrentBundle() {\n console.warn('Cannot get current bundle in web');\n return BUNDLE_BUILTIN;\n }\n async getNextBundle() {\n return Promise.resolve(null);\n }\n async getFailedUpdate() {\n console.warn('Cannot getFailedUpdate in web');\n return null;\n }\n async setShakeMenu(_options) {\n throw this.unimplemented('Shake menu not available on web platform');\n }\n async isShakeMenuEnabled() {\n return Promise.resolve({ enabled: false });\n }\n async setShakeChannelSelector(_options) {\n throw this.unimplemented('Shake channel selector not available on web platform');\n }\n async isShakeChannelSelectorEnabled() {\n return Promise.resolve({ enabled: false });\n }\n async getAppId() {\n console.warn('Cannot getAppId in web');\n return { appId: 'default' };\n }\n async setAppId(options) {\n console.warn('Cannot setAppId in web', options);\n return;\n }\n // ============================================================================\n // App Store / Play Store Update Methods (Web stubs)\n // ============================================================================\n async getAppUpdateInfo(_options) {\n console.warn('getAppUpdateInfo is not available on web platform');\n return {\n currentVersionName: '0.0.0',\n currentVersionCode: '0',\n updateAvailability: AppUpdateAvailability.UNKNOWN,\n };\n }\n async openAppStore(_options) {\n throw this.unimplemented('openAppStore is not available on web platform');\n }\n async performImmediateUpdate() {\n throw this.unimplemented('performImmediateUpdate is only available on Android');\n }\n async startFlexibleUpdate() {\n throw this.unimplemented('startFlexibleUpdate is only available on Android');\n }\n async completeFlexibleUpdate() {\n throw this.unimplemented('completeFlexibleUpdate is only available on Android');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["AppUpdateAvailability","FlexibleUpdateInstallStatus","AppUpdateResultCode","registerPlugin","WebPlugin"],"mappings":"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"}
|
|
@@ -63,6 +63,8 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
63
63
|
CAPPluginMethod(name: "getFailedUpdate", returnType: CAPPluginReturnPromise),
|
|
64
64
|
CAPPluginMethod(name: "setShakeMenu", returnType: CAPPluginReturnPromise),
|
|
65
65
|
CAPPluginMethod(name: "isShakeMenuEnabled", returnType: CAPPluginReturnPromise),
|
|
66
|
+
CAPPluginMethod(name: "setShakeChannelSelector", returnType: CAPPluginReturnPromise),
|
|
67
|
+
CAPPluginMethod(name: "isShakeChannelSelectorEnabled", returnType: CAPPluginReturnPromise),
|
|
66
68
|
// App Store update methods
|
|
67
69
|
CAPPluginMethod(name: "getAppUpdateInfo", returnType: CAPPluginReturnPromise),
|
|
68
70
|
CAPPluginMethod(name: "openAppStore", returnType: CAPPluginReturnPromise),
|
|
@@ -71,7 +73,7 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
71
73
|
CAPPluginMethod(name: "completeFlexibleUpdate", returnType: CAPPluginReturnPromise)
|
|
72
74
|
]
|
|
73
75
|
public var implementation = CapgoUpdater()
|
|
74
|
-
private let pluginVersion: String = "7.
|
|
76
|
+
private let pluginVersion: String = "7.43.3"
|
|
75
77
|
static let updateUrlDefault = "https://plugin.capgo.app/updates"
|
|
76
78
|
static let statsUrlDefault = "https://plugin.capgo.app/stats"
|
|
77
79
|
static let channelUrlDefault = "https://plugin.capgo.app/channel_self"
|
|
@@ -104,11 +106,15 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
104
106
|
private var autoSplashscreenTimedOut = false
|
|
105
107
|
private var autoDeleteFailed = false
|
|
106
108
|
private var autoDeletePrevious = false
|
|
107
|
-
|
|
109
|
+
var allowSetDefaultChannel = true
|
|
108
110
|
private var keepUrlPathAfterReload = false
|
|
109
111
|
private var backgroundWork: DispatchWorkItem?
|
|
110
112
|
private var taskRunning = false
|
|
111
113
|
private var periodCheckDelay = 0
|
|
114
|
+
private let downloadLock = NSLock()
|
|
115
|
+
private var downloadInProgress = false
|
|
116
|
+
private var downloadStartTime: Date?
|
|
117
|
+
private let downloadTimeout: TimeInterval = 3600 // 1 hour timeout
|
|
112
118
|
|
|
113
119
|
// Lock to ensure cleanup completes before downloads start
|
|
114
120
|
private let cleanupLock = NSLock()
|
|
@@ -119,6 +125,7 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
119
125
|
private var allowManualBundleError = false
|
|
120
126
|
private var keepUrlPathFlagLastValue: Bool?
|
|
121
127
|
public var shakeMenuEnabled = false
|
|
128
|
+
public var shakeChannelSelectorEnabled = false
|
|
122
129
|
let semaphoreReady = DispatchSemaphore(value: 0)
|
|
123
130
|
|
|
124
131
|
private var delayUpdateUtils: DelayUpdateUtils!
|
|
@@ -211,6 +218,7 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
211
218
|
implementation.timeout = Double(getConfig().getInt("responseTimeout", 20))
|
|
212
219
|
resetWhenUpdate = getConfig().getBoolean("resetWhenUpdate", true)
|
|
213
220
|
shakeMenuEnabled = getConfig().getBoolean("shakeMenu", false)
|
|
221
|
+
shakeChannelSelectorEnabled = getConfig().getBoolean("allowShakeChannelSelector", false)
|
|
214
222
|
let periodCheckDelayValue = getConfig().getInt("periodCheckDelay", 0)
|
|
215
223
|
if periodCheckDelayValue >= 0 && periodCheckDelayValue > 600 {
|
|
216
224
|
periodCheckDelay = 600
|
|
@@ -511,6 +519,10 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
511
519
|
call.resolve()
|
|
512
520
|
}
|
|
513
521
|
|
|
522
|
+
func getUpdateUrl() -> String {
|
|
523
|
+
return updateUrl
|
|
524
|
+
}
|
|
525
|
+
|
|
514
526
|
@objc func setStatsUrl(_ call: CAPPluginCall) {
|
|
515
527
|
if !getConfig().getBoolean("allowModifyUrl", false) {
|
|
516
528
|
logger.error("setStatsUrl called without allowModifyUrl")
|
|
@@ -817,7 +829,12 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
817
829
|
} else {
|
|
818
830
|
if self._isAutoUpdateEnabled() && triggerAutoUpdate {
|
|
819
831
|
self.logger.info("Calling autoupdater after channel change!")
|
|
820
|
-
|
|
832
|
+
// Check if download is already in progress (with timeout protection)
|
|
833
|
+
if !self.isDownloadStuckOrTimedOut() {
|
|
834
|
+
self.backgroundDownload()
|
|
835
|
+
} else {
|
|
836
|
+
self.logger.info("Download already in progress, skipping duplicate download request")
|
|
837
|
+
}
|
|
821
838
|
}
|
|
822
839
|
call.resolve(res.toDict())
|
|
823
840
|
}
|
|
@@ -851,7 +868,12 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
851
868
|
} else {
|
|
852
869
|
if self._isAutoUpdateEnabled() && triggerAutoUpdate {
|
|
853
870
|
self.logger.info("Calling autoupdater after channel change!")
|
|
854
|
-
|
|
871
|
+
// Check if download is already in progress (with timeout protection)
|
|
872
|
+
if !self.isDownloadStuckOrTimedOut() {
|
|
873
|
+
self.backgroundDownload()
|
|
874
|
+
} else {
|
|
875
|
+
self.logger.info("Download already in progress, skipping duplicate download request")
|
|
876
|
+
}
|
|
855
877
|
}
|
|
856
878
|
call.resolve(res.toDict())
|
|
857
879
|
}
|
|
@@ -1351,6 +1373,13 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
1351
1373
|
failureEvent: String = "downloadFailed",
|
|
1352
1374
|
sendStats: Bool = true
|
|
1353
1375
|
) {
|
|
1376
|
+
// Clear download in progress flag - this is called at the end of every download attempt
|
|
1377
|
+
// whether it succeeds, fails, or is skipped (e.g., already up to date)
|
|
1378
|
+
downloadLock.lock()
|
|
1379
|
+
defer { downloadLock.unlock() }
|
|
1380
|
+
downloadInProgress = false
|
|
1381
|
+
downloadStartTime = nil
|
|
1382
|
+
|
|
1354
1383
|
if error {
|
|
1355
1384
|
if sendStats {
|
|
1356
1385
|
self.implementation.sendStats(action: failureAction, versionName: current.getVersionName())
|
|
@@ -1363,13 +1392,47 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
1363
1392
|
self.endBackGroundTask()
|
|
1364
1393
|
}
|
|
1365
1394
|
|
|
1395
|
+
private func isDownloadStuckOrTimedOut() -> Bool {
|
|
1396
|
+
downloadLock.lock()
|
|
1397
|
+
defer { downloadLock.unlock() }
|
|
1398
|
+
|
|
1399
|
+
guard downloadInProgress else {
|
|
1400
|
+
return false
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
// Check if download has timed out
|
|
1404
|
+
if let startTime = downloadStartTime {
|
|
1405
|
+
let elapsed = Date().timeIntervalSince(startTime)
|
|
1406
|
+
if elapsed > downloadTimeout {
|
|
1407
|
+
self.logger.warn("Download has been in progress for \(elapsed) seconds, exceeding timeout of \(downloadTimeout) seconds. Clearing stuck state.")
|
|
1408
|
+
downloadInProgress = false
|
|
1409
|
+
downloadStartTime = nil
|
|
1410
|
+
return false // Now it's not stuck anymore, caller can proceed
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
return true
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1366
1417
|
func backgroundDownload() {
|
|
1418
|
+
// Set download in progress flag (thread-safe)
|
|
1419
|
+
downloadLock.lock()
|
|
1420
|
+
downloadInProgress = true
|
|
1421
|
+
downloadStartTime = Date()
|
|
1422
|
+
downloadLock.unlock()
|
|
1423
|
+
|
|
1367
1424
|
let plannedDirectUpdate = self.shouldUseDirectUpdate()
|
|
1368
1425
|
let messageUpdate = plannedDirectUpdate ? "Update will occur now." : "Update will occur next time app moves to background."
|
|
1369
1426
|
guard let url = URL(string: self.updateUrl) else {
|
|
1370
1427
|
logger.error("Error no url or wrong format")
|
|
1428
|
+
// Clear the flag if we return early
|
|
1429
|
+
downloadLock.lock()
|
|
1430
|
+
defer { downloadLock.unlock() }
|
|
1431
|
+
downloadInProgress = false
|
|
1432
|
+
downloadStartTime = nil
|
|
1371
1433
|
return
|
|
1372
1434
|
}
|
|
1435
|
+
|
|
1373
1436
|
DispatchQueue.global(qos: .background).async {
|
|
1374
1437
|
// Wait for cleanup to complete before starting download
|
|
1375
1438
|
self.waitForCleanupIfNeeded()
|
|
@@ -1563,7 +1626,12 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
1563
1626
|
logger.info("Background Timer Task canceled, Activity resumed before timer completes")
|
|
1564
1627
|
}
|
|
1565
1628
|
if self._isAutoUpdateEnabled() {
|
|
1566
|
-
|
|
1629
|
+
// Check if download is already in progress (with timeout protection)
|
|
1630
|
+
if !isDownloadStuckOrTimedOut() {
|
|
1631
|
+
self.backgroundDownload()
|
|
1632
|
+
} else {
|
|
1633
|
+
logger.info("Download already in progress, skipping duplicate download request")
|
|
1634
|
+
}
|
|
1567
1635
|
} else {
|
|
1568
1636
|
let instanceDescriptor = (self.bridge?.viewController as? CAPBridgeViewController)?.instanceDescriptor()
|
|
1569
1637
|
if instanceDescriptor?.serverURL != nil {
|
|
@@ -1600,7 +1668,12 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
1600
1668
|
|
|
1601
1669
|
if res.version != current.getVersionName() {
|
|
1602
1670
|
self.logger.info("New version found: \(res.version)")
|
|
1603
|
-
|
|
1671
|
+
// Check if download is already in progress (with timeout protection)
|
|
1672
|
+
if !self.isDownloadStuckOrTimedOut() {
|
|
1673
|
+
self.backgroundDownload()
|
|
1674
|
+
} else {
|
|
1675
|
+
self.logger.info("Download already in progress, skipping duplicate download request")
|
|
1676
|
+
}
|
|
1604
1677
|
}
|
|
1605
1678
|
}
|
|
1606
1679
|
}
|
|
@@ -1686,6 +1759,24 @@ public class CapacitorUpdaterPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
1686
1759
|
])
|
|
1687
1760
|
}
|
|
1688
1761
|
|
|
1762
|
+
@objc func setShakeChannelSelector(_ call: CAPPluginCall) {
|
|
1763
|
+
guard let enabled = call.getBool("enabled") else {
|
|
1764
|
+
logger.error("setShakeChannelSelector called without enabled parameter")
|
|
1765
|
+
call.reject("setShakeChannelSelector called without enabled parameter")
|
|
1766
|
+
return
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
self.shakeChannelSelectorEnabled = enabled
|
|
1770
|
+
logger.info("Shake channel selector \(enabled ? "enabled" : "disabled")")
|
|
1771
|
+
call.resolve()
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
@objc func isShakeChannelSelectorEnabled(_ call: CAPPluginCall) {
|
|
1775
|
+
call.resolve([
|
|
1776
|
+
"enabled": self.shakeChannelSelectorEnabled
|
|
1777
|
+
])
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1689
1780
|
@objc func getAppId(_ call: CAPPluginCall) {
|
|
1690
1781
|
call.resolve([
|
|
1691
1782
|
"appId": implementation.appId
|