mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-07-16 19:13:31 +00:00
This PR addresses a bug where uploads weren't being cleared after successfully posting a new private message in the AI bot conversations interface. Here's what the changes do: ## Main Fix: - Makes the `prepareAndSubmitToBot()` method async and adds proper error handling - Adds `this.uploads.clear()` after successful submission to clear all uploads - Adds a test to verify that the "New Question" button properly resets the UI with no uploads ## Additional Improvements: 1. **Dynamic Character Length Validation**: - Uses `siteSettings.min_personal_message_post_length` instead of hardcoded 10 characters - Updates the error message to show the dynamic character count - Adds proper pluralization in the localization file for the error message 2. **Bug Fixes**: - Adds null checks with optional chaining (`link?.topic?.id`) in the sidebar code to prevent potential errors 3. **Code Organization**: - Moves error handling from the service to the controller for better separation of concerns
Discourse AI Plugin
Plugin Summary
For more information, please see: https://meta.discourse.org/t/discourse-ai/259214?u=falco
Evals
The directory evals
contains AI evals for the Discourse AI plugin.
You may create a local config by copying config/eval-llms.yml
to config/eval-llms.local.yml
and modifying the values.
To run them use:
cd evals ./run --help
Usage: evals/run [options]
-e, --eval NAME Name of the evaluation to run
--list-models List models
-m, --model NAME Model to evaluate (will eval all models if not specified)
-l, --list List evals
To run evals you will need to configure API keys in your environment:
OPENAI_API_KEY=your_openai_api_key ANTHROPIC_API_KEY=your_anthropic_api_key GEMINI_API_KEY=your_gemini_api_key
Languages
Ruby
81.3%
JavaScript
15.5%
SCSS
2.2%
CSS
0.4%
HTML
0.4%
Other
0.2%