diff --git a/CHANGELOG.md b/CHANGELOG.md index e71b04a..914d14d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi --- +## [1.13.3] — 2026-07-06 + +### Fixed +- **Dragging a short quoted line ("»Henker«.") to split it opened the Assign-to-character popup instead** — any selection under 40 characters was treated as "assign this text as a character name," even when it was clearly a short quoted line (guillemets/quotes are never part of a name). Selections starting with a quote mark now fall through to the "Split text to Unknown Speaker" button instead of being hijacked into the assign popup. + +--- + ## [1.13.2] — 2026-07-06 ### Fixed diff --git a/VERSION b/VERSION index 61ce01b..01b7568 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.2 +1.13.3 diff --git a/static/index.html b/static/index.html index 17fdb72..c204bf8 100644 --- a/static/index.html +++ b/static/index.html @@ -10,7 +10,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -365,7 +365,7 @@ window.toggleNavTree = function(treeId, chevronId) { - + diff --git a/static/js/audiobook.js b/static/js/audiobook.js index 04775f2..f6065cf 100644 --- a/static/js/audiobook.js +++ b/static/js/audiobook.js @@ -2800,6 +2800,13 @@ STRIKTE FORMAT- UND TEXTREGELN: if (sel.isCollapsed || !feed.contains(sel.anchorNode)) return; const text = sel.toString().trim(); if (!text || text.length >= 40 || text.includes('\n')) return; + // A short selection is ambiguous — could be a name to assign, or a short + // quoted line ("»Henker«.") the user is dragging out to split into its + // own Unknown-speaker segment. Quote marks are a strong tell for the + // latter (names don't come wrapped in guillemets/quotes), so leave those + // alone for the "Split text to Unknown Speaker" button (wired via + // selectionchange below) instead of hijacking them into the assign popup. + if (/^[»„“"'‘]/.test(text)) return; _abJustHandledSelection = true; // stop the click that follows this mouseup from also firing if (assignModeSeg) { // Popup already open (e.g. from clicking the speaker label) — a short