o: fix tui event subscription - use IDs not names

Event topics use session/agent IDs, not names. Look up IDs from
the idx files before subscribing to state events.
This commit is contained in:
Levi Neely 2026-10-09 12:47:29 +02:00
parent f490d4eef2
commit b5138fd55e
1 changed files with 23 additions and 16 deletions

View File

@ -422,8 +422,14 @@ cmd_tui() {
tmux set-option -t "$tmux_session" status-right "starting... | %H:%M"
tmux set-option -t "$tmux_session" status-right-length 64
# Subscribe to state events for this agent only
echo "session.${s}.agent.${a}.state" | ollie-9p rdwrs event 2>/dev/null | while read -r topic state; do
# Get session and agent IDs for event subscription
local sess_id agent_id
sess_id=$(ollie-9p read "session/idx" 2>/dev/null | awk -F'\t' -v name="$s" '$2 == name { print $1; exit }')
agent_id=$(ollie-9p read "session/$s/agent/idx" 2>/dev/null | awk -F'\t' -v name="$a" '$3 == name { print $2; exit }')
if [[ -n "$sess_id" && -n "$agent_id" ]]; then
# Subscribe to state events for this agent
echo "session.${sess_id}.agent.${agent_id}.state" | ollie-9p rdwrs event 2>/dev/null | while read -r topic state; do
bg=""
case "$state" in
idle) bg="colour70" ;;
@ -438,6 +444,7 @@ cmd_tui() {
done &
local bg_pid=$!
trap "kill $bg_pid 2>/dev/null" EXIT
fi
tmux select-pane -t "${tmux_session}:0.1"
exec tmux attach -t "$tmux_session"