Repository navigation
Recover screen-recording indicator after stuck probes - #9296
fresh3nough wants to merge 1 commit into
Conversation
refresh() skipped work while statusProc.running was true. If onExited never fired after an abrupt gpu-screen-recorder death, the Process stayed "running" forever and the bar icon froze on the last state. Watchdog-clear stuck probes and poll every 2s so abnormal kills are noticed without a shell restart. Fixes omacom#9205 Signed-off-by: fresh3nough <anonwurcod@proton.me>
|
I reviewed this at 97822ab against What leaves the indicator stuck. The stuck-probe explanation doesn't hold as far as I can see.
The reporter's repro (killing the recorder directly) also leaves nothing to call a refresh. #12471 fixes both script paths, event-driven, and was reproduced and verified on a disposable Omarchy VM. What this PR adds. The 2s watchdog targets a probe that never exits, and I found no evidence that happens. The always-on 2s What only this PR would cover. If the recorder dies on its own mid-recording, nothing calls a refresh. With #12471 the icon stays "recording" until it is clicked, and the click then clears it. With this PR's poll it clears within two seconds. The same poll would also mask #10311 (stuck "active" after a restart on two monitors), whose cause isn't known yet. If the maintainer wants a poll for that, it is a design decision separate from #9205. Second opinion. None. The configured reviewer (Codex Medium) answered a ping, but today's review budget was spent when I asked it to compare the two PRs, so this is one model's reading. |
Summary
Fixes #9205.
ScreenRecording.qmlpolls with a one-shotProcess(pgrep).refresh()returns early whilestatusProc.runningis true. IfonExitednever fires cleanly (abrupt recorder kill, handler glitch, etc.), that flag stays true forever — no further probes run and the bar icon freezes on "recording" even when nogpu-screen-recorderprocess exists. Workaround wasomarchy restart shell.Change
running, forcestatusProc.running = falseand refresh again.omarchy-capture-screenrecording's indicator toggle still update the bar.Test plan
screenrecording-test.shstill passes