{"id":50430480,"url":"https://github.com/officecli/officedex-dist","last_synced_at":"2026-05-31T14:01:20.162Z","repository":{"id":359745114,"uuid":"1247333505","full_name":"officecli/officedex-dist","owner":"officecli","description":"OfficeDex desktop app distribution: auto-update manifest and platform binaries. Source code: officecli/officedex.","archived":false,"fork":false,"pushed_at":"2026-05-31T00:49:03.000Z","size":28543,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-31T02:28:00.751Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/officecli/officedex","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/officecli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-23T07:13:25.000Z","updated_at":"2026-05-31T00:49:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/officecli/officedex-dist","commit_stats":null,"previous_names":["officecli/officedex-dist"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/officecli/officedex-dist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/officecli%2Fofficedex-dist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/officecli%2Fofficedex-dist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/officecli%2Fofficedex-dist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/officecli%2Fofficedex-dist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/officecli","download_url":"https://codeload.github.com/officecli/officedex-dist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/officecli%2Fofficedex-dist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33733754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-31T14:01:19.255Z","updated_at":"2026-05-31T14:01:20.147Z","avatar_url":"https://github.com/officecli.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# OfficeDex Distribution\n\nThis repository hosts the publicly-downloadable artifacts and the auto-update\nmanifest for [OfficeDex](https://github.com/officecli/officedex) — an AI\ndocument generation desktop app. This `officedex-dist` repository exists so\nthe desktop app can fetch updates without authentication.\n\n## Endpoints\n\n| Resource | URL |\n|---|---|\n| Auto-update manifest | `https://raw.githubusercontent.com/officecli/officedex-dist/main/manifest.json` |\n| Per-version binaries | `https://raw.githubusercontent.com/officecli/officedex-dist/main/releases/v\u003cx.y.z\u003e/` |\n\nThe desktop app polls the manifest every 4 hours (and on window focus after\n30 minutes of inactivity). The manifest format is documented in\n`internal/appupdate/manager.go` in the source repository.\n\n## Manifest schema\n\n```json\n{\n  \"version\": \"0.1.0\",\n  \"notes\": \"Markdown-formatted release notes shown in the in-app banner.\",\n  \"minSupportedVersion\": \"0.1.0\",\n  \"mandatory\": false,\n  \"publishedAt\": \"2026-05-25T00:00:00Z\",\n  \"assets\": {\n    \"darwin-arm64\":     { \"url\": \"...\", \"sha256\": \"...\", \"size\": 12345 },\n    \"darwin-amd64\":     { \"url\": \"...\", \"sha256\": \"...\", \"size\": 12345 },\n    \"darwin-universal\": { \"url\": \"...\", \"sha256\": \"...\", \"size\": 12345 },\n    \"windows-amd64\":    { \"url\": \"...\", \"sha256\": \"...\", \"size\": 12345 }\n  }\n}\n```\n\n- `mandatory: true` triggers a blocking force-update overlay in the client.\n  Reserve this for security fixes or protocol breaks; use `minSupportedVersion`\n  for routine end-of-life retirement instead.\n- The client compares `version` against its own embedded version (semver) and\n  only proposes an upgrade when greater.\n- Asset URLs MUST point inside this repository so unauthenticated clients can\n  download them. The Wails release workflow uploads zips here automatically.\n\n## Directory layout\n\n```\nofficedex-dist/\n├── manifest.json                # Single source of truth for current release\n├── releases/\n│   ├── v0.1.0/\n│   │   ├── OfficeDex-v0.1.0-darwin-universal.zip\n│   │   └── OfficeDex-v0.1.0-windows-amd64.zip\n│   └── v0.x.y/...\n└── archive/                     # Historical manifest snapshots (optional)\n    └── manifest-v0.1.0.json\n```\n\n## How releases happen\n\nReleases are driven from the source repo:\n\n1. Maintainer bumps version in `app.go`, `package.json`, `wails.json` and tags\n   `vX.Y.Z` in `officecli/officedex`.\n2. The `Release` GitHub Actions workflow builds both platforms and publishes\n   a GitHub Release with the zipped artifacts.\n3. The workflow's `Sync to officedex-dist` step then clones this repo, copies\n   the binaries into `releases/vX.Y.Z/`, regenerates `manifest.json`, and\n   pushes a single commit. This step uses a fine-grained PAT stored as the\n   `DIST_DEPLOY_TOKEN` secret.\n\nThe atomic commit guarantees clients never see a manifest pointing at a\nnot-yet-uploaded binary.\n\n## Manual override (testing / staging)\n\nSet the `OFFICEDEX_UPDATE_MANIFEST_URL` environment variable on the client to\npoint at an alternate manifest — useful for staged rollouts, QA branches, or\ncanary builds. The client honours this on every check.\n\n## Rollback\n\nTo revert to a previous version, restore an older `manifest.json` (either via\n`git revert` or by copying from `archive/`) and push. Clients pick up the\nchange at the next polling tick (within 4 hours, or immediately on window\nfocus after the 30-minute threshold).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofficecli%2Fofficedex-dist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fofficecli%2Fofficedex-dist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofficecli%2Fofficedex-dist/lists"}