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:
parent
f490d4eef2
commit
b5138fd55e
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in New Issue