Files
qbz/crates/qbz-qt/qml/kiosk
vicrodh ea26d743ab fix(qt): KioskArtist threw on every mount and skipped the first cover dispatch
Found by DRIVING the app, not by the gate: opening an artist logged
"TypeError: Cannot read property 'length' of undefined" at KioskArtist.qml:106
on every mount. The view still rendered, which is why nothing else caught it.

collectArtwork() read root.sections -- a readonly property derived from
`artist` -- from inside onArtistChanged, which is connected to the very notify
that dirties it. The handler runs BEFORE the dependent binding re-evaluates,
so the read saw undefined. Main.qml:233-247 already documents this hazard and
its remedy from the window-geometry work: compute from the value at call time,
never read a cached derived property inside its own handler.

Cost of the bug: the first artwork dispatch for an artist page was skipped
entirely, so covers only arrived if a later pass happened to re-request them.

Verified BY EFFECT -- rebuilt, re-drove to the artist page over VNC, and the
run log is now clean -- not by re-reading the diff.

cc
2026-08-03 23:43:01 -06:00
..