Skip to content

Actions view#36

Open
Declow wants to merge 3 commits intokitlangton:mainfrom
Declow:actions-view
Open

Actions view#36
Declow wants to merge 3 commits intokitlangton:mainfrom
Declow:actions-view

Conversation

@Declow
Copy link
Copy Markdown

@Declow Declow commented May 6, 2026

Quite a lot but the current view with only the checks was missing runner logs and a nice graph :)

Core Actions View (src/ui/ActionsPane.tsx, src/App.tsx)

  • Full-screen 3-level view toggled with a from detail view: Runs → Jobs → Logs
  • Navigation: Enter drills into a level, Escape backs out
  • Live refresh polling every 5s while any run is in_progress/queued/pending
  • r refreshes, o opens in browser
    Runs Level
  • Lists all workflow runs for the PR with status icons and colored state indicators
  • j/k moves selection, Enter opens the selected run's jobs
    Jobs Level
  • Lists all jobs for the selected run with status/conclusion icons
  • Colored status: green ✓ (success), red ✗ (failure), yellow ● (in_progress), grey ○ (queued/skipped/cancelled)
  • Enter opens the selected job's logs
  • Dependency graph modal (s key): full workflow dependency graph rendered as a horizontal pipeline with box-node grouping for matrix/sub-jobs
    • Horizontal scroll: h/l (left/right arrows)
    • Vertical scroll: j/k, ctrl+u/d, gg/G when modal is open
    • Graph features: transitive reduction, direction-aware connectors, sub-job grouping by " / " prefix
      Logs Level — Step List
  • Steps rendered as a vertical expandable list
  • Each step is one row: disclosure triangle (▸/▾) + status icon + step name
  • j/k moves cursor through the unified list (step headers + expanded log lines)
  • → (right/l) expands the selected step to reveal its log lines below
  • ← (left/h) collapses the step; if already collapsed, backs out to jobs level
  • Single expand: only one step open at a time; expanding a new step collapses the previous
  • Cursor initially lands on the first failed step (if any), but all steps start collapsed
  • Log lines within an expanded step are indented with prefix
    Logs Level — Log Filter & Match Jumping
  • / enters filter mode: type to highlight matching lines (no hiding), shows match count
  • Filter bar: colored prefix, right-aligned match count (green if matches found, red if none)
  • Enter applies the filter, Escape clears it
  • n / N (shift+n) jumps between matches with wrapping in both directions
  • Match jumping uses a stored match index atom (not viewport inference) for reliable wrapping
  • Filter/search only applies to the expanded step's log lines
    Logs Level — Wrap & Horizontal Scroll
  • w toggles line wrap mode
  • Wrap mode ON: long log lines split into multiple visual rows at content width
  • Wrap mode OFF (default): lines truncated; horizontal scroll available
  • zh / zl scrolls horizontally left/right (4 columns)
  • zH / zL scrolls horizontally by half-page
  • Filter bar shows mode indicator (wrap or x:) alongside match count
  • Step headers are unaffected by wrap/scroll
    Log Line Processing
  • ANSI escape sequences and control characters stripped (sanitizeLogLine)
  • Timestamp prefixes stripped for ##[group] detection
  • Lines parsed into steps via ##[group]/##[endgroup] markers, matched to WorkflowStep metadata by name
    Keymap (src/keymap/actionsView.ts)
Screenshot 2026-05-05 at 21 56 31 Screenshot 2026-05-05 at 21 56 44

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant