* Remove dead Gemini 1.5 models, and clean up
* Remove dead models (error 404): Gemini 1.5, `gemini-2.5-pro-exp-03-25`, `gemini-2.5-flash-preview-04-17`
* Adjust the Gemini → descriptions
* Assign default models to 2.5 Pro and Sonnet 4.5 (3.5 and 3.7 will be retiring soon)
* Add `gemini-2.5-flash-image`
* Don't forget learnlm-1.5-pro
* Update default claude
* Vertex: Clean-up 2.5 preview models
* Disable thinking for 2.5-flash-image
* Bring back banana preview
* Update defaults in more places
* Add gemini preview-09-2025 and robotics-er
* unbrick my last commit
* Add gemini-robotics-er to captions
* Set max context for gemini-robotics-er
dang
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* Add interactable outline color CSS variables
Introduces --interactable-outline-color and --interactable-outline-color-faint variables to the body style, both set to transparent for future use in styling interactive elements.
* Update global styles and remove unused CSS variables
Added -webkit-tap-highlight-color to the universal selector for improved touch experience.
* Add confirmation for bulk move, add UNKNOWN type, improve JSDoc
* Fix toggle all bulk move visibility
* Improve function documentation
* Refactor currentChatId check and improve JSDoc for getScriptDecorators function
* Check against known values in moveRegexScript
* Fix console warning spam
* Simplify currentChatId check
* Prevent moving scripts into the void
* Make texts translatable
* Update contribution guidelines
* fix: language in CONTRIBUTING.md
* Updated language to clarify the role of maintainers in PR reviews.
* Update section title for AI coding assistance tools
* Update CONTRIBUTING.md
* 200
* ci: switch workflows to use app token/app id authentication
* That wasn't supposed to go in this PR
* chore: refactor to local token minting step [Test]
* chore: expose token output from setup-app-token action and add PR checkout step
* ci: replace checkout and custom app token with create-github-app-token action in PR merge conflict workflow
* ci: add test label action to PR conflict check workflow
* another test...
* I am losing my sanity
* can this work now? please? This action adds my debug level?
* it needs to run always
* let's do it via curl...?
* why did it (totally not me) remove the always() again
* Sorry I screamed at you, Qwen. Does this work?
* refactor: consolidate GitHub App token creation into individual jobs
* chore: remove debug label functionality from merge conflict workflow
* chore: let's figure out why labeler is not behaving
* chore: remove temporary GitHub API token validation check from PR workflow
* ci: ensure workflow jobs run regardless of previous job failures by adding if: always()
- Fixes visual inconsistency between 'Enter a Model ID' input and 'Available Models' dropdown
- Uses calc(var(--mainFontSize) * 0.95) to match the slightly smaller font size of the dropdown
- Resolves issue #4599
This is the most minimal fix that targets only the specific element causing the visual difference.
Co-authored-by: Trahloc <trahloc@hearth.trahloc.com>
* fix: reprint non-tainted group chat on switching personas
* feat: mark chat as tainted when sending user message
* feat: mark chat as tainted when adding custom messages or captions
* feat: export createOrEditCharacter function and integrate it into retriggerFirstMessageOnEmptyChat
* fix: optimize loadPersonaForCurrentChat by storing current chat ID in a variable
* Improve conditions of first message retrigger
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* fix: do not jumo to chat twice on new group chat with delete
* fix: prevent metadata reset when deleting non-active group chat
* Bring back group chat splice call
* Always delete past group metadata on chat delete
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* feat: allow create new world books via /getpersonabook and /getcharbook
Refactor character world info management into dedicated functions
Extract character world assignment logic from UI handlers into reusable functions
Add support for automatic lorebook creation in slash commands
Improve code maintainability by centralizing world info operations
* refactor: update boolean enum provider from onOffToggle to trueFalse in world info commands
* fix: improve world info name uniqueness check using getUniqueName utility
* Unset current persona WI on file deletion
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* fix: (new) group chat doesn't respect persona connections
Fixes#3876
* refactor: simplify persona connection filtering with destructuring and type comparison
* fix: remove redundant type check in persona connection filtering logic
(char avatar and group key *should* always be unique and different anyway, no need to check on type. Makes this more flexible)
* feat: enable character source dropdown based on availability and style disabled options
* feat: emit event when character is in right character panel
* refactor: rename CHARACTER_SELECT_SELECTED event to CHARACTER_EDITOR_OPENED for clarity
* Always disable source option when peeking in groups
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
Refer to line 5771, where is correct, but the branch is not added, resulting in the branch being triggered once here when the streaming is completed, and finally the streaming is triggered again. In fact, it should not be triggered here
* refactor: allow popup okButton and cancelButton to be set to false to hide them, even if visible by default
* feat: add character replacement from online source URL
- add utility function to import anything from external URL (refactored from existing function)
- fix character replace toast showing "Created"
- fix thumbnails not refreshing for replaced char
- fix accidentally creating new chat on replace, instead of reloading the open chat
* fix: refresh avatar thumbnail only after successful character import and when character exists
* chore: fix lint, unused import
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* feat: Add {{notChar}} macro for participant list
* implement impersonation logic consistently.
* docs: Document the new {{notChar}} macro
* docs: Fix format for {{notChar}} and remove examples.
* docs: Add span tag
* docs: fix extra quote mark
* docs: Add suggested fixes
* fix: change MiniMax TTS pitch from float range 0.5-2.0 to integer range -12 to 12
Fixes#4570
* refactor: replace hardcoded defaults with defaultSettings in MiniMaxTtsProvider config
* refactor: restructure TTS settings with min/max ranges and add value clamping, adjust volume range
* fix: flatten MiniMaxTtsProvider settings to use default values from complex field definitions
* Adjust block spacing
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
* [wip] Add stream fade-in effect for message text and corresponding CSS animation
* Avoid using temporary element during text segmentation
* Add fade in toggle
* Skip whitespace-only nodes
* Fade-in reasoning stream
* Fix case when segmenter is not supported