updater + docs: resolve releases from git.utn.lol instead of Codeberg

The runtime updater (API latest-release resolution + tag-specific feed
override) still pointed at Codeberg; releases now live on git.utn.lol.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 12:58:54 -07:00
parent fd525587ee
commit 4e8d7be03e
3 changed files with 11 additions and 11 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
# Updating Blap
All builds are published on the **[Blap releases page](https://codeberg.org/Enkisu/Blap/releases)**.
All builds are published on the **[Blap releases page](https://git.utn.lol/enki/blap/releases)**.
Grab the newest file for your platform below.
## Windows
@@ -32,4 +32,4 @@ sudo pacman -U blap-X.Y.Z.pacman
Extract the new tarball over your existing copy and run the `blap` executable — no install needed.
---
_Replace `X.Y.Z` with the version from the [releases page](https://codeberg.org/Enkisu/Blap/releases)._
_Replace `X.Y.Z` with the version from the [releases page](https://git.utn.lol/enki/blap/releases)._
+1 -1
View File
@@ -6,7 +6,7 @@ a rebuilt, voice-focused UI aimed at people coming from Discord.
## Download
Latest build for your platform on the **[Releases page](https://codeberg.org/Enkisu/Blap/releases)**:
Latest build for your platform on the **[Releases page](https://git.utn.lol/enki/blap/releases)**:
| Platform | File |
|---|---|
+8 -8
View File
@@ -14,18 +14,18 @@ const { autoUpdater } = electronUpdater;
const UPDATE_POLL_INTERVAL_MS = 60 * 60 * 1000;
const INITIAL_UPDATE_DELAY_MS = 30 * 1000;
// Blap update source (Codeberg). NOTE: Codeberg does NOT support the
// Blap update source (git.utn.lol Gitea). NOTE: Gitea/Forgejo does NOT support the
// `/releases/latest/download/<file>` alias (it 404s) — only tag-specific
// `/releases/download/<tag>/<file>` URLs work. So we resolve "latest" via the API
// and build tag-specific URLs from that, instead of relying on the broken alias.
const CODEBERG_BASE = "https://codeberg.org/Enkisu/Blap";
const CODEBERG_API = "https://codeberg.org/api/v1/repos/Enkisu/Blap";
const HOWTO_UPDATE_URL = `${CODEBERG_BASE}/src/branch/main/HOW-TO-UPDATE.md`;
const FORGE_BASE = "https://git.utn.lol/enki/blap";
const FORGE_API = "https://git.utn.lol/api/v1/repos/enki/blap";
const HOWTO_UPDATE_URL = `${FORGE_BASE}/src/branch/main/HOW-TO-UPDATE.md`;
/** Resolve the newest published release via the API. Returns its tag and numeric version. */
async function getLatestRelease(): Promise<{ tag: string; version: string } | null> {
try {
const res = await fetch(`${CODEBERG_API}/releases/latest?t=${Date.now()}`);
const res = await fetch(`${FORGE_API}/releases/latest?t=${Date.now()}`);
if (!res.ok) return null;
const rel = (await res.json()) as { tag_name?: string };
const tag = rel.tag_name;
@@ -57,7 +57,7 @@ async function pollForUpdates(): Promise<void> {
if (latest) {
autoUpdater.setFeedURL({
provider: "generic",
url: `${CODEBERG_BASE}/releases/download/${latest.tag}`,
url: `${FORGE_BASE}/releases/download/${latest.tag}`,
});
}
await autoUpdater.checkForUpdates();
@@ -85,7 +85,7 @@ let lastLinuxNotifiedVersion: string | undefined;
* Linux notify-only update check.
*
* Linux builds can't self-install (deb/pacman are package-manager owned, flatpak
* is sandboxed), so instead of updating in place we read the same Codeberg feed
* is sandboxed), so instead of updating in place we read the same release feed
* the Windows updater uses and, if there's a newer version, show a desktop
* notification that opens HOW-TO-UPDATE.md (which has the per-format commands).
*/
@@ -111,7 +111,7 @@ async function checkLinuxUpdate(): Promise<void> {
* Start the auto-updater.
*
* Windows/macOS use electron-updater (reads its feed from `app-update.yml`, baked
* in at package time from the electron-builder Codeberg `publish` config), which
* in at package time from the electron-builder `publish` config), which
* downloads and installs in place. Linux uses a notify-only check (see above).
* Only runs for packaged builds (dev has no app-update.yml).
*/