Fix System Health ledger rendering
This commit is contained in:
@@ -120,9 +120,11 @@ ShellRoot {
|
||||
Health.consumeSnapshot(Quickshell.env("PANAMA_HEALTH_FIXTURE"), 100);
|
||||
}
|
||||
|
||||
Item {
|
||||
width: 980
|
||||
height: 820
|
||||
FloatingWindow {
|
||||
title: "Panama Health UI Contract"
|
||||
visible: true
|
||||
implicitWidth: 980
|
||||
implicitHeight: 820
|
||||
|
||||
SettingsShell {
|
||||
id: settingsShell
|
||||
@@ -185,12 +187,19 @@ run ipc show 2>/dev/null | rg -q '^target health-ui-test$' \
|
||||
|
||||
checking_state="$(run ipc call health-ui-test state)"
|
||||
jq -e '
|
||||
.issueIds == ["desktop.vicinae", "desktop.quickshell", "integration.calendar"]
|
||||
and .desktopIds == ["desktop.vicinae", "desktop.quickshell"]
|
||||
and .integrationIds == ["integration.bluebubbles", "integration.calendar"]
|
||||
and .statusLabels == ["Needs attention", "Action required", "Healthy", "Not set up", "Needs attention", "Healthy"]
|
||||
.renderedRows == [
|
||||
{objectName:"health-check-row:issue:desktop.vicinae", id:"desktop.vicinae", section:"issue", statusText:"Needs attention"},
|
||||
{objectName:"health-check-row:issue:desktop.quickshell", id:"desktop.quickshell", section:"issue", statusText:"Action required"},
|
||||
{objectName:"health-check-row:issue:integration.calendar", id:"integration.calendar", section:"issue", statusText:"Needs attention"},
|
||||
{objectName:"health-check-row:quiet:input.pipewire", id:"input.pipewire", section:"quiet", statusText:"Healthy"},
|
||||
{objectName:"health-check-row:quiet:integration.bluebubbles", id:"integration.bluebubbles", section:"quiet", statusText:"Not set up"},
|
||||
{objectName:"health-check-row:quiet:panama.caffeine", id:"panama.caffeine", section:"quiet", statusText:"Healthy"}
|
||||
]
|
||||
and (.renderedRows | map(.id) | length) == 6
|
||||
and (.renderedRows | map(.id) | unique | length) == 6
|
||||
and .emptyQuietGroups == ["desktop-foundation"]
|
||||
and .summaryHeight == 126
|
||||
and (.rowHeights | length) == 9
|
||||
and (.rowHeights | length) == 6
|
||||
and (.rowHeights | all(. >= 62))
|
||||
and .checking == true
|
||||
and .checkingText == "Checking…"
|
||||
@@ -202,15 +211,24 @@ for _ in $(seq 1 40); do
|
||||
[[ "$(jq -r .checking <<<"$settled_state")" == "false" ]] && break
|
||||
sleep 0.1
|
||||
done
|
||||
sleep 0.1
|
||||
settled_state="$(run ipc call health-ui-test state)"
|
||||
[[ "$(jq -c .rowHeights <<<"$settled_state")" == "$checking_heights" ]] \
|
||||
|| fail 'row geometry changed after refresh settled'
|
||||
jq -e '.copyFocusable == true and .refreshFocusable == true and .rowActionFocusable == true' \
|
||||
>/dev/null <<<"$settled_state" || fail 'keyboard focus does not reach hero and row actions'
|
||||
jq -e '
|
||||
(.focusChain | index("health-copy-report-button")) != null
|
||||
and (.focusChain | index("health-refresh-button")) != null
|
||||
and (.focusChain | any(startswith("health-row-action:")))
|
||||
' >/dev/null <<<"$settled_state" || fail "actual focus-chain traversal does not reach hero and row actions: $settled_state"
|
||||
|
||||
[[ "$(run ipc call health-ui-test request desktop.quickshell)" == "true" ]] \
|
||||
|| fail 'restart confirmation fixture could not be requested'
|
||||
confirmation_state="$(run ipc call health-ui-test state)"
|
||||
jq -e '.confirmationVisible == true and .confirmationId == "desktop.quickshell"' \
|
||||
jq -e '
|
||||
.confirmationVisible == true
|
||||
and .confirmationId == "desktop.quickshell"
|
||||
and .activatedRows == ["health-check-row:issue:desktop.quickshell"]
|
||||
' \
|
||||
>/dev/null <<<"$confirmation_state" || fail 'Quickshell restart did not open confirmation sheet'
|
||||
|
||||
if rg -i 'QQml|ReferenceError|TypeError|binding loop|failed to load component' "$shell_log"; then
|
||||
|
||||
Reference in New Issue
Block a user