2.2 KiB
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_changeswithdataclasses.asdict() - Suppress PTT chatlog spam for hold-mode
- Add
-> Nonereturn annotations throughout - Cache
users/channelsinMumbleClientwith dirty flag
Phase D -- Test Coverage
- Add
ReconnectManagerunit tests (8 tests) - Add
InputHistoryunit tests (11 tests) - Add
_strip_htmledge case tests (13 tests) - Add config
_load_section/load_configtests (5 tests) - Refactor
test_audio.pyto use public interfaces - Add
stop()queue drain test
Phase C -- Architecture
- Cache
_find_root()result inChannelTree.set_state() - Extract
InputHistoryclass - Extract
_make_client()factory (4 duplicate sites) - Extract
ReconnectManagertoreconnect.py(threading.Event)
Phase A -- Safety
- Replace
_strip_htmlregex withhtml.parserstripper - Add defensive config loading (filter unknown TOML keys)
- Guard
join_channel/send_textagainstKeyError
Phase B -- Performance
- Replace
_apply_gainstruct witharraymodule (numpy unavailable) - Replace
time.sleep(0.005)polling withqueue.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