From 83808a22e1b411d383a4a29b21c32ac89c78bd02 Mon Sep 17 00:00:00 2001 From: mARTin-B78 Date: Thu, 9 Jul 2026 02:44:10 +0200 Subject: [PATCH] Fix assign popup being closed before a name-elsewhere click could fill it (v1.14.14) A document-level "click outside closes the popup" handler only exempted clicks on the paragraph's speaker label, not clicks anywhere else in the passage text. Since mousedown fires before click, this closed the popup (clearing assignModeRow) before the v1.14.13 name-click logic ever ran, making "click a name elsewhere to feed the open popup" silently do nothing. Passage-text clicks/drags no longer auto-close the popup. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 7 +++++++ VERSION | 2 +- static/index.html | 6 +++--- static/js/audiobook.js | 7 ++++++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d4fd13..4be8c8d 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.14.14] — 2026-07-09 + +### Fixed +- **Clicking a name elsewhere in the text to feed an already-open "Assign to" popup did nothing** — a separate document-level "click outside closes the popup" handler only exempted clicks on the paragraph's own speaker label, not clicks anywhere else in the passage text. So the popup was being closed by mousedown before the (v1.14.13) name-click logic ever got to run. Clicks and drag-selections inside passage text no longer auto-close the popup. + +--- + ## [1.14.13] — 2026-07-09 ### Fixed diff --git a/VERSION b/VERSION index 517e041..569a91f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.14.13 +1.14.14 diff --git a/static/index.html b/static/index.html index 244796d..94ee58b 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 ebdf888..c3856f6 100644 --- a/static/js/audiobook.js +++ b/static/js/audiobook.js @@ -2574,7 +2574,12 @@ STRIKTE FORMAT- UND TEXTREGELN: header.querySelector('.mdi-close').addEventListener('click', () => assignPopup._close?.()); document.addEventListener('mousedown', e => { - if (assignPopup.style.display !== 'none' && !assignPopup.contains(e.target) && !e.target.closest('.ab-cv-spk')) { + // Don't auto-close on a click/drag inside the passage text either — that's + // exactly how you feed a name into an already-open popup (see the feed's + // click and mouseup handlers below), so closing here on mousedown would + // kill the popup before that logic ever runs. + if (assignPopup.style.display !== 'none' && !assignPopup.contains(e.target) + && !e.target.closest('.ab-cv-spk') && !e.target.closest('.ab-cv-txt')) { assignPopup._close?.(); } });