← Commit history

hd -> hydrogen prose; rename docs/adom-hydrogen.md

Kyle Bergstedt ·1d5723d71b ·2mo ago ·parent 6db2e39
1 file changed +14−14
installer-SKILL.md+14−14
@@ -25,7 +25,7 @@ It installs to `%LOCALAPPDATA%\Adom Desktop\` — no UAC prompt, no admin needed  **UI behavior**: zero UI in all cases. `SilentInstall silent` is set at the top of the NSIS script, so even `setup.exe` invoked from Explorer runs without a window. No Welcome page, no progress bar, no Finish page. -**Auto-launch**: by default the installer calls `ExecShell "" "$INSTDIR\adom-desktop.exe"` at the end of POSTINSTALL. Pass `/NOLAUNCH` to suppress this. Used by HD when bundling AD because HD wants to spawn AD with `--embedded --start-hidden --relay-url ... --session-token ...` itself, not let AD launch standalone first and get respawned via single-instance.+**Auto-launch**: by default the installer calls `ExecShell "" "$INSTDIR\adom-desktop.exe"` at the end of POSTINSTALL. Pass `/NOLAUNCH` to suppress this. Used by Hydrogen when bundling AD because Hydrogen wants to spawn AD with `--embedded --start-hidden --relay-url ... --session-token ...` itself, not let AD launch standalone first and get respawned via single-instance.  ## Live progress log @@ -50,11 +50,11 @@ Stage tags currently emitted:  The uninstaller writes the same log with `[PREUNINSTALL]` / `[POSTUNINSTALL]` stages. -## Recipe: HD's setup-step UI tails the log+## Recipe: Hydrogen's setup-step UI tails the log -Spawn the installer with `/NOLAUNCH`, poll the log file on a 200 ms timer, surface each new line to HD's UI. When `[DONE]` shows up OR the process exits, the install is complete.+Spawn the installer with `/NOLAUNCH`, poll the log file on a 200 ms timer, surface each new line to Hydrogen's UI. When `[DONE]` shows up OR the process exits, the install is complete. -### Rust (HD's installer driver)+### Rust (Hydrogen's installer driver)  ```rust use std::{env, fs, path::PathBuf, process::Command, time::Duration};@@ -164,9 +164,9 @@ fn adom_desktop_installed_version() -> Option<String> {  Compare with `semver::Version::parse` to decide whether to skip / upgrade / leave-alone. -## Recipe: HD's setup-step ladder for embedding AD+## Recipe: Hydrogen's setup-step ladder for embedding AD -The full pattern HD's setup-step UI runs when embedding AD:+The full pattern Hydrogen's setup-step UI runs when embedding AD:  ``` 1. Check installed version          → registry read above@@ -182,15 +182,15 @@ The full pattern HD's setup-step UI runs when embedding AD:                                           --start-hidden                                           --relay-url ws://127.0.0.1:8765                                           --relay-name adom-hydrogen-                                          --session-token <hd's token>+                                          --session-token <hydrogen's token> 7. Poll AD's direct API for liveness → GET http://127.0.0.1:47200/health ``` -Steps 4 and 5 are also covered by AD's installer if you pass `--embedded` at AD's first launch (the embedded-mode detection writes the marker and AD's autostart-upgrade routine handles its own shortcuts). Doing them in HD's installer is belt-and-suspenders.+Steps 4 and 5 are also covered by AD's installer if you pass `--embedded` at AD's first launch (the embedded-mode detection writes the marker and AD's autostart-upgrade routine handles its own shortcuts). Doing them in Hydrogen's installer is belt-and-suspenders.  ## Bundle-resource pattern -HD's `tauri.conf.json` should include the AD installer as a bundle resource so it ships inside HD's NSIS installer:+Hydrogen's `tauri.conf.json` should include the AD installer as a bundle resource so it ships inside Hydrogen's NSIS installer:  ```json "bundle": {@@ -200,18 +200,18 @@ HD's `tauri.conf.json` should include the AD installer as a bundle resource so i } ``` -At runtime HD finds it under its install dir at `$INSTDIR\resources\Adom Desktop_<ver>_x64-setup.exe` — pass that path to the install function above.+At runtime Hydrogen finds it under its install dir at `$INSTDIR\resources\Adom Desktop_<ver>_x64-setup.exe` — pass that path to the install function above.  ## Versioning + upgrade strategy -| Scenario | What HD's installer should do |+| Scenario | What Hydrogen's installer should do | |---|---| | No AD installed | Install bundled version | | AD older than bundled | Install bundled version (upgrade) | | AD same as bundled | Skip install step; still spawn with embedded flags | | AD newer than bundled | Skip install step; spawn with embedded flags. Don't downgrade — embedded mode works for any AD ≥ v1.8.42 | -The bundled AD installer is the minimum supported version for the HD release. HD can spawn newer ADs without modification.+The bundled AD installer is the minimum supported version for the Hydrogen release. Hydrogen can spawn newer ADs without modification.  ## Exit codes @@ -230,7 +230,7 @@ Public download (the user's wiki, which is what end users hit): https://wiki.adom.inc/static/apps/adom-desktop/Adom%20Desktop_<version>_x64-setup.exe ``` -The wiki page's `metadata.install.windows_installer` field points at the canonical filename for the current published version. HD's release build can fetch the latest via:+The wiki page's `metadata.install.windows_installer` field points at the canonical filename for the current published version. Hydrogen's release build can fetch the latest via:  ```bash curl -fL https://wiki.adom.inc/static/apps/adom-desktop/version.json | jq -r .windows.installer_filename@@ -239,4 +239,4 @@ curl -fL https://wiki.adom.inc/static/apps/adom-desktop/version.json | jq -r .wi curl -fL "https://wiki.adom.inc/static/apps/adom-desktop/$FILENAME" -o resources/ad-setup.exe ``` -`version.json` also carries the SHA256 hash of the installer so HD's build pipeline can verify the download before bundling.+`version.json` also carries the SHA256 hash of the installer so Hydrogen's build pipeline can verify the download before bundling.