This repository hosts the publicly-downloadable artifacts and the auto-update
manifest for OfficeDex — an AI
document generation desktop app. This officedex-dist repository exists so
the desktop app can fetch updates without authentication.
| Resource | URL |
|---|---|
| Auto-update manifest | https://raw.githubusercontent.com/officecli/officedex-dist/main/manifest.json |
| Per-version binaries | https://raw.githubusercontent.com/officecli/officedex-dist/main/releases/v<x.y.z>/ |
The desktop app polls the manifest every 4 hours (and on window focus after
30 minutes of inactivity). The manifest format is documented in
internal/appupdate/manager.go in the source repository.
{
"version": "0.1.0",
"notes": "Markdown-formatted release notes shown in the in-app banner.",
"minSupportedVersion": "0.1.0",
"mandatory": false,
"publishedAt": "2026-05-25T00:00:00Z",
"assets": {
"darwin-arm64": { "url": "...", "sha256": "...", "size": 12345 },
"darwin-amd64": { "url": "...", "sha256": "...", "size": 12345 },
"darwin-universal": { "url": "...", "sha256": "...", "size": 12345 },
"windows-amd64": { "url": "...", "sha256": "...", "size": 12345 }
}
}mandatory: truetriggers a blocking force-update overlay in the client. Reserve this for security fixes or protocol breaks; useminSupportedVersionfor routine end-of-life retirement instead.- The client compares
versionagainst its own embedded version (semver) and only proposes an upgrade when greater. - Asset URLs MUST point inside this repository so unauthenticated clients can download them. The Wails release workflow uploads zips here automatically.
officedex-dist/
├── manifest.json # Single source of truth for current release
├── releases/
│ ├── v0.1.0/
│ │ ├── OfficeDex-v0.1.0-darwin-universal.zip
│ │ └── OfficeDex-v0.1.0-windows-amd64.zip
│ └── v0.x.y/...
└── archive/ # Historical manifest snapshots (optional)
└── manifest-v0.1.0.json
Releases are driven from the source repo:
- Maintainer bumps version in
app.go,package.json,wails.jsonand tagsvX.Y.Zinofficecli/officedex. - The
ReleaseGitHub Actions workflow builds both platforms and publishes a GitHub Release with the zipped artifacts. - The workflow's
Sync to officedex-diststep then clones this repo, copies the binaries intoreleases/vX.Y.Z/, regeneratesmanifest.json, and pushes a single commit. This step uses a fine-grained PAT stored as theDIST_DEPLOY_TOKENsecret.
The atomic commit guarantees clients never see a manifest pointing at a not-yet-uploaded binary.
Set the OFFICEDEX_UPDATE_MANIFEST_URL environment variable on the client to
point at an alternate manifest — useful for staged rollouts, QA branches, or
canary builds. The client honours this on every check.
To revert to a previous version, restore an older manifest.json (either via
git revert or by copying from archive/) and push. Clients pick up the
change at the next polling tick (within 4 hours, or immediately on window
focus after the 30-minute threshold).