The Telegram-session design, wired in: busy = breathing blue block + live dnf action; ok = green block + count; fail = RED block (per your spec change from X) + log tail. TTY-safe (background-coloured space, zero glyph/locale dependency), colour-depth aware, ASCII fallback.
Also: vendored lib/ui-block.sh helper + EXIT trap, and a real bug fixed — the trap could turn every successful run into exit 1.
The Telegram-session design, wired in: busy = breathing blue block + live dnf action; ok = green block + count; fail = RED block (per your spec change from X) + log tail. TTY-safe (background-coloured space, zero glyph/locale dependency), colour-depth aware, ASCII fallback.
Also: vendored lib/ui-block.sh helper + EXIT trap, and a real bug fixed — the trap could turn every successful run into exit 1.
ui_quiet_run now paints a TTY-safe status BLOCK: a background-coloured
SPACE (never a glyph, no font/locale dependency — the braille lesson).
busy : blue block breathing through a 256-colour ramp (48;5;17..33)
with the live dnf action after it
ok : solid green block + package count
fail : solid RED block (spec: YuKu changed the red X to a red block)
followed by the log tail
Colour-depth aware: 256-colour ramp -> 16-colour blue/bright-blue ->
plain ASCII spinner when the terminal reports no colour. LANG=C pty
run shows zero non-ASCII bytes.
Also vendors lib/ui-block.sh (the standalone helper from the Telegram
session prototype; fail changed to red block) and installs the
ui_block_close EXIT trap — with a return 0, because an EXIT trap's
status becomes the script's exit code (harness caught every-successful-
run exiting 1 through that path).
YuKu: 'the breathing is super slow'. Frame interval down from 150ms
to 50ms (~7fps -> ~20fps pulse). Same change in the vendored
lib/ui-block.sh helper for consistency.
At 20fps the previous narrow ramp (shades 17-33) flicker-fused into an
apparent SOLID block on the VM. Amplitude now spans dark navy (17) to
bright blue (45) in 12 steps — every frame is visibly different, cycle
is 0.6s. Speed unchanged.
YuKu tests on the bare Linux VT (not a terminal emulator): my 16-colour
fallback alternated blue (44) / bright blue (104), which render nearly
identically on VGA consoles -> fused into 'solid blue'. If TERM
misreports 256, 48;5;N codes are ignored outright.
Fixes:
- TERM linux*/console* forces the 16-colour path regardless of tput.
- 16-colour mode now PULSES THE BLOCK ON/OFF (2 frames blue block,
2 frames no block, ~2.5Hz) instead of shade alternation — visible
on any console hardware, no colour fidelity required.
- 256-colour terminals keep the deep 17->45 breathe ramp.
Verified: TERM=linux pty shows block/no-block alternation with zero
48;5 codes; TERM=xterm-256color keeps the 8-shade ramp; unattended +
piped regressions green.
The on/off pulse shifted the whole line by one character during the
dark frames (off-frame printed one space fewer than the block frame).
Per YuKu: keep the block ALWAYS present and alternate its colour
instead — blue (44) <-> dark grey (100, bright black). Layout is
constant, pulse is colour-based, nothing moves but the block itself.
Also: disable_selinux now mkdir -p's /etc/selinux before writing a
fresh config (harness caught a die on a missing parent dir).
YuKu: 'slow the flicker a bit (half or one-third speed)'. The 16-colour
blue<->grey pulse now ticks at 150ms (600ms full cycle, calm); the
256-colour terminal breathe keeps its 50ms deep ramp. Per-depth tick
variable; same in the vendored helper.
Rate proven by pty trace: 8 frames in a 1.2s transaction = 150ms
exactly. (Frame-counting via grep -c undercounts — \r overwrites
collapse frames onto one line; count matches, not lines.)
yuri
merged commit 85ba9ddb51 into main2026-10-27 22:50:24 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The Telegram-session design, wired in: busy = breathing blue block + live dnf action; ok = green block + count; fail = RED block (per your spec change from X) + log tail. TTY-safe (background-coloured space, zero glyph/locale dependency), colour-depth aware, ASCII fallback.
Also: vendored lib/ui-block.sh helper + EXIT trap, and a real bug fixed — the trap could turn every successful run into exit 1.
ui_quiet_run now paints a TTY-safe status BLOCK: a background-coloured SPACE (never a glyph, no font/locale dependency — the braille lesson). busy : blue block breathing through a 256-colour ramp (48;5;17..33) with the live dnf action after it ok : solid green block + package count fail : solid RED block (spec: YuKu changed the red X to a red block) followed by the log tail Colour-depth aware: 256-colour ramp -> 16-colour blue/bright-blue -> plain ASCII spinner when the terminal reports no colour. LANG=C pty run shows zero non-ASCII bytes. Also vendors lib/ui-block.sh (the standalone helper from the Telegram session prototype; fail changed to red block) and installs the ui_block_close EXIT trap — with a return 0, because an EXIT trap's status becomes the script's exit code (harness caught every-successful- run exiting 1 through that path).