Summary
(As of v2.6.2.) Two interacting details:
- The binary search's exact-match branch (
hyperaudio-lite.js:977-984) breaks at whichever duplicate timestamp it probes first (consumers assign speaker spans the same data-m as the adjacent word — e.g. hyperaudio-lite-editor's editor-core.js:420-426).
- In
setPlayHead's paused-click path (:734-737), active is added to target and target.parentNode directly, but updateTranscriptVisualState only tracks its own computed activeWordElement/activeParentElement (:1039-1054) for later removal.
When the computed active element differs from the clicked target (duplicate timestamps make this routine), the manually-added active on the target's parent is untracked — the delta updater never removes it, leaving a second paragraph highlighted until the next clearActiveClasses() (i.e. the next click).
Fix
Route the paused-click highlight through the tracked fields (set this.activeWordElement/activeParentElement to the target), or bias the binary search to the last element among equal timestamps.
Found reviewing the copy vendored in hyperaudio-lite-editor / GliderMac (2026-07-11).
Summary
(As of v2.6.2.) Two interacting details:
hyperaudio-lite.js:977-984) breaks at whichever duplicate timestamp it probes first (consumers assign speaker spans the samedata-mas the adjacent word — e.g. hyperaudio-lite-editor'seditor-core.js:420-426).setPlayHead's paused-click path (:734-737),activeis added totargetandtarget.parentNodedirectly, butupdateTranscriptVisualStateonly tracks its own computedactiveWordElement/activeParentElement(:1039-1054) for later removal.When the computed active element differs from the clicked target (duplicate timestamps make this routine), the manually-added
activeon the target's parent is untracked — the delta updater never removes it, leaving a second paragraph highlighted until the nextclearActiveClasses()(i.e. the next click).Fix
Route the paused-click highlight through the tracked fields (set
this.activeWordElement/activeParentElementto the target), or bias the binary search to the last element among equal timestamps.Found reviewing the copy vendored in hyperaudio-lite-editor / GliderMac (2026-07-11).