Skip to content

feat(download): a page for Mac, iPhone & iPad and Linux - #150

Open
datlechin wants to merge 6 commits into
mainfrom
feat/download-redesign
Open

datlechin wants to merge 6 commits into
mainfrom
feat/download-redesign

Conversation

@datlechin

@datlechin datlechin commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Second of three PRs for the Linux app. /download rebuilt as platform tabs, after tailscale.com/download. Linux shows only once platforms.json says released (PR 3 flips it), so after this merges the live page shows Mac and iPhone & iPad.

  • Downloads only: no feature table, no engine counts, no screenshots. What runs where stays on the feature pages and /databases.
  • Header: app icon and H1, centred, no lead.
  • Switch: Mac | iPhone & iPad | Linux (Beta), one panel at a time. The visitor's platform is preselected.
  • No swap on load: the head script's ios / linux root class shows the right panel before paint, and React keeps the same choice. CLS 0 for Mac, Linux and iPhone visitors.
  • #mac, #ios, #linux open their panel; a choice goes into the URL hash. #updates (linked from Security) still lands on the switch.
  • Mac panel: Download for Mac · version, date, size · requirement, architectures · updates line · Homebrew with copy · Verify your download (signing note, shasum, SHA-256).
  • iPhone & iPad panel: App Store badge · version, free, requirement · updates line · /ios link.
  • Linux panel: version · beta note with the issues link · Ubuntu | Fedora | Flatpak | Files tabs, one copyable block each, requirement and update line; Files lists packages by format and architecture, SHA256SUMS, Verify a file.
  • One row under the switch: Release notes (Mac, Linux, Changelog) · Older versions (all releases, build from source) · "Is there a version for Windows?".
  • Each fact appears once. Gone: the cards, the Updates section, the older-versions cell per platform, the latest release post, the FAQ block.
  • SegmentedControl gets size="lg", and its thumb only slides after a click (a value restored on load lands in place; the Linux tab restore used to slide).
  • Page height at 1440: 3,048 px before this rewrite, ~1,670 px now including the footer.
  • JSON-LD gains #linux-app when Linux is released. download_click gains platform linux. The install-tab choice is stored as tablepro:linux-install; all 12 privacy policies list it.
  • 12 locales. pest --exclude-group=ssr 1038 passed, --group=ssr 53 passed, test:js 229 passed, typecheck clean.
Before (production) After, as it goes live After, Linux released
before 1440 today 1440 Mac visitor 1440
before 390 today iPhone 390 Linux visitor 1440
iPhone visitor Linux visitor, phone Dark Vietnamese
iPhone 390 Linux 390 dark vi

This branch has not been deployed

No deployments
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