tts-voice-creator-clone-and.../routes
mARTin-B78 6bc98e2b62 Fix ASGI middleware crash and stream/blocking lock race (v1.12.96)
The static-asset caching middleware used BaseHTTPMiddleware, which has a
known Starlette bug: a client disconnecting mid-StreamingResponse (the new
live-attribution SSE stream hitting its idle timeout) raced its internal
task group and raised "RuntimeError: No response returned", crashing that
request. Rewritten as plain ASGI middleware that only touches headers via
the raw send callable, removing the race.

Also found the real cause of the casting timeouts/405s: the streaming
attribution endpoint had its own lock instead of sharing the one the
blocking endpoint already used to serialize on the LLM's single slot -
letting a stream call and its own blocking fallback fire concurrently,
exactly the ghost-request pile-up that lock was built to prevent. Unified
onto one lock and added server-side logging for stream failures.

The "LLM Thinking" pane now shows the model's actual <think> reasoning
instead of the in-progress JSON answer echoed back at the user.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 18:08:54 +02:00
..
__init__.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
admin.py Release v1.6.0: a11y (WCAG AA), i18n (DE), PWA, perf, tests, Cast UX 2026-06-03 14:23:35 +02:00
characters.py release: v1.12.52 2026-06-30 13:53:08 +02:00
conversation.py Fix ASGI middleware crash and stream/blocking lock race (v1.12.96) 2026-07-05 18:08:54 +02:00
docker.py release: v1.12.52 2026-06-30 13:53:08 +02:00
library.py Back user state with SQLite voice index 2026-06-30 15:06:43 +02:00
reader.py Fix casting-feed freeze, zip cast export, character generation prompts (v1.12.90) 2026-07-04 12:48:00 +02:00
rehearsals_db.py release: v1.12.52 2026-06-30 13:53:08 +02:00
settings.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
sources.py Back user state with SQLite voice index 2026-06-30 15:06:43 +02:00
stt.py Release v1.8.1 2026-06-25 18:48:42 +02:00
tts.py Merge Reader/Casting/Rehearser pipeline into one guided workflow (v1.12.84) 2026-07-03 17:45:38 +02:00