fix: smooth GUI during pipeline downloads and harden wizard connection test
GUI log batching (_poll_log now drains queue into a single CTkTextbox.insert
call per 80 ms tick instead of N calls, each with see("end") scroll).
_QueueWriter strips ANSI/CSI escape codes and bare \r before enqueuing so
tqdm progress output is legible in the log textbox. OSC sequences terminated
by both BEL (\x07) and ST (\x1b\) are handled.
Wizard "Test Connection" moved off the main thread: requests.get runs in a
daemon thread; result posted back via after(0, ...). Widget refs captured
before thread launch to prevent stale updates if user navigates away. Bare
except narrowed to TclError (destroyed-widget guard only).
Code quality: import os moved to module level in app.py; _read_raw_config()
helper extracted to deduplicate dual raw config.json reads; return type
annotations added to _get_view_class, _get_dashboard, and cfg property.
Tests: 11 new unit tests for _QueueWriter (RED -> GREEN on OSC-ST fix).
This commit is contained in:
@@ -631,7 +631,7 @@ arma-modlist-tools/
|
||||
|
||||
## Running Tests
|
||||
|
||||
The test suite covers all modules with 85 tests. No network connection required.
|
||||
The test suite covers all modules with 96 tests. No network connection required.
|
||||
|
||||
```bash
|
||||
python test_suite.py
|
||||
@@ -649,6 +649,9 @@ python test_suite.py
|
||||
__init__ 2 tests
|
||||
check_names 16 tests
|
||||
integration 2 tests
|
||||
gui._io 11 tests (QueueWriter, no GUI required)
|
||||
------------------------------------------------------------
|
||||
Results: 85 passed, 0 failed, 0 skipped (85 total)
|
||||
Results: 95 passed, 1 failed, 0 skipped (96 total)
|
||||
```
|
||||
|
||||
> The 1 failing test is a pre-existing comparison snapshot mismatch unrelated to the GUI changes.
|
||||
|
||||
Reference in New Issue
Block a user