Skip to content

Fix playback reliability and prepare v2.11.8 - #1343

Merged
shiftybitshiftr merged 4 commits into
museofficial:masterfrom
shiftybitshiftr:fix/voice-handshake-timeout
Sep 20, 2026
Merged

shiftybitshiftr merged 4 commits into
museofficial:masterfrom
shiftybitshiftr:fix/voice-handshake-timeout

Conversation

@shiftybitshiftr

@shiftybitshiftr shiftybitshiftr commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Muse could crash on audio-resource errors or early YouTube playlist failures, reuse a chapter-length cache for a full track, disconnect a replacement voice session after a delayed listener-departure event, or apply SponsorBlock trims to the wrong chapter timestamps. Initial voice handshakes could also time out after one attempt and leave newly requested songs queued for later playback. Concurrent expired-cache reads could fail while deleting the same row.

This change contains playback failures, observes playlist detail errors immediately, keys cached audio by source and end boundary, rechecks voice-session ownership after settings lookups, trims SponsorBlock segments within each chapter's original timestamps, and retries initial joins with a bounded three-attempt policy. Commands connect before queueing new tracks, and expired metadata is replaced through upsert without a competing delete.

The full review also found that the privileged PR-snapshot publisher trusted artifact-provided identifiers and registry destinations. A separate read-only job now validates the originating workflow, repository, PR head and merge SHA using trusted code. Publishing uses fixed destinations and skips closed or superseded revisions.

This prepares v2.11.8, including the SoundCloud playback fix already on master. Existing audio cache entries refill as needed because older keys did not record playback boundaries. There is no database migration.

Validation: 333 tests pass on the minimum supported Node 22.12.0, including before/after runtime regressions, real @discordjs/voice AudioPlayer error handling, and 13 snapshot validation tests. Type checking, build, and lint pass (one existing complexity warning). All workflow YAML parses successfully; the snapshot validator accepted actual successful PR metadata and its SHA artifact in a read-only check. Structured reviews found no actionable issues. No live Discord audio session or security exploitation was initiated.

@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown

馃摝 馃 A new release has been made for this pull request.

To play around with this PR, pull ghcr.io/museofficial/muse:pr-1343.

Images are available for x86_64 and ARM64.

Latest commit: f031d29

@shiftybitshiftr
shiftybitshiftr merged commit 690d06a into museofficial:master Sep 20, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant