From d5213adb7a66d10c6a2944543238b4bdb600440f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hern=C3=A2ni=20Marques?= Date: Sun, 19 Jul 2026 02:43:17 +0200 Subject: [PATCH] release 1.13.3: sticky generated time in Europe/Zurich (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Display wall-clock like local `date` (CEST/CET), not UTC …Z. ISO datetime keeps +02:00 offset so the live age counter stays correct. --- VERSION | 2 +- VERSIONS.md | 1 + host-agent/run-host-report.sh | 10 ++++++++-- site-gen/console_to_html.py | 27 +++++++++++++++++++++------ 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/VERSION b/VERSION index 61ce01b..01b7568 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.2 +1.13.3 diff --git a/VERSIONS.md b/VERSIONS.md index 48050a1..e31d1e0 100644 --- a/VERSIONS.md +++ b/VERSIONS.md @@ -17,6 +17,7 @@ Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.8.0`). File `VERSION` omits the `v` pre | Tag | Date (UTC) | Notes | |-----|------------|--------| +| **v1.13.3** | 2026-07-19 | **Bugfix:** sticky **generated** time in **Europe/Zurich** (CEST/CET · MESZ/MEZ), not UTC `…Z`; ISO keeps offset for age JS. | | **v1.13.2** | 2026-07-19 | **Bugfix:** sticky version link uses **commit** URL (`/src/commit/`) not `/src/tag/v…` (tags not yet pushed → Forgejo fat 404); tags v1.11–v1.13.1 pushed to origin. | | **v1.13.1** | 2026-07-19 | **Bugfix:** progress bar **global** done/total — phase `summary()` no longer snaps total to phase-local N (fixes 34/34 then 38/47); final `progress_finish` snaps once; header shows 0/N. | | **v1.13.0** | 2026-07-19 | **Feature:** phase **devtesting** / **franken** — fake-franken CHF via `rusty.taler-ops.ch` (`taler-devtesting` geniban + fake-incoming); stage host-agent can include it. | diff --git a/host-agent/run-host-report.sh b/host-agent/run-host-report.sh index d874a7b..a29a08f 100755 --- a/host-agent/run-host-report.sh +++ b/host-agent/run-host-report.sh @@ -293,8 +293,14 @@ write_bootstrap_html() { local curl="${COMMIT_URL:-}" local clink="$cshort" local gen iso - gen=$(date -u +"%Y-%m-%d %H:%M:%SZ" 2>/dev/null || date) - iso=$(date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -Iseconds) + # Local wall clock (CEST/CET · MESZ/MEZ on CH/DE hosts), not UTC Z + if TZ=Europe/Zurich date +"%Y-%m-%d %H:%M:%S %Z" >/dev/null 2>&1; then + gen=$(TZ=Europe/Zurich date +"%Y-%m-%d %H:%M:%S %Z") + iso=$(TZ=Europe/Zurich date +"%Y-%m-%dT%H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/') + else + gen=$(date +"%Y-%m-%d %H:%M:%S %Z" 2>/dev/null || date) + iso=$(date -Iseconds 2>/dev/null || date) + fi if [ -n "$curl" ]; then clink="$cshort" fi diff --git a/site-gen/console_to_html.py b/site-gen/console_to_html.py index 0de1c56..eae74bc 100755 --- a/site-gen/console_to_html.py +++ b/site-gen/console_to_html.py @@ -8,6 +8,25 @@ import re from datetime import datetime, timezone from pathlib import Path +# Display timestamps in Central European time (CEST/CET · MESZ/MEZ), same as `date` on CH/DE hosts. +try: + from zoneinfo import ZoneInfo + + MON_TZ = ZoneInfo("Europe/Zurich") +except Exception: # pragma: no cover + MON_TZ = timezone.utc + + +def format_generated_now() -> tuple[str, str]: + """Return (display_local, iso_with_offset) for sticky bar +