Repository navigation
fix(subtitles): preserve secondary sidecar ASS metadata - #826
Merged
superuser404notfound merged 1 commit intoOct 21, 2026
Merged
superuser404notfound merged 1 commit into
superuser404notfound merged 1 commit into
Conversation
superuser404notfound
approved these changes
Oct 21, 2026
superuser404notfound
left a comment
Owner
There was a problem hiding this comment.
Thanks @orut34iop, this is a clean, well-scoped change.
Review notes:
- The embedded secondary path already builds its drain decoder with
preserveASSMarkup, so secondary ASS reached hosts as raw event lines from that path but as cleaned text from a sidecar. This PR makes the channel consistent, and the separatesecondarySidecarASSHeaderis the right shape since PlayRes and styles differ per script (the 640/1920 fixture shows it well). - Reset points look complete: new sidecar, embedded selection,
clearSecondarySubtitle(),stopInternal(). Publication stays behind the cancellation and active-channel guards, and after the merge also behind #822's load-generation guard. - Conflict with #822 in
startSecondarySidecarDecodewas additive on both sides; resolved by keeping the origin-aware header resolution plus the generation capture and adding thepreserveASScapture. - Changelog entry moved into
[Unreleased](the auto-merge had placed it under 7.40.0) and rewritten in house style.
Verified on the merged tree: 780 XCTest (1 skipped, 0 failures) and 4711 Swift Testing tests in 650 suites, all passing.
Merging.
superuser404notfound
merged commit Oct 21, 2026
867b172
into
superuser404notfound:main
4 checks passed
superuser404notfound
pushed a commit
that referenced
this pull request
Oct 21, 2026
The auto-merge had placed it under 7.40.0's Added section. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WJcXkGQrMiBPixVEFTSBJS
4 tasks done
Owner
|
Released in 7.45.0 ( |
Quick104
added a commit
to Silo-Server/AetherEngine
that referenced
this pull request
Oct 24, 2026
…o fork Upstream superuser404notfound#826 decodes a secondary sidecar with preserveASSMarkup and publishes its raw events and secondarySidecarASSHeader. The fork keeps raw ASS on the primary overlay only, as it already does for an embedded secondary track, because Silo draws secondary cues as text: with the upstream change an ASS secondary showed its event lines. The superuser404notfound#826 tests now pin the fork's behaviour, and the fork notes are in CHANGELOG.md and docs/api.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
preserveASSMarkupalready preserves primary sidecar ASS events and their script header, but secondary sidecars silently use the default text decoder and discard the header. Honor the same opt-in option on the secondary channel and publishsecondarySidecarASSHeaderindependently.What changed
SubtitleDecoder; the existing ASS/SSA codec gate keeps SRT/VTT output unchanged.Builds on the existing primary API from #48 and per-stream ASS decoding from #267. All changes are based on main
151322d1b843b4414a0fcffa9ed44e8b3a9d087e; #824 and #825 touch adjacent secondary state/comments but are separate contributions, so merge order may require textual reconciliation.Test plan
SoftwarePacketMemoryFIFOTestshistory-walk assertion withinvalidCursor; reclaimable-history test assumptions are also addressed by open test(cache): respect kernel purges in history eviction checks #819. No unrelated tests were edited; failed evidence was retained.git diff --checkpassed.Checklist
CHANGELOG.mdupdated