Skip to content

Desktop appcast endpoint fails to match new macOS release tag format #5285

@atlas-agent-omi

Description

@atlas-agent-omi

Problem

The /v2/desktop/appcast.xml endpoint in backend/routers/updates.py fails to recognize new desktop release tags that use a 2-component version format.

Current Behavior

The _parse_desktop_version() regex requires the format:

v{major}.{minor}.{patch}+{build}-{platform}

This matches tags like:

  • v1.0.77+464-desktop-cm
  • v0.11.38+11038-macos

But fails to match newer tags like:

  • v11.0+11000-macos
  • v11.3+11003-macos

These newer tags use the format:

v{major}.{minor}+{build}-{platform}

Impact

Desktop releases using the 2-component version format are not included in the appcast feed, preventing auto-updates for users.

Solution

Update the regex pattern in _parse_desktop_version() to make the patch version optional:

# OLD (broken):
pattern = r'^v?(\d+)\.(\d+)\.(\d+)\+(\d+)-(?:desktop|macos|windows|linux)(?:-(?:cm|auto))?$'

# NEW (fixed):
pattern = r'^v?(\d+)\.(\d+)(?:\.(\d+))?\+(\d+)-(?:desktop|macos|windows|linux)(?:-(?:cm|auto))?$'

Then default the patch version to 0 when not present.

Affected Tags

git tag --list | grep -E '^v11\.\[0-9\]+\+' 
v11.0+11000-macos
v11.1+11001-macos
v11.2+11002-macos
v11.3+11003-macos

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