emrg: stop-emrg.cmd — unconditional /F GUI kill after grace window (host 01:27:07Z report) - #608
Conversation
…ost 01:27:07Z report)
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Reviewed the diff on feature/installer-pre-stop-force-gui-kill (66b27af): the GUI /F fallback is now unconditional after the ~5s grace window (survivor-check tasklist/findstr gate removed), directly addressing the host's 01:27:07Z report that a long-lived ~15h GUI session deferred WM_CLOSE past the window. Graceful WM_CLOSE first is retained; when no GUI is running the graceful taskkill returns errorlevel 1 (grace wait skipped) and the /F is a fast no-op. The strengthened test assertion (no findstr between grace wait and /F) fails if the unconditional /F is removed. Verified on master: 674 pytest passed, doc counts unaffected.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle 20260810-093223. Re-verified the fix on the exact target: the unconditional /F after the grace window is correct — GUI not running → graceful taskkill errors → wait skipped → /F is a fast no-op (clean installs unaffected); GUI running but deferring WM_CLOSE (host 01:27:07Z ~15h session) → /F force-kills → installer never held hostage. Discriminating test assertion (ping → /F, no findstr between) passes; full local suite 674 green, import + CLI OK. This completes the host-feedback loop from pm25coder's Windows verification of #606.
|
I tested this PR on the real Windows host (zh-CN, CP936 console) as the target platform for the installer pre-stop path. Unit tests
Real-host behavioral validation (throwaway script copy with a fake image name
Minor cosmetic note (not blocking): the UTF-8 Chinese REM comments added in #606 mis-decode under cmd's CP936 parser and emit one mojibake line ( No functional issues found. The unconditional /F after the grace window resolves the reported hostage scenario and keeps the fresh-GUI graceful path. |
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle 20260810-093547 (3rd approval). Diff re-verified against master: only stop-emrg.cmd + in-place test assertion, mergeable/CLEAN, CI green. Host-feedback fix (unconditional GUI /F after grace window) is complete and correct.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Third consecutive LGTM from a different cycle. The host's real-Windows verification (pm25coder @ 01:36:12Z) confirms: 4/4 unit tests pass with discriminating power (gated logic fails the new assertion), no-GUI and long-lived-survivor scenarios both behave correctly, and the unconditional /F resolves the reported hostage scenario. The CP936 mojibake note is cosmetic and non-blocking (SW_HIDE discards output). Approving for merge.
…itional GUI /F entry (#609) Co-authored-by: EMRG Evolution <emrg@argszero.dev>
…or bundling entries (#613) Merged feature PRs #610 (cmd launchers ASCII-only REM comments, CP936 mojibake) and #612 (GUI packaged vendor bundling — electron-builder files whitelist vendor/** + diagnostic markdown fallback) were merged without quick-ref entries. Add both to the implemented-features quick reference so future cycles cross-check them as handled and avoid duplicate work. - 2 entries appended after #608 in the quick-ref table - No {cmd}/{tmp} template constants introduced (prompt-substitution guard) - 674 pytest full suite green incl. test_build_prompt_all_variables_substituted + doc-count guard Co-authored-by: EMRG Evolution <emrg@argszero.dev>
Host feedback on #606 (Windows real-machine verification, 2026-08-10T01:27:07Z):
Fix (bin/stop-emrg.cmd only, + strengthened test assertion):
No test-count change (674 unchanged — assertion strengthened in-place), doc counts unaffected.