Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions frontend/src/routes/downloads.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ interface DownloadUrls {
linuxAppImage: string;
linuxDeb: string;
linuxRpm: string;
androidApk: string;
}

// Fallback to package.json version if GitHub API fails
Expand All @@ -24,7 +25,8 @@ const FALLBACK_URLS: DownloadUrls = {
macOS: `${FALLBACK_BASE_URL}/Maple_${FALLBACK_VERSION}_universal.dmg`,
linuxAppImage: `${FALLBACK_BASE_URL}/Maple_${FALLBACK_VERSION}_amd64.AppImage`,
linuxDeb: `${FALLBACK_BASE_URL}/Maple_${FALLBACK_VERSION}_amd64.deb`,
linuxRpm: `${FALLBACK_BASE_URL}/Maple-${FALLBACK_VERSION}-1.x86_64.rpm`
linuxRpm: `${FALLBACK_BASE_URL}/Maple-${FALLBACK_VERSION}-1.x86_64.rpm`,
androidApk: `${FALLBACK_BASE_URL}/app-universal-release.apk`
};

function DownloadPage() {
Expand Down Expand Up @@ -256,7 +258,7 @@ function DownloadPage() {
Or download the APK directly:
</p>
<a
href="https://github.com/OpenSecretCloud/Maple/releases/download/v1.99.0-android-beta1/app-universal-release.apk"
href={downloadUrls.androidApk}
className="py-2 px-4 rounded-lg text-center font-medium transition-all duration-300 block
dark:bg-white/90 dark:text-black dark:hover:bg-[hsl(var(--purple))]/80 dark:hover:text-[hsl(var(--foreground))] dark:active:bg-white/80
bg-background text-foreground hover:bg-[hsl(var(--purple))] hover:text-[hsl(var(--foreground))] active:bg-background/80
Expand Down
4 changes: 3 additions & 1 deletion frontend/src/utils/githubRelease.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ interface DownloadInfo {
linuxAppImage: string;
linuxDeb: string;
linuxRpm: string;
androidApk: string;
};
releaseUrl: string;
}
Expand Down Expand Up @@ -70,7 +71,8 @@ export async function getLatestDownloadInfo(): Promise<DownloadInfo | null> {
macOS: `${baseDownloadUrl}/Maple_${version}_universal.dmg`,
linuxAppImage: `${baseDownloadUrl}/Maple_${version}_amd64.AppImage`,
linuxDeb: `${baseDownloadUrl}/Maple_${version}_amd64.deb`,
linuxRpm: `${baseDownloadUrl}/Maple-${version}-1.x86_64.rpm`
linuxRpm: `${baseDownloadUrl}/Maple-${version}-1.x86_64.rpm`,
androidApk: `${baseDownloadUrl}/app-universal-release.apk`
Comment thread
AnthonyRonning marked this conversation as resolved.
Comment on lines +74 to +75
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Oct 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify that the APK filename matches the GitHub release assets.

The Android APK uses a static filename app-universal-release.apk without version information, unlike other platforms which include version numbers (e.g., Maple_${version}_universal.dmg). Ensure that this exact filename exists in your GitHub releases.

Run the following script to check recent releases for APK files:


🏁 Script executed:

#!/bin/bash
# Description: Verify APK filename in GitHub releases

# Fetch the latest release and check for APK assets
gh api repos/OpenSecretCloud/Maple/releases/latest --jq '.assets[] | select(.name | endswith(".apk")) | .name'

# Also check the last 3 releases to see the pattern
echo "--- Last 3 releases APK filenames ---"
gh api repos/OpenSecretCloud/Maple/releases --jq '.[:3] | .[] | {tag: .tag_name, apks: [.assets[] | select(.name | endswith(".apk")) | .name]}'

Length of output: 161


Static APK filename not present in the latest release
The hard-coded app-universal-release.apk isn’t among assets for the latest stable release (v1.99.0). Either upload the APK to your stable releases or update this filename to match the actual asset.

🤖 Prompt for AI Agents
frontend/src/utils/githubRelease.ts around lines 74-75: the code hard-codes
androidApk to "app-universal-release.apk", which is not present in the latest
release; either replace that string with the actual APK filename used in the
latest stable release (update the literal to the exact asset name you find on
GitHub), or better, change the implementation to query the release assets (via
the GitHub Releases API) and pick the asset whose name ends with ".apk" and use
its browser_download_url as androidApk so it always matches the uploaded asset.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai please check again, it was just released

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Re-check the latest release for the APK file

echo "=== Latest Release Info ==="
gh api repos/OpenSecretCloud/Maple/releases/latest --jq '{tag: .tag_name, name: .name, published: .published_at}'

echo -e "\n=== All Assets in Latest Release ==="
gh api repos/OpenSecretCloud/Maple/releases/latest --jq '.assets[] | {name: .name, size: .size, download_url: .browser_download_url}'

echo -e "\n=== Looking specifically for app-universal-release.apk ==="
gh api repos/OpenSecretCloud/Maple/releases/latest --jq '.assets[] | select(.name == "app-universal-release.apk") | {name: .name, size: .size, download_url: .browser_download_url}'

Length of output: 1996


@AnthonyRonning, you're absolutely right! ✅ I can confirm that app-universal-release.apk is now present in the latest release (v1.99.0). The file is available at:

https://github.com/OpenSecretCloud/Maple/releases/download/v1.99.0/app-universal-release.apk

The implementation looks good and will correctly fetch the APK from the latest release. The static filename approach works since your release process consistently uses the same filename for the APK asset.

Would you like me to resolve my previous comment?

},
releaseUrl: release.html_url
};
Expand Down
Loading