From 8dc2e7d2f11aee4e70c3675e4ba6dd255a47e0e4 Mon Sep 17 00:00:00 2001 From: Anders Betts Date: Wed, 23 Sep 2026 11:51:44 +0200 Subject: web: ship glibc C.utf8 so the web TUI shows åäö MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cross-built bokftui is static glibc; in the Alpine web image it found no locale data, setlocale() failed and åäö were invalid bytes. The cross build now copies Debian's C.utf8 into the image and the image build runs bokfweb --check-locale, so a TUI without UTF-8 fails the build. Co-Authored-By: Claude Opus 5.5 --- docs/DEPLOY.md | 4 ++++ docs/STATE.md | 6 ++++++ 2 files changed, 10 insertions(+) (limited to 'docs') diff --git a/docs/DEPLOY.md b/docs/DEPLOY.md index 99b7661..008093f 100644 --- a/docs/DEPLOY.md +++ b/docs/DEPLOY.md @@ -276,6 +276,10 @@ browser ──443──▶ host Caddy (TLS) ──▶ 127.0.0.1:8790 bokf-web c Port 443 is already forwarded for the other sites. The container publishes 8790 on the host's loopback only, so it is unreachable until that block exists. +- **UTF-8**: the cross-built binaries are static glibc, which needs its own + locale data; the image ships Debian's `C.utf8` in `/usr/lib/locale` and + the build runs `bokfweb --check-locale`, so an image whose TUI could not + show åäö fails to build instead of shipping. - `BOKF_WEB_MAX_SESSIONS` (default 20) caps concurrent terminals. `docker compose logs web` shows logins, logouts and failed attempts (never passwords). diff --git a/docs/STATE.md b/docs/STATE.md index c33d80e..10286fb 100644 --- a/docs/STATE.md +++ b/docs/STATE.md @@ -14,6 +14,12 @@ unit tests and the docs consistency check. ## Resume here (2026-09-23) +- **Web åäö fix (2026-09-23, `v0.1.70`)**: the web TUI showed no åäö on + the NAS: the cross-built static glibc bokftui found no locale data in + the Alpine image (setlocale failed, åäö were invalid bytes). The image + now ships Debian's `C.utf8` and the build checks it + (`bokfweb --check-locale`). Local amd64 tests missed it because the + native build uses musl. - **Web frontend (2026-09-23, live since `v0.1.69`: https://bokf.makandra.eu/web)**: image `bokf-web` (Caddy routing + `bokfweb` login gate + ttyd + bokftui in web mode) as compose service `web` on `127.0.0.1:8790`; see -- cgit v1.3