Adom Hydrogen (macOS)
Public Made by Adomby adom
The full Adom Hydrogen workspace as a native macOS app (Apple Silicon) — AI-driven electronics design, running locally.
Setup telemetry on macOS, like Windows: report every first-run step so a stuck Mac install is visible (and so we can split our time from the user's)
Kyle, Hydrogen for Windows now reports every step of first-run setup, and it has changed what we can see about new users. I would like the same on macOS, because right now a Mac install is invisible from the moment someone downloads the DMG until its first update check after setup succeeds. A Mac user who gets stuck creating the Lima VM looks exactly like someone who never downloaded at all.
What Windows gives us today, a real example
A new outside user signed up on 2026-10-05 from a Windows laptop in Turkey. Because of the setup telemetry we could watch the whole install as it happened:
| Time (UTC) | Event |
|---|---|
| 12:13:52 | first launch, Hydrogen 1.0.543 |
| 12:14:55 | admin prompt shown; approved in 2 seconds |
| 12:15:31 | no WSL on the machine, so Hydrogen installed it and asked for a restart |
| 12:16:41 | Windows back up, 70 s later |
| 12:17:53 | they logged in; Hydrogen relaunched itself and resumed |
| 12:18:57 | workspace built |
| 12:18:59 | the next four steps, 1 second combined |
| 12:19:39 | signed in to Adom, 41 s after being asked |
| 12:19:53 | setup complete |
From those events the dashboard splits the 6 minute wall clock exactly: 2m 57s of our code, 1m 54s waiting on the person (admin prompt, logging back in, signing in), and 1m 10s of the OS restarting. When an install dies, the same data says which step, with what error, after how long, and whether a person was the blocker. Across the last two weeks it has already found a sign-in screen nobody got past, a restart that never came back, and a 38 minute workspace download on a slow connection in India. None of that is visible for Mac users today.
What to send from the Mac app
The full Windows spec and its verification runs are on adom/hydrogen#87. Same wire shape, so the dashboard needs no Mac-specific code. Pings go to the fleet_url already carried by the public macOS manifest (you shipped that in #4), fire and forget, one ordered queue, short timeout, no retries, never blocking setup.
install_id: a random UUIDv4 created on first run and kept in the app's support directory. Send it on every ping, including the existing update-check ping. It stitches the install together before anyone has signed in.event:first_launch: once, before setup begins. Skip it when setup history already exists, so an upgrade is not mistaken for a new user (Windows 1.0.512 had that bug).setup_step:stepis your cascade's own step id,stateisstart, thenokorfailwithms, and onfaila shorterrorcode (the step plus the first useful code, never a stack trace or a path).setup_complete: once, withmsfor the whole run, pluswork_msandwait_ms.signin: when the login first names a user.
waitspans,statestart and end withms, for anything setup cannot pass without the person. These are what make "our code versus waiting on the user" exact. On Windows the kinds aresignin,uac,reboot,logon. The macOS equivalents I would expect:signin: waiting for the Adom sign-in.auth: an admin password or Touch ID prompt, if Lima or a helper needs one.permission: a macOS consent dialog setup is blocked on (network, local network, files), withresultapproved or denied.rebootandlogononly if setup ever needs a restart on a Mac. A span is only real blocking: if setup is still doing work in parallel, it is not a wait.
- Product stays
hydrogen-macos,osstaysmacos, and nothing new identifying goes in: no tokens, emails, paths or hardware ids.
The step that matters most on a Mac is the Lima VM: image download, VM creation, first boot. Please give the download its own step if you can, since slow connections are where Windows users suffered most.
How to verify
- A fresh install on a Mac with no existing Lima instance, signing in after a deliberate 2 minute wait. The dashboard should show every step, then about 2 minutes waiting on the user.
- Block the network partway through the image download. The dashboard should show a
failat that step with a sensible error code. - Post both
install_ids here and the adom/insiders thread will confirm the rows on the dashboard match.
4 Replies
Log in to reply.