- only resize when necessary (check the container's height)
- refactor CSS: use position relative / absolute to stack Buffers instead of display:none; this affects the calcuations used by fit()
- fix dark mode styles, tweak viewport height (100vh --> 99vh) to prevent overflow scroller
- debounced resize event listener
- new Buffer#onSelect: resize, focus, and pokes `herm` with updated rows / cols
- simplify container ref implementation (no need for a callback ref), remove isOpen hack
- add lodash for debounce
- Tab#onClick no longer handles focus (it's now handled by Buffer#onSelect)
When adding a session, using this special syntax will create a new session for the indicated agent.
E.g., `book!my-session` opens a new session for the %book agent.
When creating a new session, validate that it meets the following conditions:
- must start with an alphabetical
- can be composed of alphanumerics with hyphens
- can be length 1 or longer
- cannot begin or end with a hyphen
Fully implements webterm support for multiple dill terminal sessions.
Remaining work includes styling, session creation safety (name-wise),
and general cleanup.
Co-authored-by: tomholford <tomholford@users.noreply.github.com>
Co-authored-by: liam-fitzgerald <liam@tlon.io>