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>
* Connection Profiles: Add support for 'start-reply-with' command and allow empty values for 'stop-strings' command
* Add handling for empty profile values in makeFancyProfile function
* Fix application of empty values
* Handle undefined values
* Improve argument validation
* Replace || with &&
* I got it right this time, swear
* Who wrote this?
* Added translate to reasoning block
* Added mising reset value
* Shortcut nullable type
* Added reasoning edited/deleted events, better naming
* Fixed async call
* Added await to saveChat calls
* Exported updateReasoningUI
* Removed translated reasoning on edit if auto mode is none
* Added new value check before updating reasoning block, fixed an issue that display value stays same when we edit the message.
* Translate reasoning before the main message
* Fixed auto mode translate for reasoning message
* Translate reasoning first. Prevent out of bounds access
* Fix translating reasoning on swipe generation
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* Add gallery folder and sort order controls
Closes#3601
* Refactor sort constants to use Object.freeze for immutability
* Add comment
* Remove excessive null propagation
* Update type hint for gallery.folders
* Use defaultSettings.sort as a fallback
* Throw in groups
* Handle rename/deletion events
* Merge init functions
* Fix multiple gallery file uplods
* Add min-height for gallery element
* Fix gallery endpoint not parsing body
* translatable toasts
* Pass folder path in request body
* Change restore pictogram
* Add title to gallery thumbnail images
* Allow optional folder parameter in image list endpoint and handle deprecated usage warning
* Add validation for folder parameter in image list endpoint
* Add border to gallery sort selection
* Remove override if default folder is set to input
* Use server-side path sanitation
* Sanitize gallery folder input before updating
---------
Co-authored-by: Wolfsblvt <wolfsblvt@gmail.com>