tts-voice-creator-clone-and.../static/js
mARTin-B78 3c210df8a4 fix: magazine dropzone opened the file in the browser instead of accepting the drop
Two real bugs, both confirmed live:

1. dragover's preventDefault() was gated on dataTransfer.types including
   'Files' -- during a real OS file drag, Chromium does not reliably
   populate that list synchronously on every dragover event, so the
   condition failed often enough that preventDefault was silently
   skipped. Per the HTML5 DnD spec, an element only becomes a valid drop
   target once dragover (and, in some browsers, dragenter) has been
   cancelled -- without that, the browser falls through to its native
   "open the dropped file" behaviour, which is exactly what was
   reported. Removed the gate entirely; dragenter is now also handled,
   not just dragover.

2. No page-wide safety net existed, so a drop landing even slightly
   outside the dropzone element bubbled to the browser's default action
   uncontested. Added a window-level dragover/drop preventDefault
   installed once regardless of which section is active.

This also explains the "no hover highlight" symptom: the same
gated-preventDefault bug meant dragover never reliably reached the
class-toggle code either.

Verified live: dragenter/dragover/drop each report defaultPrevented,
the highlight class appears on dragenter and clears on drop, the
dropped file populates the hidden input, and a drop dispatched directly
on <body> (simulating one that misses the zone) is also intercepted by
the new window-level guard.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 00:11:54 +02:00
..
audiobook refactor: scope audiobook network 2026-09-04 12:41:35 +02:00
pdf Release v1.8.1 2026-06-25 18:48:42 +02:00
tesseract Merge Reader/Casting/Rehearser pipeline into one guided workflow (v1.12.84) 2026-07-03 17:45:38 +02:00
ai-backends.js feat: complete magazine P1 (images, play-all, karaoke, driving mode, sidebar exclusion) + OCR engines page + second OCR engine 2026-09-06 23:39:34 +02:00
audiobook-cast.js fix: preserve audiobook dialogue boundaries 2026-09-04 15:36:26 +02:00
audiobook-parse.js refactor: scope audiobook core 2026-09-04 12:37:37 +02:00
audiobook-pipeline.js fix: preserve audiobook dialogue boundaries 2026-09-04 15:36:26 +02:00
audiobook-preview-export.js refactor: scope audiobook state modules 2026-09-04 12:26:21 +02:00
audiobook-segmentation.js refactor: scope pure frontend leaves 2026-09-04 12:20:33 +02:00
audiobook.js refactor: scope audiobook core 2026-09-04 12:37:37 +02:00
benchmark-voice-picker.js Add searchable benchmark voice pickers 2026-06-05 15:44:13 +02:00
benchmark.js perf: coalesce voice library fetches 2026-09-04 10:10:10 +02:00
character-columns.js refactor: scope character columns 2026-09-04 13:35:10 +02:00
character-sheets.js refactor: scope character sheets 2026-09-04 13:21:31 +02:00
characters-library.js refactor: scope character library 2026-09-04 12:49:22 +02:00
conversation.js refactor: scope conversation state 2026-09-04 13:42:02 +02:00
engines.js feat: complete magazine P1 (images, play-all, karaoke, driving mode, sidebar exclusion) + OCR engines page + second OCR engine 2026-09-06 23:39:34 +02:00
fishaudio-browser.js Add unified Studio casting workflow and fix voice/casting pipeline bugs 2026-07-26 02:03:56 +02:00
generation.js refactor: scope generation module 2026-09-04 13:15:30 +02:00
i18n.js refactor: scope i18n state 2026-09-04 13:40:07 +02:00
image-cache.js perf: bound browser library image cache 2026-09-04 10:28:07 +02:00
init.js test: measure constrained character workloads 2026-09-04 10:34:27 +02:00
integrations.js refactor: scope integrations module 2026-09-04 13:06:59 +02:00
jobs.js feat: expand resource diagnostics 2026-09-04 10:42:08 +02:00
library-characters.js perf: tighten character pagination 2026-09-04 13:31:18 +02:00
library.js refactor: scope combined library 2026-09-04 13:04:46 +02:00
magazine.js fix: magazine dropzone opened the file in the browser instead of accepting the drop 2026-09-07 00:11:54 +02:00
namespace.js refactor: add frontend namespace migration bridge 2026-09-04 10:07:46 +02:00
reader.js refactor: scope reader module 2026-09-04 12:40:09 +02:00
rehearser-cast.js refactor: scope rehearser cast 2026-09-04 12:44:58 +02:00
rehearser-io.js refactor: scope rehearser io 2026-09-04 12:30:13 +02:00
rehearser-library.js refactor: scope rehearser library 2026-09-04 12:40:56 +02:00
rehearser-parse.js refactor: scope pure frontend leaves 2026-09-04 12:20:33 +02:00
rehearser-playback.js refactor: scope rehearser playback 2026-09-04 12:29:19 +02:00
rehearser-recording.js refactor: scope rehearser core 2026-09-04 12:33:55 +02:00
rehearser-stage.js refactor: scope rehearser stage 2026-09-04 12:42:22 +02:00
rehearser-train.js refactor: scope pure frontend leaves 2026-09-04 12:20:33 +02:00
rehearser-training-ui.js refactor: scope training ui module 2026-09-04 12:23:03 +02:00
rehearser-voice-design.js refactor: scope rehearser voice design 2026-09-04 12:44:08 +02:00
rehearser-voice-picker.js refactor: scope rehearser voice picker 2026-09-04 12:43:11 +02:00
rehearser.js refactor: scope rehearser core 2026-09-04 12:33:55 +02:00
routing.js refactor: scope routing module 2026-09-04 13:00:10 +02:00
seed-finder.js refactor: scope seed finder 2026-09-04 13:36:55 +02:00
settings.js refactor: scope settings module 2026-09-04 12:51:29 +02:00
sillytavern.js refactor: scope cast compatibility modules 2026-09-04 13:38:40 +02:00
stt.js refactor: scope stt module 2026-09-04 13:13:10 +02:00
studio.js refactor: scope studio module 2026-09-04 12:47:30 +02:00
tts-preview.js refactor: scope tts preview 2026-09-04 12:53:44 +02:00
utils.js feat: complete magazine P1 (images, play-all, karaoke, driving mode, sidebar exclusion) + OCR engines page + second OCR engine 2026-09-06 23:39:34 +02:00
voice-cache.js perf: coalesce voice library fetches 2026-09-04 10:10:10 +02:00
voice-clone.js refactor: scope voice clone 2026-09-04 12:55:50 +02:00
voice-inspector.js refactor: scope voice inspector 2026-09-04 13:25:13 +02:00
voice-library.js refactor: scope voice library 2026-09-04 13:19:52 +02:00
voice-picker.js Add routing voice-picker, restore voice filters, fix pedalboard (v1.14.3) 2026-07-08 21:05:45 +02:00
voice-sources.js refactor: scope voice sources 2026-09-04 12:57:53 +02:00