• v1.1.0 14de77926f

    allen released this 2026-06-09 23:41:25 -07:00 | 13 commits to main since this release

    Highlights

    In-app sprite pixel editor (admin → Sprites → EDIT)

    Draw and edit sprites at native 500×333 directly in the browser — no external tools. Pencil, eraser, color picker, fill bucket; line / rectangle / ellipse shape tools (outline & filled); rectangular select with move, clipboard (cut/copy/paste) and arrow-nudge; adjustable reference-image overlay for tracing; brush size & opacity; retro, custom (saved), and recent color palettes; zoom/pan, grid, undo/redo. Exports straight to the existing sprite endpoint.

    📡 Receiver health & management

    The Receivers tab now shows live per-receiver status — 🟢 receiving / 🟡 connected, no data / 🔴 unreachable — with message counts and last-seen times. New select → SAVE & APPLY → auto-test flow, selectable scan results, TEST CONNECTIONS, and a per-interface scan selector that avoids slow whole-network scans (oversized subnets like a docker /16 are skipped).

    🐛 Critical fix — server crash on receiver restart

    Restarting receiver connections (or SAVE & APPLY) previously cancelled tasks awaited in the main event loop, whose CancelledError killed the entire server process. Receiver tasks now run independently and are cancelled cleanly — the server stays up across restarts.

    🔧 Also

    • Version surfaced at startup, via GET /api/config, and in the admin header.
    • config.json (password hash + session secret) is now git-ignored.
    • Admin asset cache-busting so updates load without a manual hard-refresh.
    • README / CLAUDE.md updated.

    Full changelog: v1.0...v1.1.0 (PRs #6, #7, #8)

    🤖 Generated with Claude Code

    Downloads