From a9e71108a763c079c0d08a659b14e3814034fdf2 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Wed, 23 Sep 2026 17:25:12 -0700 Subject: [PATCH] feat(cli): `booth blur ` with no files fogs the whole booth MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The operator: "per booth blurring is now important since we are showing up to 4 images." The Desk is why. Measured on the live set: 84 images across 22 booths on the page he opens first, 10 of them blurred. Before the redesign the index showed one cover per booth; four-up multiplies the exposure by four, and NOTHING POSTED BEFORE THE REDESIGN OPTED INTO THAT. The storage landed with the flag; this is the half that makes it usable before design-dev's control ships. Seventeen handles call this script, so a session posting sensitive work can self-blur AT POST TIME — which is the durable fix, because the operator should not have to police 22 booths by hand. No files named means the whole booth, which is the mental model already: `blur ...` was per item and required two arguments, so one argument could only ever have been an error. COMPOSES with the per-item list: `unblur ` clears the flag and leaves individual choices exactly as they were, the same promise the resolver makes. Also records both rulings routed this turn: x hides with the other Desk controls, and the theme toggle reaches the chrome inside verbatim pages. Verified under the system python3 with no venv, which is the only way most callers ever run it. --- scripts/booth | 24 ++++++++++++++++++++++-- tests/test_cli.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/scripts/booth b/scripts/booth index 0d63068..8af7ba5 100755 --- a/scripts/booth +++ b/scripts/booth @@ -240,7 +240,7 @@ sys.stdout.write("N" if name is None else "B:" + name) } usage() { - echo "usage: booth {new [--why W] [--title T]|add ... [--why W] [--title T]|url |ls|rm |keep |unkeep |blur ...|unblur ...|link [description]|links|unlink |ask