wkappbot-core
★★☆
speak: dynamic safety timer based on text length and markers
Safety timer arms on first KaraokeTick when playback starts, not on window load. Duration = max(60s, lastMarker.AudioPos+30s, charCount*0.4s+30s)
Steps
- Old: hardcoded 30s from Loaded event (races...
- New: _safetyTimerArmed flag, armed in Karaok...
- Duration computed from last marker AudioPos...
- Fixes: 250-300 char Korean text timing out b...
- Verified 2026-04-26: test-speak-timeout-safe...