Skip to content

feat: /download page (OS detection + latest GitHub Release assets + unsigned-build guidance)#178

Merged
abrichr merged 4 commits into
mainfrom
feat/download-page
Jul 16, 2026
Merged

feat: /download page (OS detection + latest GitHub Release assets + unsigned-build guidance)#178
abrichr merged 4 commits into
mainfrom
feat/download-page

Conversation

@abrichr

@abrichr abrichr commented Jul 14, 2026

Copy link
Copy Markdown
Member

What

Adds /download as the public entry point for OpenAdapt Desktop's Experimental native packaging previews.

Release contract

  • Reads the public GitHub releases list rather than /releases/latest, which excludes prereleases.
  • Selects only a published desktop-v* Experimental prerelease containing the complete smoke-tested artifact set: two macOS DMGs, Windows MSI and NSIS installers, Linux AppImage and DEB packages, and SHA256SUMS.
  • Ignores legacy Python-package releases, drafts, partial uploads, unrelated assets, and malformed download entries.
  • Shows the current honest no-installer state until a complete Experimental prerelease is actually published.
  • Avoids guessing macOS architecture because browser signals cannot reliably distinguish Apple Silicon from Intel.

Product and security copy

  • Labels the installers as an Experimental scaffold-shell packaging preview, not the working record/replay product.
  • Routes users who need working automation to openadapt-flow and the canonical docs.
  • Derives macOS notarization and Windows Authenticode guidance from the published asset labels.
  • Links the exact SHA256SUMS asset before asking a user to override Gatekeeper or SmartScreen.

Dependency

Verification

  • Locked Next.js 14.1.2 production build passes; /download prerenders statically.
  • Browser Cypress against next start passes the legacy/no-release page and complete unsigned/ad-hoc Experimental prerelease page (2/2).
  • The exact Netlify deploy-preview build passes the server-independent selector, asset, signing, and architecture contract (3/3).
  • git diff --check passes.
  • Rebased on main after the Cal.com production correction in fix: use canonical Cal.com booking #183.

@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for cosmic-klepon-3c693c ready!

Name Link
🔨 Latest commit aadbb9c
🔍 Latest deploy log https://app.netlify.com/projects/cosmic-klepon-3c693c/deploys/6a586c411d94030008c2e06a
😎 Deploy Preview https://deploy-preview-178--cosmic-klepon-3c693c.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@abrichr

abrichr commented Jul 16, 2026

Copy link
Copy Markdown
Member Author

Drafting this PR until the download contract is real. The current latest desktop release, v0.3.2, contains only a Python wheel, source archive, and attestations; it does not contain the .msi/.exe, .dmg, .AppImage, or .deb installers this page advertises. Before merge: publish and verify the supported installer assets, rebase onto the launch branch after #179, label OpenAdapt Desktop Experimental, replace broad self-healing/platform-support language with current maturity, and add tests for asset matching plus the no-supported-installer state. This PR must merge after #179, not before it.

abrichr and others added 2 commits July 16, 2026 01:13
…idance

Add a /download page that reads the latest openadapt-desktop GitHub Release
assets via the Releases API, detects the visitor's OS/arch, and surfaces the
right installer first (with an "all downloads" grid for every platform).

- Graceful states: loading, ready, no-release-yet, and API-unreachable, each
  falling back to the GitHub releases page or running from source.
- Honest "get past the OS warning" copy for macOS Gatekeeper (right-click ->
  Open) and Windows SmartScreen (More info -> Run anyway), calm and no-apology,
  matching the unsigned-for-v1 distribution decision.
- Matches the repo's design tokens (bg-ground/text-ink/bg-panel/
  border-hairline/text-accent/font-display); no em-dashes.
- Adds a "Download" link to the primary nav.

Build passes; prettier clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CKrVJJy5jWVCkXAqgUqtqZ
@abrichr abrichr force-pushed the feat/download-page branch from ab01b82 to 26c2209 Compare July 16, 2026 05:21
@abrichr abrichr marked this pull request as ready for review July 16, 2026 05:31
@abrichr abrichr merged commit 8d07911 into main Jul 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant