feat(dashboard): render active_jobs in the interactive TUI Activity page (#505)#513
Merged
Merged
Conversation
…age (#505) Completes the #505 gap-1 TUI piece (#506 shipped plain/--json). The Activity page now shows a live "active jobs" section for in-flight queued/running jobs (e.g. a running @agent ask), deduped against the delegation-tree orchestras so a job that's part of a tree isn't rendered twice. Empty/contradiction cases handled (the "No active jobs" line only shows when nothing is running). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Completes Gap 1 of #505 for the interactive TUI. #506 added the
active_jobsview to the plain/--jsondashboard; this renders it in the full-screengitmoot dashboardActivity page, so a running@agent askis visible while it runs (not just in--json).How
tui.SnapshotgainsActiveJobs []ActiveJob(internal/cli/tui/data.go);toTUISnapshotpopulates it fromdashboardSnapshot.ActiveJobs.activeJobsSection()renders an "active jobs" section (agent · state · id · type/repo, state-coloured) on the Activity page, deduped against delegation-tree orchestras (skips any job whose ID is a tree root / continuation / child) so tree jobs aren't shown twice. Returns "" when nothing standalone is running (orchestras keep the full window).No delegation trees running.; theNo active jobsline only appears when truly nothing is running.Tests
activity_test.go: renders an active job (+ negative assertion the contradictory line is absent), and the empty/nil case (no panic).build/vet/test ./internal/cli/...green; the 4 touched files gofmt-clean.Scope
Plain/
--jsondashboard.gobehavior unchanged. #505 Gaps 2 (stalerunningagent_instances) and 3 (daemon shows "stopped" under systemd) remain as follow-ups.Refs #505.
🤖 Generated with Claude Code