Review everything shipped this weekend, and fix what the reviewers caught
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -25,12 +25,12 @@ Singleton {
|
||||
property string actionKind: ""
|
||||
property string actionPath: ""
|
||||
|
||||
// actionProc's `exited` and its stdout `streamFinished` are not guaranteed
|
||||
// to fire in a particular order (same hazard HomeAssistantConfig.qml's
|
||||
// settle-both pattern guards against). These track which of the two have
|
||||
// been observed for the action currently in flight so finishAction() is
|
||||
// only ever called once both have arrived, with the real stdout JSON as
|
||||
// the authoritative result.
|
||||
// actionProc's `exited` and its stdout `streamFinished` carry half the
|
||||
// result each -- the exit and the JSON -- and Quickshell documents no order
|
||||
// between them. So neither one finalizes on its own: these track which have
|
||||
// been observed for the action currently in flight, and settleAction() runs
|
||||
// finishAction() once, on whichever arrives last, with the collected stdout
|
||||
// as the authoritative result.
|
||||
property bool actionExited: false
|
||||
property bool actionStdoutDone: false
|
||||
property string actionStdoutText: ""
|
||||
@@ -151,9 +151,8 @@ Singleton {
|
||||
}
|
||||
|
||||
// Called from both actionProc.onExited and its stdout streamFinished.
|
||||
// Only finalizes once both signals have arrived for the in-flight action,
|
||||
// since their firing order is not guaranteed -- see the actionExited /
|
||||
// actionStdoutDone comment above.
|
||||
// Only finalizes once both signals have arrived for the in-flight action --
|
||||
// see the actionExited / actionStdoutDone comment above.
|
||||
function settleAction(): void {
|
||||
if (root.actionKind === "")
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user