Commit Graph

6 Commits

Author SHA1 Message Date
Greg Hendrickson
8c2b8f0df9 Fix test assertions - mode is 4th arg not 3rd 2026-01-27 20:56:31 +00:00
Greg Hendrickson
8a5e1785dc Fix all ruff linting errors
- Fix import ordering (isort)
- Remove unused imports
- Fix line too long (>100 chars)
- Fix variable naming (PIECES -> piece_chars)
- Fix bare except clause
- Remove unused variable
2026-01-27 20:54:19 +00:00
Greg Hendrickson
ff643e1265 Fix linting: remove trailing whitespace 2026-01-27 20:49:46 +00:00
Greg Hendrickson
ed484e27a2 Simplify chess board rendering - plain text that works over SSH
- 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
2026-01-27 18:53:54 +00:00
Greg Hendrickson
e3915f1b33 Fix Rich markup errors + add UI rendering tests
- 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
2026-01-27 18:50:21 +00:00
Greg Hendrickson
db1ce55c2c feat: robust SSH with fallback menu + comprehensive tests
- Add fallback Rich-based menu when Textual fails
- Working chess game via simple terminal UI
- Proper PTY/terminal handling for SSH
- Added pytest test suite:
  - SSH auth tests (no-auth, accept any)
  - Mode selection tests (play/learn/watch)
  - Chess board widget tests
  - Move validation tests
  - Game state detection tests
- CI workflow for GitHub Actions
- Run tests with: pytest tests/ -v
2026-01-27 18:08:57 +00:00