From 4e1a6225e106a6e1ac5d7ca3b574457d511b6eae Mon Sep 17 00:00:00 2001 From: Bryan1029384756 <23323626+Bryan1029384756@users.noreply.github.com> Date: Thu, 19 Feb 2026 18:41:26 -0600 Subject: [PATCH] bump --- .claude/settings.local.json | 3 ++- packages/platform-web/src/index.js | 25 ++++++++++++++----- .../shared/src/components/UpdateBanner.jsx | 15 +++++++---- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 7223bfe..df80065 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -42,7 +42,8 @@ "WebFetch(domain:medium.com)", "Bash(keytool:*)", "Bash(echo:*)", - "Bash(python -c \"import base64; print\\(base64.b64encode\\(open\\(r''C:\\\\Users\\\\bryan\\\\Desktop\\\\Discord Clone\\\\discord-clone-release.keystore'',''rb''\\).read\\(\\)\\).decode\\(\\)\\)\")" + "Bash(python -c \"import base64; print\\(base64.b64encode\\(open\\(r''C:\\\\Users\\\\bryan\\\\Desktop\\\\Discord Clone\\\\discord-clone-release.keystore'',''rb''\\).read\\(\\)\\).decode\\(\\)\\)\")", + "WebFetch(domain:gitea.moyettes.com)" ] } } diff --git a/packages/platform-web/src/index.js b/packages/platform-web/src/index.js index d746465..b766ed0 100644 --- a/packages/platform-web/src/index.js +++ b/packages/platform-web/src/index.js @@ -47,21 +47,32 @@ const webPlatform = { // Detect Android/Capacitor and enable native APK updates if (window.Capacitor?.isNativePlatform?.()) { const YAML_URL = 'https://gitea.moyettes.com/Moyettes/DiscordClone/releases/download/latest/latest-android.yml'; - const APK_URL = 'https://gitea.moyettes.com/Moyettes/DiscordClone/releases/download/latest/app-release.apk'; const AppUpdater = window.Capacitor.Plugins.AppUpdater; + let apkUrl; webPlatform.updates = { async checkUpdate() { try { const response = await fetch(YAML_URL); - if (!response.ok) return { updateAvailable: false }; + if (!response.ok) { + console.log('[UpdateCheck] Fetch failed:', response.status); + return { updateAvailable: false }; + } const yaml = await response.text(); const versionMatch = yaml.match(/^version:\s*(.+)$/m); - if (!versionMatch) return { updateAvailable: false }; + if (!versionMatch) { + console.log('[UpdateCheck] No version found in YAML'); + return { updateAvailable: false }; + } const latestVersion = versionMatch[1].trim(); + const pathMatch = yaml.match(/^path:\s*(.+)$/m); + const apkFilename = pathMatch ? pathMatch[1].trim() : `DiscordClone-v${latestVersion}.apk`; + apkUrl = `https://gitea.moyettes.com/Moyettes/DiscordClone/releases/download/latest/${apkFilename}`; + const { version: currentVersion } = await AppUpdater.getVersion(); + console.log('[UpdateCheck] Latest:', latestVersion, '| Current:', currentVersion); const latest = latestVersion.split('.').map(Number); const current = currentVersion.split('.').map(Number); @@ -78,13 +89,15 @@ if (window.Capacitor?.isNativePlatform?.()) { if (l < c) break; } - return { updateAvailable, updateType, latestVersion, currentVersion, apkUrl: APK_URL }; - } catch { + console.log('[UpdateCheck] Result:', updateAvailable ? updateType + ' update available' : 'up to date'); + return { updateAvailable, updateType, latestVersion, currentVersion, apkUrl }; + } catch (e) { + console.log('[UpdateCheck] Error:', e.message); return { updateAvailable: false }; } }, async installUpdate() { - await AppUpdater.downloadAndInstall({ url: APK_URL }); + await AppUpdater.downloadAndInstall({ url: apkUrl }); }, onDownloadProgress(callback) { AppUpdater.addListener('downloadProgress', callback); diff --git a/packages/shared/src/components/UpdateBanner.jsx b/packages/shared/src/components/UpdateBanner.jsx index f9ae1ac..9aaa915 100644 --- a/packages/shared/src/components/UpdateBanner.jsx +++ b/packages/shared/src/components/UpdateBanner.jsx @@ -27,14 +27,14 @@ export function UpdateProvider({ children }) { return ( {children} - {state && (state.updateType === 'major' || state.updateType === 'minor') && ( - + {state && (state.updateType === 'major' || state.updateType === 'minor' || !features.hasWindowControls) && ( + )} ); } -function ForcedUpdateModal({ latestVersion }) { +function ForcedUpdateModal({ updateType, latestVersion }) { const { links, updates } = usePlatform(); const [downloading, setDownloading] = useState(false); const [progress, setProgress] = useState(0); @@ -62,12 +62,17 @@ function ForcedUpdateModal({ latestVersion }) { } }; + const isPatch = updateType === 'patch'; + return (
-

Update Required

+

{isPatch ? 'Update Available' : 'Update Required'}

- A new version (v{latestVersion}) is available. This update is required to continue using the app. + {isPatch + ? `A new version (v${latestVersion}) is available.` + : `A new version (v${latestVersion}) is available. This update is required to continue using the app.` + }

{downloading ? (