fix: approval bar focus and threading issues
**Issues Fixed:**
1. **Approval bar never got focus**
- Set can_focus=True in __init__ and show_approval
- Approval bar can now receive keyboard events (Y, n, e)
2. **Threading deadlock**
- Changed call_later to call_from_thread (worker-safe)
- Added 300s timeout to prevent infinite hangs
- Properly hide bar after confirmation
3. **No visibility into confirmation flow**
- Added extensive debug logging to trace:
- When bar is shown/focused
- When action methods are called
- When app handlers receive events
- When futures are resolved
**What This Fixes:**
- Tool calls now actually wait for user approval
- Pressing Y/n/e now works correctly
- No more 240s hangs with no output
- Approval bar properly shows, focuses, and responds
1. **Approval bar never got focus**
- Set can_focus=True in __init__ and show_approval
- Approval bar can now receive keyboard events (Y, n, e)
2. **Threading deadlock**
- Changed call_later to call_from_thread (worker-safe)
- Added 300s timeout to prevent infinite hangs
- Properly hide bar after confirmation
3. **No visibility into confirmation flow**
- Added extensive debug logging to trace:
- When bar is shown/focused
- When action methods are called
- When app handlers receive events
- When futures are resolved
**What This Fixes:**
- Tool calls now actually wait for user approval
- Pressing Y/n/e now works correctly
- No more 240s hangs with no output
- Approval bar properly shows, focuses, and responds
- SHA
750735df9283bf2907177149b8d1ddb9e2c4bd2b- Parents
-
a953bb4 - Tree
4c734a4