-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Problem
macos.omi.me redirects to a DMG last updated Feb 23 instead of the latest build (currently v0.11.39+).
Root cause
Three issues in the desktop release pipeline:
1. Codemagic omi-desktop-swift-release doesn't set isLive metadata in GitHub release bodies
The Python backend's _get_live_desktop_releases() filters releases by parsing isLive: true from <!-- KEY_VALUE_START --> blocks in GitHub release bodies. The old Codemagic workflow (line ~1586) set this metadata, but the active omi-desktop-swift-release workflow (line 2373) generates plain markdown release notes without the KEY_VALUE_START section.
Result: Python endpoint returns empty → no releases found → download broken.
2. Python /v2/desktop/download/latest was replaced with Rust redirect
In commit 24e4bcc5d (Feb 12, matt), the Python endpoint was gutted and replaced with a redirect to the Rust desktop backend (desktop-backend-hhibjajaja-uc.a.run.app/download). This was a workaround for problem #1, but it introduced unnecessary complexity:
- Added dependency on an entire separate Rust service for a simple redirect
- The Rust
/downloadendpoint only serveschannel == "stable"releases - All Codemagic releases register as
channel: staging, so/downloadserves stale versions unless someone manually promotes
3. GCS latest/ pointer never updated
The LB redirects macos.omi.me → gs://omi_macos_updates/latest/Omi.Beta.dmg, but Codemagic only uploads to releases/v{VERSION}/. The latest/ copy only exists in the local release.sh script.
Fix
- Add
KEY_VALUE_STARTmetadata to the active Codemagic workflow — restore compatibility with Python's_get_live_desktop_releases() - Restore Python
/v2/desktop/download/latest— resolve latest release directly from GitHub, remove Rust redirect - Update GCS upload in Codemagic — also copy to
latest/as fallback - Update LB redirect — point
macos.omi.metoapi.omi.me/v2/desktop/download/latest(one-time, after backend deploy)
Affected components
codemagic.yaml(line 2373 — release notes template)backend/routers/updates.py(line 344 — download endpoint)- GCP LB URL map
custom-domains-49a4(host rulemacos-omi-me)