- Remove complex Rich styling from board (caused rendering issues)
- Use simple ASCII box drawing (+---+) instead of Unicode box chars
- Use dots for dark squares, spaces for light
- Plain text status display
- Much more reliable over SSH terminals
- Fix mismatched closing tags in menu markup
- Use Text() objects for safe string rendering
- Add comprehensive UI render tests that catch markup errors
- Tests cover: menu, game status, chess board, narrow terminals
- CI will now catch these before deployment
- Remove key generation from Dockerfile (was causing new key each build)
- Add ssh_keys volume mount in docker-compose
- Generate key at runtime only if it doesn't exist
- No more clearing known_hosts after updates!
- Add TerminalSession class with proper resize handler
- Fix crash when terminal is resized
- Add ASCII art title for wide terminals
- Better centered panels with Rich
- Green chess board theme with proper piece colors
- Stockfish AI integration (falls back to random moves)
- Move history display
- Responsive layout that adapts to terminal size
- Hide/show cursor appropriately
- Return False from begin_auth to skip authentication
- Users can connect instantly without password/key prompts
- Frictionless: just ssh play@shellmate.sh
- Auto-fit to terminal size with dynamic cell sizing
- Refined color palette (sage/forest green squares)
- Gold highlights for selected squares
- Perfect border alignment with box-drawing chars
- Double-line outer borders for polish
- Compact mode auto-triggers on small terminals
- Better piece visibility with bold rendering
- Improved sidebar layout and sizing