Introduces a no-op API selection to disable expression classification
Shows warnings when no valid API is selected to prevent silent failures
Updates migration logic and settings UI to use new default value
This allows users to explicitly opt-out of automatic expression detection
while maintaining backwards compatibility with existing configurations
- If a reasoning model is used (via LLM, or R1 distill via webLLM), it'll likely return reasoning. That should not be used for the search of classification inside the response
- Functionality only available for LLM/webLLM
- New toggle to filter expressions on availalbe sprites
- `getExpressionsList` filters cached expressions when checked (using sprite folder name/override)
- `/expression-list` slash command has "filter" arg to filter list
- `/expression-classify` slash command has "filter" arg now, to use filtered list for classification
- `getExpressionLabel` uses filtered expressions when LLM/webLLM
- When no sprite was defined before, it falsely tried to derive the filename from the existing filename when "allow multiple" was not enabled. It now correctly just utilizes the expression name, not relying on filename anymore.
- When switching chars, override field gets correctly loaded. The display value won't be reset when the override was empty. This was likely unintended.
- Add /regex-toggle command, similarly to /extension-toggle
- toggles the state of both global and character-bound scripts
- Update jsdoc being inconsistent
Closes#3613
* continue works same as swipe continued message isn't depth counted
* correct early-out check
* update regex depth setting tooltips for accuracy
* update max tooltip
* remove redundant check
* Allow -1 as a min depth value
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* feature: 'kokoro-js' supports TTS #3412
* Linting, add credits for kokoro library
* Fix voice preview
* Fix display languages on previews
* Fix settings restoration. Debounce model init on settings change
* Fix engine sorting
* Move TTS processing to a web worker. Remove unused gain setting
* Speaking rate fix
* Update status when recreating a worker
* Pass voices list from TTS engine
* Call dispose function on provider change
* Extend worker init timeout to 10 minutes
---------
Co-authored-by: ryan <1014670860@qq.com>
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>