From 1e6e5c4ee9a3bc71fbe43ef4d2257bacdb3c09b8 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Tue, 9 Jun 2026 14:09:55 +0000 Subject: [PATCH] t3code: enable t3-autoupdate.timer from the hourly provisioner The unit files (t3-autoupdate.{timer,service,sh}) were committed but nothing ever enabled the timer, so it sat `disabled` and every t3-serve@ instance silently froze on an old t3 build (all users were on v0.0.24 while nightly was 0.0.25-nightly.20260608). Enable it from the hourly reconciler (not the once-at-provision setup-devvm.sh) so it self-heals if ever disabled again. [ci skip] Co-Authored-By: Claude Opus 4.8 --- scripts/t3-provision-users.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/t3-provision-users.sh b/scripts/t3-provision-users.sh index 33edf3fd..737bfe4d 100644 --- a/scripts/t3-provision-users.sh +++ b/scripts/t3-provision-users.sh @@ -159,6 +159,10 @@ while IFS=$'\t' read -r os_user port; do id "$os_user" >/dev/null 2>&1 && run systemctl enable --now "t3-serve@$os_user.service" >/dev/null 2>&1 || true done < <(jq -r '.ports | to_entries[] | [.key, .value] | @tsv' "$desired_file") +# 5b) machine-wide (once, not per-user): keep the t3 nightly auto-updater enabled so it +# self-heals hourly — a `disabled` timer silently freezes every instance on an old build. +run systemctl enable --now t3-autoupdate.timer >/dev/null 2>&1 || true + # 6) regenerate /etc/ttyd-user-map + dispatch.json from the desired state (SSoT: # a roster entry removed here DISAPPEARS, which is what the offboarding cut relies on) if [[ "$DRY_RUN" == 1 ]]; then