Username
b62993459a
modulator: remove state reset on pitch change
...
The semitones setter called _reset() which zeroed _prev_in and
discarded _phase on every pitch adjustment. Both buffers are
independent of the pitch ratio — the vocoder recomputes time-stretch
positions each frame — so the reset produced hard discontinuities
(clicks) and a thread-safety race with no benefit.
2026-02-28 13:53:29 +01:00
Username
76c9c494a7
update roadmap and tasklist: phase 4 complete
2026-02-25 09:05:06 +01:00
Username
d9373f8a3b
test: add widget unit and integration tests
2026-02-25 09:03:36 +01:00
Username
3dbd126239
app: wire audio device hot-swap on change
2026-02-25 00:26:27 +01:00
Username
9e6c11e588
audio: add DeviceMonitor for device list polling
2026-02-24 23:50:23 +01:00
Username
df6f2ff354
fix input alignment and double border in chat area
2026-02-24 17:03:05 +01:00
Username
85f373a8b5
fix lint and formatting violations in tests and source
2026-02-24 16:50:51 +01:00
Username
0f476a25d5
docs: add code review response with applied changes summary
2026-02-24 16:47:50 +01:00
Username
d4a8f34dac
update tasklist: phase E complete
2026-02-24 16:46:03 +01:00
Username
aa17159f7e
client: add return annotations and cache users/channels properties
2026-02-24 16:45:45 +01:00
Username
bbd28e2840
audio: add -> None return annotations
2026-02-24 16:45:41 +01:00
Username
0ae0e77814
app: deduplicate config detection, suppress hold-mode PTT spam
2026-02-24 16:45:30 +01:00
Username
c0be5f164e
update tasklist: phase D complete
2026-02-24 16:38:31 +01:00
Username
d117576449
test: refactor audio tests to use public interfaces
...
Replace direct queue/attribute access with capture_callback and
get_capture_frame. Add stop-drains-queues test.
2026-02-24 16:38:03 +01:00
Username
65de74193a
test: add _strip_html edge cases and config validation tests
...
strip_html: nested tags, malformed HTML, comments, entities.
config: unknown key filtering, missing file, mixed valid/invalid.
2026-02-24 16:38:02 +01:00
Username
7c57e03e6d
test: add InputHistory unit tests
...
Covers empty history, push/up/down navigation, draft preservation,
boundary clamping, and full navigation cycle.
2026-02-24 16:37:59 +01:00
Username
4c1a545a8b
test: add ReconnectManager unit tests
...
Covers success, retry, non-retryable abort, max-retry exhaustion,
cancel from another thread, and backoff formula.
2026-02-24 16:37:57 +01:00
Username
e2039558d7
update tasklist: phase C complete
2026-02-24 16:33:14 +01:00
Username
0cf3702c8f
app: extract ReconnectManager to reconnect.py
...
Self-contained reconnection state machine with threading.Event
for instant, thread-safe cancellation. Removes ~50 lines and
all reconnect state from TuimbleApp.
2026-02-24 16:32:29 +01:00
Username
216a4be4fd
app: extract InputHistory, _make_client factory, cache _find_root
...
InputHistory encapsulates history navigation (up/down/push).
_make_client() deduplicates 4 MumbleClient instantiation sites.
_find_root() result cached in set_state() to avoid double lookup.
2026-02-24 16:32:16 +01:00
Username
a6380b53f7
update tasklist: phase A and B complete
2026-02-24 16:26:02 +01:00
Username
bfa79eadcb
app: replace audio send polling with blocking queue.get
...
Deterministic wake on data arrival instead of 5ms sleep loop.
Reduces CPU wake-ups and eliminates up to 5ms of added latency.
2026-02-24 16:25:42 +01:00
Username
7a2c8e3a5d
audio: replace struct pack/unpack with array module in _apply_gain
...
Eliminates format string construction and intermediate tuple/list
allocations. Also drains stale frames from queues on stop().
2026-02-24 16:25:32 +01:00
Username
88e8d4d923
update tasklist with phased improvement plan
2026-02-24 16:23:11 +01:00
Username
897c5b1f6c
client: guard join_channel and send_text against stale ids
...
join_channel raises ValueError on missing channel instead of
KeyError. send_text handles missing channel_id gracefully.
2026-02-24 16:23:05 +01:00
Username
44da57d084
config: filter unknown toml keys before dataclass init
...
Prevents opaque TypeError on typos in config.toml; unknown
keys are logged as warnings and silently dropped.
2026-02-24 16:23:04 +01:00
Username
8be475f23f
app: replace regex html stripping with stdlib parser
...
Handles malformed tags, nested markup, and CDATA that the
naive regex missed.
2026-02-24 16:23:03 +01:00
Username
be6574ae79
app: debounce channel tree and cache render width
2026-02-24 15:32:57 +01:00
Username
57f4559a38
update roadmap and tasklist
2026-02-24 14:55:03 +01:00
Username
351b980b42
docs: add reconnection and error recovery docs
2026-02-24 14:54:40 +01:00
Username
6f590ede38
app: add reconnection status to status bar
2026-02-24 14:54:07 +01:00
Username
e443facd3b
app: add auto-reconnect with backoff
2026-02-24 14:43:29 +01:00
Username
d02bb5239a
app: stop audio on disconnect
2026-02-24 14:40:24 +01:00
Username
a041069cc9
client: add ConnectionFailed and reconnect method
2026-02-24 14:34:40 +01:00
Username
0b186f1f0c
update roadmap and tasklist
2026-02-24 14:19:48 +01:00
Username
0b178d371e
docs: add volume, certificate, and reload docs
2026-02-24 14:19:15 +01:00
Username
0bc41d1a46
app: add config reload on F5
2026-02-24 14:18:19 +01:00
Username
e9726da401
app: add volume key bindings and status display
2026-02-24 14:17:02 +01:00
Username
5e44ee9e38
app: wire volume and certificate config
2026-02-24 14:15:42 +01:00
Username
6467f5fe32
client: add certificate parameters
2026-02-24 14:15:24 +01:00
Username
e9944c88eb
audio: add gain control to capture and playback
2026-02-24 14:14:52 +01:00
Username
eb98165370
config: add gain and certificate fields
2026-02-24 14:13:18 +01:00
Username
0856ab3c55
docs: update tasklist with completed items
2026-02-24 13:58:02 +01:00
Username
b852459eff
feat: add channel navigation and user status indicators
...
Tab cycles focus to sidebar where Up/Down navigates channels
and Enter joins the selected one. Muted/deafened users show
status symbols in the channel tree.
2026-02-24 13:57:57 +01:00
Username
ec81fac507
docs: add key bindings and fix ptt key in readme
2026-02-24 13:31:56 +01:00
Username
931c6d4776
docs: add up/down key bindings to usage
2026-02-24 13:28:08 +01:00
Username
6c16883135
feat: add chat input history navigation (up/down)
2026-02-24 13:28:03 +01:00
Username
f77375422a
add --cprofile flag with periodic dump
2026-02-24 13:18:10 +01:00
Username
ee145b4071
app: log transmit state changes to chatlog
2026-02-24 13:09:03 +01:00
Username
89ebad6c15
app: add F1 self-deafen toggle and bold TX indicator
2026-02-24 13:02:38 +01:00