Skip to content

Fix unreliable quick input on Kanban view#444

Merged
bborn merged 2 commits intomainfrom
task/1240-fix-unreliable-quick-input-on-kanban-vie
Feb 11, 2026
Merged

Fix unreliable quick input on Kanban view#444
bborn merged 2 commits intomainfrom
task/1240-fix-unreliable-quick-input-on-kanban-vie

Conversation

@bborn
Copy link
Owner

@bborn bborn commented Feb 11, 2026

Summary

  • Stop prematurely clearing tasksNeedingInput after approve/deny — let the natural status transition (blocked → processing) handle cleanup instead
  • Add GetActiveTaskWindows() batch check to reliably detect blocked tasks with active tmux panes, catching tasks missed by transition detection (startup, rapid cycles)
  • Add tests validating the new behavior

Root Cause

The quick input prompt preview would disappear after approve/deny because executorRespondedMsg immediately cleared tasksNeedingInput. If the task was still blocked (e.g., the executor hadn't processed the input yet), the UI wouldn't re-detect it because it only looked for status transitions to blocked, not tasks already in blocked state.

Test plan

  • All existing tests pass
  • New test: TestExecutorRespondedDoesNotClearNeedsInput validates the fix
  • New test: TestBlockedTasksDetectedOnInitialLoad validates initial load behavior
  • New test: TestGetActiveTaskWindows validates the batch tmux check
  • Manual: Approve a permission prompt from kanban → verify prompt stays visible until task resumes processing
  • Manual: Start app with already-blocked tasks → verify quick input appears

🤖 Generated with Claude Code

bborn and others added 2 commits February 11, 2026 12:16
The quick input feature (approve/deny executor prompts from the Kanban)
was unreliable due to three issues:

1. After approve/deny, tasksNeedingInput was prematurely cleared in the
   executorRespondedMsg handler, causing the prompt preview to disappear
   even when the task was still blocked. Now we only clear the cached
   prompt content and let the natural status transition handle cleanup.

2. Blocked tasks were only detected via status transitions, so tasks
   already blocked on app startup or those that cycled through
   blocked→processing→blocked within one poll were missed.

3. Added GetActiveTaskWindows() to batch-check which tasks have active
   tmux windows, enabling reliable detection of blocked tasks that need
   quick input regardless of how they entered the blocked state.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…-vie

Resolve conflicts by adopting main's latestPermissionPrompt approach
for detecting pending executor prompts via DB hook logs. This replaces
the tmux window check (GetActiveTaskWindows) with a more robust
DB-based detection that works regardless of tmux state.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@bborn bborn merged commit b6d7504 into main Feb 11, 2026
3 checks passed
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