mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-09-07 15:07:17 +00:00
A nowPlayingUpdated event is authoritative evidence that the speaker switched, and the effect watching it promotes a pending command to provisional-confirmed. The last readback then overwrote the command wholesale with outcome: 'unverified', in both its no-match branch and its catch, without looking at what the command had already become. So a selection the speaker confirmed by push at ~1s was reported as "Source selection unverified" when the 10s readback happened to fail or returned a now-playing that had since moved on. The readback window closing now settles such a command as confirmed rather than retracting it; only a command still pending, which nothing ever confirmed, becomes unverified. A failed command stays failed. The push-event promotion also has to record confirmedRevision, which it previously left unset: without it the later-authoritative-source check would compare against undefined and the projection would never clear. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>