diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-23 11:36:11 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-23 11:36:11 +0200 |
| commit | 1abb7649b930d35d1f5a76fd72856659b1ee8275 (patch) | |
| tree | 50d1d3dd905056b75749e22a58e7247e4a4bb0e2 /docs/TUI-GUIDELINES.md | |
| parent | 71a702f375750829c634b552217c9925d549828b (diff) | |
| download | bokf-2ecf4bb37cfd604168625271249e3006ef7d00c8.tar.gz bokf-2ecf4bb37cfd604168625271249e3006ef7d00c8.zip | |
web: bokftui in the browser (ttyd + bokfweb login gate); per-user login limitv0.1.69
New image bokf-web (Dockerfile target "web", compose service "web" on
127.0.0.1:8790): Caddy routing with forward_auth, the bokfweb login gate
(C, authenticates with bokfd's session.open, per-address limit, cookie +
terminal handle, one login handed to the TUI via /redeem) and ttyd running
bokftui in web mode in an isolated throwaway HOME. TLS stays with the
host's reverse proxy. BOKF_WEB=1 blocks every local file and viewer path in
the TUI. bokfd's login limiter is now per user name instead of one global
counter (5 wrong guesses from anyone locked out everybody), and a full
counter table no longer disables it. The cross build and deploy.sh build
and ship both images.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/TUI-GUIDELINES.md')
| -rw-r--r-- | docs/TUI-GUIDELINES.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/TUI-GUIDELINES.md b/docs/TUI-GUIDELINES.md index 650f026..c223514 100644 --- a/docs/TUI-GUIDELINES.md +++ b/docs/TUI-GUIDELINES.md @@ -145,6 +145,13 @@ terminal and browser delivers (checked by `make check`): reload — `^R` is a developer convenience and never the only way). - Every action is reachable with arrows + `Enter` through the menu; a letter accelerator is a shortcut, never the only path. +- **Web mode** (`BOKF_WEB=1`, set by the browser-terminal wrapper): the TUI + runs on the web frontend, not on the user's machine, so a screen never + reads or writes a local file or starts a program there. Every such path + goes through `ui_web_block(title)` (`clients/ui.c`), which shows why and + returns 1: the file browser, `save_cache_and_open` (PDF viewer), the + attachment download and the SRU/eSKD/årsredovisning save prompts. New + file features must call it too (pty scenario `web-mode`). ### Implementation status |
