← Commit history

Publish 0.5.70

John Lauer ·5d0b07e3ef ·17d ago ·parent 1d8bca5
3 files changed +34−6
install.sh+31−3
@@ -630,13 +630,17 @@ set -u stage="$HOME/.adom/code-server" [ -f "$stage/target" ] || exit 0 target="$(cat "$stage/target")"-have="$(code-server --version 2>/dev/null | head -1 | awk '{print $1}')"+# Same version read as the gate: dpkg first, then the 4.x field of --version (golden images print+# a bare VS Code version like 1.124.2, which is not a code-server version at all).+ver() { local v; v="$(dpkg-query -W -f='${Version}' code-server 2>/dev/null | sed 's/[-+].*//')"; [ -n "$v" ] || v="$(code-server --version 2>/dev/null | tr ' ' '\n' | grep -m1 -E '^4\.[0-9]+\.[0-9]+$')"; echo "$v"; }+have="$(ver)" if [ "$have" = "$target" ]; then rm -f "$stage"/code-server_*.deb "$stage/target"; exit 0; fi deb="$stage/code-server_${target}_amd64.deb"-[ -s "$deb" ] || exit 0+# A note with no package behind it can never be applied: drop it so this unit stops running.+[ -s "$deb" ] || { echo "[code-server-apply] nothing staged for $target: clearing the stale note"; rm -f "$stage/target"; exit 0; } echo "[code-server-apply] $have -> $target" if sudo dpkg -i "$deb" >/dev/null 2>&1; then-  now="$(code-server --version 2>/dev/null | head -1 | awk '{print $1}')"+  now="$(ver)"   echo "[code-server-apply] now $now"   [ "$now" = "$target" ] && rm -f "$deb" "$stage/target" else@@ -652,6 +656,7 @@ APPLY Description=Apply a staged code-server upgrade before the editor starts Before=code-server.service ConditionPathExists=/home/adom/.adom/code-server/target+ConditionFileIsExecutable=/home/adom/.adom/bin/adom-code-server-apply  [Service] Type=oneshot@@ -668,6 +673,29 @@ UNIT     echo "  code-server gate: no sudo to install the boot unit; the staged package waits"   fi }++# HEAL LEFTOVERS FROM THE SEPTEMBER MISREAD (ConfRoomROG 2026-10-05). Early 0.5.x read a golden+# image's bare "1.12x" as older than 4.131.0 and staged a bogus upgrade; on CRR the package and+# the applier later vanished while the note and the boot unit stayed, so the unit failed with+# 203/EXEC at every workspace start and systemd reported degraded. The gate returns early on+# those boxes now and never touched them, so heal here, on every run, before it:+#   - a note with no package behind it is dropped (there is nothing to apply);+#   - an older unit without the executable condition gets it, and its failed state is cleared.+cs_heal() {+  local stage="$HOME/.adom/code-server"+  if [ -f "$stage/target" ] && ! ls "$stage"/code-server_*.deb >/dev/null 2>&1; then+    rm -f "$stage/target"+    echo "  code-server gate: cleared a stale upgrade note (no package was staged)"+  fi+  local unit=/etc/systemd/system/adom-code-server-apply.service+  if [ -f "$unit" ] && ! grep -q '^ConditionFileIsExecutable=' "$unit" && sudo -n true 2>/dev/null; then+    sudo sed -i '/^ConditionPathExists=/a ConditionFileIsExecutable=/home/adom/.adom/bin/adom-code-server-apply' "$unit"+    sudo systemctl daemon-reload >/dev/null 2>&1 || true+    sudo systemctl reset-failed adom-code-server-apply.service >/dev/null 2>&1 || true+    echo "  code-server gate: the boot unit now skips when its program is missing (was failing at every start)"+  fi+}+cs_heal cs_gate  # hydrogen-widget (adom/hydrogen#17): the clock widget and the shared widget helper for Hydrogen's title bar.
package.json+2−2
@@ -4,7 +4,7 @@   "type": "bootstrap",   "title": "Adom Hydrogen (platform base)",   "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",-  "version": "0.5.69",+  "version": "0.5.70",   "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.",   "org": "adom",   "tags": [@@ -49,4 +49,4 @@     "connect grok"   ],   "changelog": "0.5.68: memory guardrails in every Hydrogen workspace (section 4g): earlyoom stops a runaway job at 8% free memory before the workspace thrashes, code-server's inherited OOM protection is removed so the runaway is the one chosen, and swappiness drops to 10. Proven on AdomLapper: a 12 GB hog stopped in 39 s, code-server untouched."-}\ No newline at end of file+}
page.json+1−1
@@ -4,7 +4,7 @@   "type": "bootstrap",   "title": "Adom Hydrogen (platform base)",   "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",-  "version": "0.5.69",+  "version": "0.5.70",   "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.",   "org": "adom",   "tags": [