release / govulncheck (push) Successful in 17s
release / web (push) Successful in 1m33s
release / go (push) Successful in 1m49s
release / integration (push) Successful in 5m42s
release / android (push) Successful in 5m59s
release / Build signed APK (releases and dev) (push) Successful in 6m9s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 16s
release / Verify release artifacts (tag releases only) (push) Skipped
Applies rule 32's migration exception: each header still says what the schema was, what changes and what it prevents, but task, milestone, decision and rule ids are replaced by the practice they stood for, the operator quotes by the decision, single-install counts are dropped, and pointers to a deleted package and an external design doc are gone. golang-migrate keeps no checksum, so editing applied migrations' comments is safe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
919 B
SQL
20 lines
919 B
SQL
-- Add 'playback' to the diagnostic_events kind whitelist.
|
|
--
|
|
-- `route` and `player_state` events fire for EVERY output route (phone
|
|
-- speaker, Bluetooth, UPnP/Sonos), so bucketing them under 'upnp_sync'
|
|
-- was misleading — a listener on Bluetooth earbuds produced "upnp_sync"
|
|
-- rows. 'upnp_sync' now means genuinely UPnP/Sonos-specific signal
|
|
-- (drops, and future resync/desync); general playback + route telemetry
|
|
-- moves to the new 'playback' kind.
|
|
--
|
|
-- The new value lands by dropping and re-adding the constraint in the same
|
|
-- migration. Existing rows tagged
|
|
-- 'upnp_sync' stay as-is (debug telemetry on a 30-day retention).
|
|
|
|
ALTER TABLE diagnostic_events DROP CONSTRAINT diagnostic_events_kind_check;
|
|
ALTER TABLE diagnostic_events ADD CONSTRAINT diagnostic_events_kind_check
|
|
CHECK (kind IN (
|
|
'connectivity', 'upnp_sync', 'power', 'lifecycle',
|
|
'heartbeat', 'http', 'playback'
|
|
));
|