Add `is_set_volume_action` to PendingQueueAction (set for CtrlSrvrSetVolume) and complete it on the SrvrCtrlVolumeChanged echo, so rapid volume changes can supersede the in-flight one instead of colliding on the single pending slot (the "pending queue action already active" spam). The frontend adapter clears the superseded pending before sending the next SetVolume (lands with the qbz-slint controller changes). cc