fix(spawn): increase paste debounce to prevent Enter racing paste

The spawn context inject was sending Enter too quickly after pasting
large messages. Claude needs time to process the paste before Enter
is sent (Claude shows "Pasted text #1 +N lines" message).

Increased debounce timing:
- Base delay: 100ms → 200ms
- Per-KB scaling: 50ms → 100ms
- Max cap: 500ms → 1500ms

For a typical 4KB spawn context, this gives 600ms (vs 300ms before).

Fixes: gt-eqys

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-19 12:01:23 -08:00
parent 95ba8fcb6b
commit 1fed8e2eaa

View File

@@ -241,10 +241,11 @@ func (m *Manager) Inject(polecat, message string) error {
} }
// Use longer debounce for large messages (spawn context can be 1KB+) // Use longer debounce for large messages (spawn context can be 1KB+)
// Scale delay based on message size: 100ms base + 50ms per KB // Claude needs time to process paste before Enter is sent
debounceMs := 100 + (len(message)/1024)*50 // Scale delay based on message size: 200ms base + 100ms per KB
if debounceMs > 500 { debounceMs := 200 + (len(message)/1024)*100
debounceMs = 500 // Cap at 500ms if debounceMs > 1500 {
debounceMs = 1500 // Cap at 1.5s for large pastes
} }
return m.tmux.SendKeysDebounced(sessionID, message, debounceMs) return m.tmux.SendKeysDebounced(sessionID, message, debounceMs)