Pane for hinting - #22
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a second “hint” pane to the streaming UI and introduces a pause/resume control for stream ingestion, requiring the terminal layout to support multiple stacked panes.
Changes:
- Update
Terminalto accept/render multiple panes and compute pane height from their combined visible rows. - Add Ctrl+S pause/resume handling and a persistent hint line describing keybindings.
- Adjust stream rendering for very small terminals (1-line stream area).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/terminal.rs | Generalizes pane rendering from a single pane to a slice of panes; adds special-case rendering for 1-line stream areas. |
| src/sig.rs | Adds pause/resume via watch, introduces hint pane creation, and updates input handling to return actions instead of signals. |
| README.md | Documents the new Ctrl+S pause/resume keybinding. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| let shared_text_editor = Arc::new(RwLock::new(text_editor)); | ||
| let readonly_term = Arc::clone(&shared_term); | ||
| let readonly_text_editor = Arc::clone(&shared_text_editor); | ||
| let (pause_tx, mut pause_rx) = watch::channel(false); |
There was a problem hiding this comment.
The pause watch channel introduces a potential shutdown hang: if the keeping task is in its paused branch waiting on pause_rx.changed(), and the main loop exits (Ctrl+F/Ctrl+R/EOF), keeping may never observe rx closing and can block indefinitely. Ensure shutdown closes/unblocks the pause watcher (e.g., explicitly drop pause_tx before awaiting keeping, or add a shutdown signal / select on rx.recv() even while paused).
No description provided.