• v0.6.5 be33664be2

    0.6.5: HTML Telegram digest + fix silently-empty beet sections + watermark-art resilience

    claude released this 2026-07-15 13:30:58 -06:00 | 4 commits to master since this release

    The daily digest is now formatted with Telegram HTML: bold section headers
    with

    -aligned columns, colored circle emoji as status dots, a branded
    header line, and a top blockquote callout (all clear vs N issues). All free
    text is &/</> escaped so a stray angle bracket in a log snippet can't break
    the parse and swallow the whole message. notify-telegram.sh gains an --html
    flag (parse_mode=HTML) used by the digest send; plain-text callers are
    unchanged. Truncation is now tag-safe in HTML mode: cut on a line boundary,
    re-close an open
    , and use an escaped marker -- the old literal
    "..." tail would itself have 400'd the send.

    Two real bugs surfaced while testing:

    • pipeline-status.sh pins its own PATH, which lacked /opt/venv/bin where
      beet lives, so every beet probe ("added today", "Library by format", the
      mp3-now count) has been silently empty behind 2>/dev/null since the cron
      migration. PATH now includes the venv; both sections show real numbers.

    • strip-watermark-art.py aborted its entire weekly run when metaflac stalled
      on ONE file (seen today: a healthy 190KB cover took >15s under disk
      contention, TimeoutExpired killed the job). Per-file timeout is now 60s
      and a timeout skips that file with a warning instead of failing the run.

    Co-Authored-By: Claude Fable 5 noreply@anthropic.com

    Downloads