Harden details-view lifecycle and log retention #7

Merged
astaranix merged 1 commit from jom/t_bf274f92 into main 2026-08-14 12:23:47 -04:00 AGit
Owner

Summary: Harden Details view lifecycle and log retention. Hidden or minimized windows stop the shared journalctl stream, visible show paths restart it and refresh retained entries, and replayed history is reconciled without duplicates; pending stdout, stderr, parsed messages, and retained message characters now have defensive limits with visible truncation or malformed-entry markers. Change inventory: tray-cpp/src/details_window.cpp, tray-cpp/src/details_window.h, tray-cpp/src/updater_log_stream.cpp, tray-cpp/src/updater_log_stream.h, tray-cpp/tests/details_window_test.cpp, tray-cpp/tests/updater_log_stream_test.cpp. Validation: clean Debug CMake/Ninja build; focused CTest 2/2; full CTest 4/4; forced Release Nix tray rebuild with CTest 4/4; rebuilt aarch64 shell checks all passed; nix flake check evaluated all aarch64-linux and x86_64-linux checks; git diff --check passed. Review references: t_72f2fcc1 and t_f1a88f2f reviews, t_4d5d52cf implementation, t_bd9edbce rework, and t_2b4336b1 independent validation. Risks: recovery after a later visible-stream failure remains user-triggered; identical bounded entry fields can be coalesced; fixed budgets lack a production-rate benchmark; x86_64 derivations were evaluated but not built and no live desktop or accessibility session was run. Rollout: no migration or configuration change; update the tray package normally.

Summary: Harden Details view lifecycle and log retention. Hidden or minimized windows stop the shared journalctl stream, visible show paths restart it and refresh retained entries, and replayed history is reconciled without duplicates; pending stdout, stderr, parsed messages, and retained message characters now have defensive limits with visible truncation or malformed-entry markers. Change inventory: tray-cpp/src/details_window.cpp, tray-cpp/src/details_window.h, tray-cpp/src/updater_log_stream.cpp, tray-cpp/src/updater_log_stream.h, tray-cpp/tests/details_window_test.cpp, tray-cpp/tests/updater_log_stream_test.cpp. Validation: clean Debug CMake/Ninja build; focused CTest 2/2; full CTest 4/4; forced Release Nix tray rebuild with CTest 4/4; rebuilt aarch64 shell checks all passed; nix flake check evaluated all aarch64-linux and x86_64-linux checks; git diff --check passed. Review references: t_72f2fcc1 and t_f1a88f2f reviews, t_4d5d52cf implementation, t_bd9edbce rework, and t_2b4336b1 independent validation. Risks: recovery after a later visible-stream failure remains user-triggered; identical bounded entry fields can be coalesced; fixed budgets lack a production-rate benchmark; x86_64 derivations were evaluated but not built and no live desktop or accessibility session was run. Rollout: no migration or configuration change; update the tray package normally.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
astaranix/nixos-updater!7
No description provided.