Files
tuimble/TASKLIST.md
2026-02-25 09:05:06 +01:00

2.2 KiB

Task List

In Progress

(none)

Pending

(none)

Completed

Phase 4 -- Robustness

  • Audio device hot-swap (DeviceMonitor polling + pipeline rebuild)
  • Widget tests (41 tests: StatusBar breakpoints, ChannelTree navigation, volume/truncate helpers)

Phase E -- Polish

  • Deduplicate _detect_config_changes with dataclasses.asdict()
  • Suppress PTT chatlog spam for hold-mode
  • Add -> None return annotations throughout
  • Cache users/channels in MumbleClient with dirty flag

Phase D -- Test Coverage

  • Add ReconnectManager unit tests (8 tests)
  • Add InputHistory unit tests (11 tests)
  • Add _strip_html edge case tests (13 tests)
  • Add config _load_section / load_config tests (5 tests)
  • Refactor test_audio.py to use public interfaces
  • Add stop() queue drain test

Phase C -- Architecture

  • Cache _find_root() result in ChannelTree.set_state()
  • Extract InputHistory class
  • Extract _make_client() factory (4 duplicate sites)
  • Extract ReconnectManager to reconnect.py (threading.Event)

Phase A -- Safety

  • Replace _strip_html regex with html.parser stripper
  • Add defensive config loading (filter unknown TOML keys)
  • Guard join_channel/send_text against KeyError

Phase B -- Performance

  • Replace _apply_gain struct with array module (numpy unavailable)
  • Replace time.sleep(0.005) polling with queue.get(timeout=)
  • Drain audio queues on stop()

Earlier Work

  • Wire TUI to MumbleClient (connect on startup, display state)
  • Implement text message send/receive in chat log
  • Channel tree population from server data
  • Audio pipeline integration with MumbleClient
  • PTT wiring (key events -> audio.capturing toggle)
  • Chat input history navigation (up/down arrows)
  • Channel navigation and join from sidebar
  • User status indicators (mute/deaf)
  • Volume control (F2/F3, gain 0.0-2.0, status bar display)
  • Server certificate handling (certfile/keyfile config)
  • Config file hot-reload (F5, safe/restart change detection)
  • Reconnection handling with auto-retry and backoff