Skip to content

use a line channel per task - #454

Open
Canop wants to merge 2 commits into
mainfrom
per-task-line-channel
Open

use a line channel per task#454
Canop wants to merge 2 commits into
mainfrom
per-task-line-channel

Conversation

@Canop

@Canop Canop commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Removes the (theoretical, only with non default settings) risk of having one line leak from a killed command to the next one.

Canop added 2 commits July 26, 2026 11:21
Removes the (theoretical, only with non default settings) risk of
having one line leak from a killed command to the next one.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the execution plumbing so each task execution uses its own output-line channel, preventing output from a killed command from being observed by the next command under certain (non-default) configurations.

Changes:

  • Move the line output receiver from MissionExecutor to TaskExecutor, creating a fresh channel per task execution.
  • Add a “keepalive” sender to prevent select! from busy-looping on a disconnected line channel after a task ends.
  • Refactor child-process shutdown to wait() exactly once and avoid panicking on kill() errors.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/tui/app.rs Switches the UI event loop to receive command output from the per-task receiver.
src/exec/executor.rs Creates a per-task line channel, keeps it connected until task replacement, and refines kill/wait behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/tui/app.rs
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.

2 participants