* Update - Turn expression-set-fallback into expression-fallback
Make the extension a getter and setter instead of a setter only.
* Update - Rewrite the help string and add usage examples
* Fix - Remove the alias
* Feat - Add expression-set-fallback slash command
* Fix ESLint
* Fix - Use proper name convention for slash command method
* Fix - Change misleading expression-set-fallback help string label
* Fix - Use normal description for expression label argument
* Update - Make expression-set-fallback case unsensitive
Also fixed array creation by removing the spread syntax and added warning.
Adjusts conditions to properly enforce mutual exclusivity between fallback expression and default emoji settings
- Ensures "[ No fallback ]" option only appears when both settings are inactive
- Updates migration logic to ONLY reset default emoji setting when fallback is active
Fixes#4205
Some backends use grammar constraints that allow additional properties
with the generated JSON schema, resulting in an incoherent and extremely
long JSON.
Set this to false so the model can generate what we need and nothing else.
Signed-off-by: kingbri <8082010+kingbri1@users.noreply.github.com>
To prevent prompt reprocessing per turn, use the full context
when prompting with the main API. Doing so keeps the preserved
prefix while adding an extra sentence rather than providing two
different prompts for each turn.
In addition, JSON schemas might need a prompt to coerce a proper
schema return from the model.
Signed-off-by: kingbri <8082010+kingbri1@users.noreply.github.com>
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