feat(ui): color and acknowledge pinned log errors
Add independent AppLog message types and explicit Class 1/2 severity. Wrap and color log rows, pin Class 1 above Class 2, and let acknowledgement return entries to the current-launch timeline without changing file format or rotation. Ref: https://logtape.org/manual/levels
This commit is contained in:
+13
-13
@@ -1,24 +1,24 @@
|
||||
# HANDOFF — 2026-11-02 (Logs tab + test sweep)
|
||||
# HANDOFF — 2026-11-02 (Logs severity and acknowledgment)
|
||||
|
||||
## State
|
||||
|
||||
- `main`; all work is committed locally, not pushed.
|
||||
- Non-edit left panel has Live Chat and Logs tabs. Logs shows the newest 500 AppLog entries from
|
||||
this process only; file format and rotation are unchanged. Feature commit: `9fa06c6`.
|
||||
- The 13 failures from the prior full-suite run were resolved in separate focused commits; see
|
||||
`git log` for each test-failure task.
|
||||
- `./scripts/verify.sh` passes: clean app build, 0 warnings, 522/522 tests, scope check.
|
||||
- `main`; previous Logs tab and 13 test-failure fixes are committed locally, not pushed.
|
||||
- Logs wraps and colors by explicit message type. Class 1 (fatal/unhandled) and Class 2 (recoverable,
|
||||
actionable) are independent metadata; Class 1 pins above Class 2. Acknowledging unpins but retains
|
||||
the entry in the current-launch timeline. Disk format and rotation are unchanged.
|
||||
- Logs integration test passes; clean app build is 0 warnings and scope-check passes. The last full
|
||||
run was 521/522: only the real-mouse layer-reorder test failed while the creator was using the
|
||||
desktop. It was not rerun; the focused drag test passes in isolation.
|
||||
|
||||
## Next action
|
||||
|
||||
Day 1's separate system-message strip was replaced by the Logs tab per the creator's ruling. Next
|
||||
release check: Debug-only `InternalsVisibleTo`. Keep one integration test per change; do not push
|
||||
absent a milestone/checkpoint request.
|
||||
Commit this Logs enhancement with the interactive-mouse test exception recorded. Do not rerun that
|
||||
test while the creator is playing; do not push absent a checkpoint request.
|
||||
|
||||
## Landmines
|
||||
|
||||
- Build/test with Windows `dotnet.exe`; full suite can hang in WASAPI teardown.
|
||||
- Any integration test constructing `MainWindow` must use a temporary `LayoutPathOverride` and
|
||||
- `LayerReorderPersistenceTests.RealMouseDrag_OnTheLayerList_PersistsTheReorder` injects physical
|
||||
mouse input. It passed in isolation; do not run it while the desktop is in use.
|
||||
- Any integration test constructing `MainWindow` must set a temporary `LayoutPathOverride` and
|
||||
clear it in `finally`.
|
||||
- Debug-only `InternalsVisibleTo` remains an outstanding release check.
|
||||
- Bundled FFmpeg stays outside the single-file exe (`ExcludeFromSingleFile="true"`).
|
||||
|
||||
Reference in New Issue
Block a user