v6.8.15: the Android app is out for testing
- Android APK download, served from securebit.chat (/downloads/, never committed): a "Download Android APK" badge next to the Snap Store one, drawn for both themes, and an Android entry in the download menu (recommended on Android devices). nginx serves .apk as an attachment; the service worker leaves /downloads/ alone. The APK version is one constant in three places, checked by tests/desktop-download-links.test.mjs. - Roadmap versions follow the real releases: Group Communications v6.0 shipped, Mobile Edition v6.8 is current, Quantum-Resistant v7.0 is in development (2027), then v8.0 and v9.0. - "Download desktop app" is now "Download the app"; the "You're on Web" pill in the download menu is gone.
This commit is contained in:
@@ -102,3 +102,24 @@ assert.equal(
|
||||
);
|
||||
|
||||
console.log(`Desktop download link tests passed (v${VERSION}, ${urls.length} assets reachable)`);
|
||||
|
||||
// ---------- the Android APK: one version, and the file it names exists ----------
|
||||
// The APK is served from this site (downloads/, git-ignored, shipped in the Fly
|
||||
// image), so a version bumped in one place and not the others is a 404.
|
||||
const APK_SOURCES = ['src/app.jsx', 'src/components/ui/DownloadApps.jsx', 'src/components/ui/CommunityCTA.jsx'];
|
||||
const apkVersions = APK_SOURCES.map((f) => {
|
||||
const m = /ANDROID_APK_VERSION\s*=\s*'([^']+)'/.exec(read(f));
|
||||
assert.ok(m, `${f} must declare ANDROID_APK_VERSION`);
|
||||
return { file: f, version: m[1] };
|
||||
});
|
||||
const apkUnique = [...new Set(apkVersions.map((v) => v.version))];
|
||||
assert.equal(
|
||||
apkUnique.length, 1,
|
||||
`every source must link the same APK, found: ${apkVersions.map((v) => `${v.file}=${v.version}`).join(', ')}`
|
||||
);
|
||||
const apkFile = path.join(ROOT, 'downloads', `SecureBit-${apkUnique[0]}.apk`);
|
||||
if (!fs.existsSync(apkFile)) {
|
||||
// Not an error on a fresh clone: the APK is never committed. It is one before a deploy.
|
||||
console.warn(`! downloads/SecureBit-${apkUnique[0]}.apk is missing — copy the release APK there before deploying`);
|
||||
}
|
||||
console.log(`✓ Android APK ${apkUnique[0]} linked consistently`);
|
||||
|
||||
Reference in New Issue
Block a user