|
Fix terminal review issues: security, lifecycle, reactivity
- TerminalManager.open now accepts exec_tokens to use create_subprocess_exec for restricted commands instead of always using shell - Fix kill/terminate order: SIGTERM first, SIGKILL fallback - Pop closed sessions from _sessions dict to prevent memory leak - Add terminal_manager.shutdown() to AppContainer.shutdown() - Wait for reader tasks in foreground open before returning output - Add _MAX_TERMINALS_PER_SESSION limit (10) - Wrap cleanup_idle tasks in _close_one_safe with error logging - send_input catches BrokenPipeError/ConnectionResetError specifically - Foreground terminals auto-close after gathering output - Vue reactivity: replace terminals object immutably instead of mutating - onTerminalClosed marks matching tool card as no longer pending - Update tests for new behavior (foreground auto-close, max limit) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
|---|
|
|
| navi/core/container.py |
|---|
| navi/tools/terminal.py |
|---|
| navi/tools/terminal_manager.py |
|---|
| tests/unit/tools/test_terminal.py |
|---|
| webclient/dist/assets/index-B50AY83P.js 0 → 100644 |
|---|
|
Not supported
|
| webclient/dist/assets/index-Bi8yRzwg.js 100644 → 0 |
|---|
|
Not supported
|
| webclient/dist/index.html |
|---|
| webclient/src/stores/chat.js |
|---|