Skip to content

site: list every supported operating system, with per-OS install steps - #13

Merged
MichalAFerber merged 1 commit into
mainfrom
jeff/multiplatform-site
Sep 11, 2026
Merged

MichalAFerber merged 1 commit into
mainfrom
jeff/multiplatform-site

Conversation

@tgwab-claude

Copy link
Copy Markdown
Collaborator

tomatick.us said macOS only while v2.0.0 shipped Windows and Linux binaries on the Releases page the site links to. This lists all three, with install steps per platform.

Not a blind append

The old copy was macOS-shaped throughout — "↓ Download for macOS", "No data leaves your Mac", the right-click-Open Gatekeeper instruction. Adding two OS names to that page would have produced something worse than the contradiction it fixed.

  • Per-OS install subsections, because the steps genuinely differ: macOS Gatekeeper, Windows SmartScreen, Linux neither.
  • Data-location paths listed per OS.
  • Focus/DND is now marked macOS-only, verified against the runtime.GOOS guard in internal/focus/focus.go rather than left ambiguous. A Windows visitor reading an unqualified feature list would otherwise expect it.
  • site/public/llms.txt fixed separately — it sits outside src/, so Astro-page edits never reach it. Same trap as site: move the marketing site here from the v1 repo #9, caught deliberately rather than by luck.

Files: index.astro, docs.astro, consts.ts, Head.astro, contact.astro, privacy.astro, public/llms.txt.

Platform verification — what was actually observed

This is stated per platform rather than as a single claim, because the three are not equally verified and a blanket "tested" would be false.

platform verified
macOS Fully. Running Tomatick.app, bundle metadata, codesign checked.
Windows Partially. SSH'd to pve-win11, downloaded the .exe, SHA256 matched the release asset digest exactly, launched it, responsive at 5s, and it created %AppData%\Tomatick\history.db. The tray icon and a real timer/alarm were NOT confirmed — PowerShell over SSH with no GUI session.
Linux Artifact only. SHA256 matched the release digest and the file is a valid ELF x86-64. It panics cleanly on a missing X11 display — a correct failure, not a bug. No running instance was observed.

The Linux gap is structural, not an oversight: every x86_64 box in the estate is headless, and pi5touch/pi5desktop are arm64 — wrong architecture for the linux-amd64 build. Installing Xvfb on r2d2 would have meant changing Michal's daily workstation uninvited, so it was not done.

So Linux is verified as a correct artifact with an understood failure mode, not as an observed running instance. Michal made the call to list all three; this PR does that and says exactly how far the evidence goes.

Checks before push

  • npm run build — 6 pages.
  • npm run test:harness — 9/9 Playwright (CSP, footer, SEO, 404, theme toggle, header download link).
  • Anchored grep across dist/ with a positive control: macOS 3→26, Windows 0→18, Linux 0→18.

Issue

tomatick#37 raised this and is now frozen in an archived repo — still OPEN, and archived issues cannot be commented on or closed. Superseded by tomatick2#12, which this closes.

Closes #12

Not done

site.yml and deploy.yml untouched. That deploy path was only proved out a couple of hours ago and is not worth disturbing in the same change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EQYeUULNUFx2m5nm6fCLwj

Closes #12

v2.0.0's tag-triggered release published Windows and Linux binaries
alongside macOS, but the site (moved here in #9) was still entirely
macOS-shaped: 3 occurrences of "macOS", 0 of "Windows" or "Linux"
across the built pages, while the Releases page it links to has all
three assets. A Windows visitor was told this is a Mac app and then
found a .exe.

Per platform, not a blind append — each OS gets its own install and
first-launch section, since they're genuinely different (macOS
Gatekeeper right-click-Open, Windows SmartScreen More info/Run anyway,
Linux no signing step at all):

- index.astro: hero now states all three platforms explicitly, adds a
  three-card Platforms section, generalizes "No Dock icon" and "leaves
  your Mac" wording that doesn't hold on Windows/Linux, and marks
  Focus/DND as "(macOS only)" in the feature list.
- docs.astro: Quick Start's Install section is now three per-OS
  subsections (previously a single macOS-only walkthrough). Focus/DND
  section now states plainly it's a no-op on Windows/Linux — verified
  against internal/focus/focus.go's `runtime.GOOS != "darwin"` guard,
  not just left unmentioned. Global hotkey's Accessibility-permission
  prompt is now scoped to macOS. Data-location table now lists all
  three OS paths (Windows path confirmed empirically below; Linux
  from internal/settings/settings.go).
- consts.ts, Head.astro, contact.astro, privacy.astro: dropped
  remaining "your Mac" / "macOS version" / operatingSystem: 'macOS'
  (JSON-LD) framing.
- public/llms.txt: same trap as last time (a static file under
  public/, outside src/, so astro-page edits don't reach it) — updated
  to all three platforms and their download formats.

## What was actually verified tonight, and what wasn't

macOS: already verified prior to this PR (Tomatick.app 2.0.0 running,
bundle metadata and adhoc codesign checked).

Windows: downloaded Tomatick-2.0.0-windows-amd64.exe on pve-win11,
SHA256 matched the release asset's digest exactly
(1eafde1c...4c50f), launched it, stayed responsive 5s, and it created
%AppData%\Tomatick\history.db. Did NOT visually confirm the tray icon
appears or that a timer/alarm actually completes — no GUI/RDP session
was used, only PowerShell over SSH.

Linux: downloaded Tomatick-2.0.0-linux-amd64.tar.xz on r2d2 (x86_64,
correct arch), SHA256 matched the release digest
(7772d134...3102be), confirmed a valid ELF x86-64 executable. Running
it produced a clean, specific panic: no X11 display available — not a
crash bug, an environment gap. Every x86_64 box in this estate I could
reach is headless with no desktop environment installed, so there is
nowhere to actually launch the GUI right now. Did not install
Xvfb/X11 packages on r2d2 to force it, since that's Michal's daily
workstation, not a disposable test box, and installing packages there
wasn't asked for. So Linux support is claimed on a checksum-verified,
correctly-built artifact and a specific expected failure mode (missing
display), not an observed running instance.

Green CI on this PR is not additional evidence beyond the above — it
builds and lints the site, it doesn't launch any of the three
binaries.

Verified locally before pushing: npm run build (6 pages), npm run
test:harness (9/9 Playwright checks — CSP, footer, SEO, 404, theme
toggle, header download link), and an anchored grep across dist/ with
a positive control (macOS/Windows/Linux counts: 3->26, 0->18, 0->18).

Does not touch .github/workflows/site.yml or deploy.yml.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EQYeUULNUFx2m5nm6fCLwj
@MichalAFerber
MichalAFerber marked this pull request as ready for review September 11, 2026 02:08
@MichalAFerber
MichalAFerber merged commit a951cf1 into main Sep 11, 2026
6 checks passed
@MichalAFerber
MichalAFerber deleted the jeff/multiplatform-site branch September 11, 2026 03:23
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.

Site claims macOS only, but v2.0.0 ships Windows and Linux binaries

2 participants