Commit Graph

4 Commits

Author SHA1 Message Date
chrome-storm-c442
4b505f39d1 fix: Char namedtuple save/restore — use blink not width, construct new Char objects
pyte.screens.Char is a namedtuple (immutable), so fields can't be
mutated directly. Also 'width' doesn't exist — the correct field is
'blink'. Now creates new Char(...) objects for buffer restoration.
Fixes server switching being completely broken (AttributeError on save).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 03:25:36 -05:00
chrome-storm-c442
afa75b6d9c fix: proper terminal buffer save/restore with full pyte screen state
Save complete pyte screen state (characters, colors, attributes,
cursor position, modes) via pickle serialization instead of just
plain text. Restore via direct buffer manipulation + full redraw.
Fixes broken/garbled layout when switching between servers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 03:16:47 -05:00
chrome-storm-c442
bf5c4b14a4 fix: restore terminal buffer when switching back to pooled session
Instead of unconditionally resetting the terminal, reused sessions
now restore the saved screen content from the session pool.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 03:10:06 -05:00
chrome-storm-c442
8f55b210b3 v1.8.3: session pool + sidebar indicators
- SessionPool: LRU cache for SSH/SFTP sessions across server switches
- Sidebar: green dot indicators for servers with active sessions
- Sidebar: active sessions count label
- Terminal: buffer preservation on server switch via get_current_buffer()
- FilesTab/TerminalTab: pool integration for session reuse

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 03:05:05 -05:00