Skip to content

macos.omi.me serves stale DMG — Codemagic missing isLive metadata, Python download endpoint bypassed #5296

@beastoin

Description

@beastoin

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 /download endpoint only serves channel == "stable" releases
  • All Codemagic releases register as channel: staging, so /download serves stale versions unless someone manually promotes

3. GCS latest/ pointer never updated

The LB redirects macos.omi.megs://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

  1. Add KEY_VALUE_START metadata to the active Codemagic workflow — restore compatibility with Python's _get_live_desktop_releases()
  2. Restore Python /v2/desktop/download/latest — resolve latest release directly from GitHub, remove Rust redirect
  3. Update GCS upload in Codemagic — also copy to latest/ as fallback
  4. Update LB redirect — point macos.omi.me to api.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 rule macos-omi-me)

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendBackend Task (python)bugSomething isn't workingdesktop

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions