Gateway slash command responses were silently dropped. listened for but had no handlers for or — both events emitted by the gateway after command execution.
Fix
Added two socket event handlers:
→ renders the success/error message as a system message in the TUI
→ updates the command registry manifest and shows the reload message
Also
Removes stray devDependency from — it was never imported and snuck in from a prior agent session.
Test
Restart gateway, connect TUI, type or — should now show a response instead of silently doing nothing
should show the reload message and update the command list
## Problem
Gateway slash command responses were silently dropped. listened for but had no handlers for or — both events emitted by the gateway after command execution.
## Fix
Added two socket event handlers:
- → renders the success/error message as a system message in the TUI
- → updates the command registry manifest and shows the reload message
## Also
Removes stray devDependency from — it was never imported and snuck in from a prior agent session.
## Test
- Restart gateway, connect TUI, type or — should now show a response instead of silently doing nothing
- should show the reload message and update the command list
Gateway slash command responses were silently dropped — use-socket.ts
had no handlers for command:result or system:reload. Added both:
- command:result → renders success/error as a system message
- system:reload → updates command registry manifest + shows reload message
Also removes stray @testing-library/react devDependency that was
never used in the CLI package.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
- Submitting bare "/" no longer shows "Unknown command format: /" — input
is ignored silently so autocomplete can guide discovery instead
- Gateway command handler no longer requires a conversationId before
emitting — the socket connection check alone is sufficient; missing
conversationId caused false "Not connected" errors on fresh sessions
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Without --conversation/-c, the TUI was starting with no conversationId,
leaving the session bar showing "No session" and gateway commands
unable to dispatch. Now creates a new conversation via REST before
rendering so the socket is immediately attached to an active session.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
InputBar is now a controlled component — input state lives in app.tsx.
Ctrl+C when input has text clears it; Ctrl+C with empty input exits,
giving the standard two-press-to-quit behaviour expected in TUIs.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
- InputBar is now focus-gated: when mode != 'chat', TextInput focus=false
and useInput isActive=false — sidebar 'd' key no longer leaks into input
- /new added as a local command (execution:'local') so it creates a
new conversation and switches to it, same as Ctrl+N; alias 'n' moved
from ALIASES map into the CommandDef
- Ctrl+C behaviour: clear input → show hint → second empty press exits
(resets if any other key is pressed between the two Ctrl+Cs)
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Gateway slash command responses were silently dropped. listened for but had no handlers for or — both events emitted by the gateway after command execution.
Fix
Added two socket event handlers:
Also
Removes stray devDependency from — it was never imported and snuck in from a prior agent session.
Test