mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-08-23 01:16:36 +00:00
fix(extension): harden player discovery for Crunchyroll
This commit is contained in:
@@ -5,6 +5,28 @@ All notable changes to the KoalaSync browser extension and relay server.
|
||||
|
||||
---
|
||||
|
||||
## [v3.1.4] — 2026-08-21
|
||||
|
||||
This patch restores player detection on pages that use boxless CSS wrappers,
|
||||
including Crunchyroll, without adding site-specific matching.
|
||||
|
||||
### Fixed
|
||||
- **Extension: Crunchyroll playback synchronization** — Detects and controls
|
||||
Crunchyroll's visible Bitmovin HTML5 player even though the page wraps it in
|
||||
a boxless `display: contents` ancestor. The general fix keeps equivalent
|
||||
players selectable on other sites while continuing to reject hidden players,
|
||||
preloads, ads and background videos.
|
||||
- **Extension: Player discovery during iframe churn** — Keeps stable nested
|
||||
player frames discoverable when rapidly replaced ad frames make Chromium
|
||||
reject an aggregate frame sweep, without restoring the `webNavigation`
|
||||
permission or injecting globally into unselected tabs.
|
||||
|
||||
### Testing
|
||||
- **Regression coverage** — Adds unit and browser E2E coverage for visible
|
||||
players inside `display: contents` wrappers.
|
||||
|
||||
---
|
||||
|
||||
## [v3.1.3] — 2026-08-18
|
||||
|
||||
This release adds generic control for HTML5 players inside nested and cross-origin
|
||||
|
||||
@@ -20,7 +20,7 @@ This document tracks which streaming platforms and media servers are supported b
|
||||
| **Disney+** | ✅ Full | ⚠️ Partial | ❌ | — | — | — | Series title only (e.g. "The Simpsons"), no episode info. |
|
||||
| **Prime Video** | ✅ Full | ✅ Full | ❌ | — | — | — | — |
|
||||
| **HBO Max / Max** | Not tested | Not tested | Not tested | — | — | — | — |
|
||||
| **Crunchyroll** | Not tested | Not tested | Not tested | — | — | — | — |
|
||||
| **Crunchyroll** (`crunchyroll.com`) | ✅ Full | ⚠️ Partial | ❌ | 2026-08-21 | Shik3i | v3.1.4 | Manual testing on the live service confirmed playback synchronization with its top-level Bitmovin HTML5 player. The Media Session exposes the episode as `E1 - Prologue` and the series as artist metadata, but the current episode parser does not recognize the abbreviated `E1` form for episode auto-sync. |
|
||||
| **Vimeo** | Not tested | Not tested | Not tested | — | — | — | — |
|
||||
| **Dailymotion** | Not tested | Not tested | Not tested | — | — | — | — |
|
||||
| **ARD / ZDF Mediathek** | Not tested | Not tested | Not tested | — | — | — | — |
|
||||
@@ -81,3 +81,8 @@ The currently verified cross-origin service topologies are:
|
||||
- **YummyAnime:** `yummyanime.tv` top page → same-origin wrapper → `thealloha.club` player.
|
||||
|
||||
These embedded origins are implementation details of the services and may change independently. If the browser withholds access to a newly used player origin, KoalaSync asks for that origin through its normal site-access flow.
|
||||
|
||||
Crunchyroll currently exposes its Bitmovin `<video>` directly in the top-level
|
||||
document. Its application layout uses a `display: contents` wrapper, which has
|
||||
no box of its own even while the descendant player is visible; v3.1.4 handles
|
||||
that standards-compliant layout without a Crunchyroll-specific host rule.
|
||||
|
||||
Reference in New Issue
Block a user