Skip to content

fix(tui): show direct child sessions as subagents#29174

Open
ChamHerry wants to merge 2 commits into
anomalyco:devfrom
ChamHerry:fix/session-create-child-ui-visibility
Open

fix(tui): show direct child sessions as subagents#29174
ChamHerry wants to merge 2 commits into
anomalyco:devfrom
ChamHerry:fix/session-create-child-ui-visibility

Conversation

@ChamHerry
Copy link
Copy Markdown

@ChamHerry ChamHerry commented May 25, 2026

Issue for this PR

Closes #29175

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Shows direct child sessions in the parent session UI when they were created with session.create(parentID) instead of the native task tool.

The fix teaches the run footer stream state to discover direct child sessions from bootstrap data and session.created / session.updated events, then renders those children as subagent-style entries. Native task metadata still wins when it exists for the same child session.

How did you verify your code works?

  • bun test test/cli/run/subagent-data.test.ts test/cli/run/stream.transport.test.ts
  • bun test test/cli/run/footer.view.test.tsx test/cli/cmd/tui/sync.test.tsx test/cli/cmd/tui/sync-undefined-messages.test.tsx test/cli/tui/use-event.test.tsx test/server/httpapi-session.test.ts
  • bun test test/server/httpapi-sdk.test.ts test/server/session-list.test.ts
  • bun typecheck
  • bun run lint (0 errors)
  • Prettier check on changed files
  • git diff --check
  • Local HTTP API smoke for parent/child session.create

Screenshots / recordings

Not included. This is a terminal UI state fix covered by the tests above.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Direct session.create(parentID) children need to appear in the TUI and run footer even when plugin orchestration does not create native task tool parts.

Constraint: session.create(parentID) direct children have no persisted task tool part metadata.

Rejected: routing OpenSDD through the task tool by default | it changes deterministic orchestration semantics.

Confidence: high

Scope-risk: moderate

Directive: Keep native task metadata tabs authoritative when task parts exist for the same child session.

Tested: bun test test/cli/run/subagent-data.test.ts test/cli/run/stream.transport.test.ts; bun test test/cli/run/footer.view.test.tsx test/cli/cmd/tui/sync.test.tsx test/cli/cmd/tui/sync-undefined-messages.test.tsx test/cli/tui/use-event.test.tsx test/server/httpapi-session.test.ts; bun test test/server/httpapi-sdk.test.ts test/server/session-list.test.ts; bun typecheck; bun run lint; prettier; git diff --check; live HTTP API smoke

Not-tested: Manual interactive TUI visual smoke in a real user terminal
@github-actions github-actions Bot added needs:compliance This means the issue will auto-close after 2 hours. needs:issue labels May 25, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@ChamHerry ChamHerry marked this pull request as ready for review May 25, 2026 05:39
@github-actions github-actions Bot removed needs:compliance This means the issue will auto-close after 2 hours. needs:issue labels May 25, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

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.

Direct child sessions are hidden in parent session UI

1 participant