feat(download): point at the live Mac App Store listing (#241)#340
Merged
Conversation
The FediHome macOS app is out of App Store review and live, so the download surface should link to it instead of showing "coming soon". The page already rendered the App Store button whenever macosAppStoreUrl was set and fell back to a placeholder when empty — it was empty only because the listing didn't exist yet. So this just gives it a real default, exactly the way macosReleaseUrl already defaults to the app's GitHub releases: there is one FediHome macOS app, and every instance that enables the download page should point at it. macosEnabled stays false by default, so the blast radius is only opted-in instances (the demo). The URL is region-neutral (no /au/, no legacy ?mt=12) so Apple redirects each visitor to their own storefront — this default ships worldwide, so a country-locked link would land everyone in one country's store first. Updates the now-stale "coming soon / until the listing is approved" copy in the page comment, .env.example and docs/configuration.md to match. The placeholder branch stays in the page, harmless, for anyone who explicitly clears the URL. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The FediHome macOS app is out of review and live on the Mac App Store 🎉 — so the download surface should link to it instead of showing "coming soon".
What changed
The
/downloadpage already rendered the App Store button whenevermacosAppStoreUrlwas set, and fell back to a "coming soon" placeholder when empty. It was empty only because the listing didn't exist yet.So this gives it a real default, exactly the way
macosReleaseUrlalready defaults to the app's GitHub releases:There is one FediHome macOS app, and every instance that enables the download page should point at it.
macosEnabledstaysfalseby default, so the blast radius is only opted-in instances — i.e. the demo.On the URL
Region-neutral on purpose — dropped the
/au/and the legacy?mt=12from the raw listing link. This default ships worldwide, so a country-locked URL would land every visitor in one country's storefront first; the region-neutral form lets Apple redirect each person to their own store, resolving to the same app.Copy cleanup
The "coming soon / until the listing is approved" wording is now stale, so it's updated everywhere it appeared: the page comment,
.env.example, anddocs/configuration.md. The placeholder branch stays in the page — harmless — for anyone who explicitly clears the URL.Verification
npx tsc --noEmitnpx eslint .npx vitest runnpm run buildid0000copyThe render path is
{macosAppStoreUrl ? <App Store link> : <coming soon>}and the value is now a non-empty constant, so the link branch renders. A livecurlcheck wasn't possible here — the download page requires setup to be completed, and the local dev instance isn't — so visual confirmation belongs on the demo after it picks this up.Rolling it out
Two ways, no waiting required:
npm run update— no config needed, since the demo doesn't set an empty override.🤖 Generated with Claude Code