changelog
ClaudeDeck v0.6.8
## Bug Fix: Fullscreen Terminal Rendering
**Root cause**: portable-pty's `ioctl(TIOCSWINSZ)` was not propagating SIGWINCH to Claude Code's process group on macOS. When maximising a tile, Claude Code never received the resize signal, leaving stale content from the smaller terminal size on screen.
**Fix**: Added explicit `libc::kill(-pid, SIGWINCH)` after PTY resize to ensure the signal reaches the running process. Also blocked the ResizeObserver during fullscreen transitions to prevent competing resize cycles.
## New Features
### Project Notes
- Per-project persistent notes accessible from the fullscreen toolbar
- Auto-saves with 800ms debounce
- Data persists across app restarts
### Command Queue
- Pre-write commands and stage them for execution
- Manual play button sends commands to the terminal
- **Auto-play mode**: Automatically sends the next queued command when Claude goes idle
- **Auto-yes mode**: Automatically confirms Y/N prompts and "Yes to all" TUI menus
- Green pulsing indicator shows when auto-play is active
- Idle detection with prompt-awareness (won't auto-send during questions)
### Debug API Endpoint
- `GET http://127.0.0.1:31337/debug/sessions` — unauthenticated endpoint for AI-assisted debugging
- Returns active session info without requiring bearer token
## Technical Changes
- Added `libc` crate dependency for direct SIGWINCH signalling
- ResizeObserver suppressed during fullscreen transitions via ref flag
- Double resize attempt (300ms + 800ms) for reliability
- Terminal reset on session close uses `\\x1b[?1049l` + `term.reset()` instead of `term.clear()`