Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • tools
  • lcxl-leds-watch.service
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    fix(lcxl-leds): the LED daemon was mute in the journal — twice over (#106) · f9b2c83a
    Take 94 came back with no track trail, and there was no way to tell from the logs
    whether the watcher had seen the track changes, failed to bind them, or simply
    never run. It had been running for 2h46m. It had emitted nothing but systemd's own
    start/stop lines the entire time.
    
    Two independent causes, and either alone is enough to blind the unit:
    
    1. Python BLOCK-buffers stdout when it is a pipe, and under systemd it always is.
       Even the lines that were being printed would have sat unflushed in a 4 KB
       buffer. Fixed with Environment=PYTHONUNBUFFERED=1 in the unit.
    
    2. `--watch -q` suppressed the track-change line itself, so there was nothing to
       flush. That is the wrong thing to make quiet. `quiet` should mean "no per-CC
       chatter" — thousands of lines an hour — not "never say what you are painting",
       which is a handful of lines an hour and the entire purpose of the daemon. The
       track-change log is now unconditional.
    
    Verified live rather than by reading: restarted the unit, wrote a different track
    to ~/.cache/parvagues/current-track, restored the original, and read the journal
    back. Both transitions appear with their binding counts (desire 28 controls,
    vague_de_crime 20), and a re-parse of the same file is labelled distinctly from a
    real track change — that distinction matters because an edit-and-save must keep
    the touched-state while a genuine track change must clear it.
    
    Same family as the stale-binding pattern this rig keeps producing: something
    resolved once, invalidated by an event, with no error anywhere. Here the error
    reporting itself was the thing that had been silently resolved to /dev/null.
    PLN (Algolia) authored Jul 29, 2026
    f9b2c83a
lcxl-leds-watch.service 1.66 KB
EditWeb IDE
×

Replace lcxl-leds-watch.service

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.