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.
- Move "use default emojis" from its own toggle into the fallback dropdown
- Add "no fallback" to the fallback dropdown
- fix fallback expressions not being consistently used
- Switching fallback will now reroll/reset the relevant expression
- Add html attributes on the expression image
- Update /expression-set command to allow setting specific sprites
- Enhance enum completion for /expression-set to show expressions/sprites and more their info
- Fix setting sprite folder reprinting stuff double
- Fix not being able to unset expressions
- Common naming schema for slash commands, all starting with the name of the expression - moved the original names to aliases
- Make char name optional for /expression-last if not in group chat
- Removed legacy 'format' argument handling from /expression-classify
- Fixed /expression-upload to the new backend call, added optional 'spriteName' argument
- Update Expressions List to display additional images per expression
- Make additional images appear visually distinct
- Fix small issues with custom labels not always being shown
- Add tooltip on all expression images
- Modify /api/sprites/get endpoint to correctly parse the label from filenames that might be additional files