docs(bugs): mark N118 acknowledged (inherent EC-DOM fragility, documented)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -625,7 +625,7 @@ This document tracks identified bugs, edge cases, and architectural discrepancie
|
||||
**N118 — `useCallSpeakers` Relies on Three Layers of Undocumented EC Internal APIs**
|
||||
|
||||
- **File:** `src/app/hooks/useCallSpeakers.ts`, lines 15, 28–35
|
||||
- **Status:** **OPEN** [Claude_Found]
|
||||
- **Status:** **ACKNOWLEDGED (inherent)** — not a discrete bug: EC exposes no stable speaker API, so DOM/CSS reverse-engineering is unavoidable (the same applies to mute/spotlight/control poking elsewhere). The `19feca49` rewrite documents exactly which EC internals are depended on (`[data-video-fit]`, `::before` background-image, `aria-label`), which is the practical mitigation. A build-time EC-version assertion is a deferred CI/infra task; an upstream request for a stable `data-speaking` attribute is the real long-term fix.
|
||||
- **Issue:** Speaker detection depends on three private Element Call implementation details that are not part of any stable EC API contract and can silently break on any EC version bump:
|
||||
1. **`[data-video-fit]`** — selector for video tile wrapper elements (internal EC data attribute).
|
||||
2. **`getComputedStyle(el, '::before').getPropertyValue('background-image') !== 'none'`** — speaking state is inferred from a `::before` pseudo-element's `background-image`. Any EC refactor of the speaking indicator (e.g. switching to a CSS class, `data-speaking` attribute, or canvas overlay) silently breaks detection with no error.
|
||||
|
||||
Reference in New Issue
Block a user