consciousness/channels
Kent Overstreet 6e3bacb182 channel-tmux: resolve pane ids by label, don't persist them
tmux pane ids (%6 etc.) are ephemeral — recycled across pane and
tmux-server restarts. The daemon persisted the id in tmux.json5 and
kept reusing it, so after a restart a channel would attach to whatever
unrelated pane had since inherited that id. (Live: ktest's stored %6
had become a claude pane; the real ktest pane was %10.)

Persist only the label — the pane title / window name, which is
stable. pipe_pane_reader() is now a connect-retry loop: each attempt,
connect_and_stream() resolves the live id with find_pane_by_name(); the
loop retries until the pane exists and pipe-pane succeeds, and
reconnects the same way if the pipe later drops. send() resolves the id
at send time; open() just registers the label and lets the reader find
it.

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
2026-05-22 12:26:05 -04:00
..
irc irc: split PRIVMSG on embedded newlines + widen host overhead 2026-04-24 11:54:25 -04:00
socat delete claude code integration 2026-04-09 19:58:07 -04:00
telegram telegram: bound photo download to 60s 2026-05-01 18:56:03 -04:00
tmux channel-tmux: resolve pane ids by label, don't persist them 2026-05-22 12:26:05 -04:00