Commit Graph

909 Commits

Author SHA1 Message Date
Timothy Carambat
31ffe941d8 patch slashcommand popup to be usePortal 2026-03-10 17:47:57 -07:00
Timothy Carambat
21ac874cfa
Implement v2 chat layout designs (#5074)
* New chat history layout with chat bubbles (#4985)

* new chat history layout, remove message alignment setting

* remove orphaned chat alignment hook and MessageDirection

* remove workspace profile picture setting and fetch

* clean up unnecessary changes

* add light mode colors to chat ui and main page backgrounds

* update chat message and action icon colors for light mode

* update thinking and agent ui, layout, sizing

* update user message uploaded images ui

* update thought, agent containers to use new colors

* add truncatable content with gradient to user chat messages

* fix citations margin

* implement new edit message UI with save and submit actions

* add translations for TruncatableContent subcomponent

* remove unused props

* fix text colors for default mode chats, agent, thoughts container

* Normalize translations for new chat history layout (#5022)

* normalize translations

* update translations with DMR

* lint

* fix mismatched home container colors

* fix: add password character validation to onboarding single-user setup (#5037)

* fix single user mode password bug

* share const

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* Native Tool calling (#5071)

* checkpoint

* test MCP and flows

* add native tool call detection back to LMStudio

* add native tool call loops for Ollama

* Add ablity detection to DMR (regex parse)

* bedrock and generic openai with ENV flag

* deepseek native tool calling

* localAI native function

* groq support

* linting, add litellm and OR native tool calling via flag

* fix: resolve Gemini agent 400 error on tool call responses (#5054)

* add gtc__ prefix to tool call names in Gemini agent message formatting

* resolve Gemini agent 400 error on tool call responses

* add comments explaining geminis thought signatures

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* fix: prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement (#5053)

prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* linting, assistant speaker spacing and order, copy/edit order

---------

Co-authored-by: Marcello Fitton <106866560+angelplusultra@users.noreply.github.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* Implement new citations UI (#5038)

* new chat history layout, remove message alignment setting

* remove orphaned chat alignment hook and MessageDirection

* remove workspace profile picture setting and fetch

* clean up unnecessary changes

* add light mode colors to chat ui and main page backgrounds

* update chat message and action icon colors for light mode

* update thinking and agent ui, layout, sizing

* update user message uploaded images ui

* update thought, agent containers to use new colors

* add truncatable content with gradient to user chat messages

* fix citations margin

* implement new edit message UI with save and submit actions

* add translations for TruncatableContent subcomponent

* remove unused props

* fix text colors for default mode chats, agent, thoughts container

* Normalize translations for new chat history layout (#5022)

* normalize translations

* update translations with DMR

* lint

* fix mismatched home container colors

* implement new citations ui with sources sidebar

* bottom sheet for mobile citations

* convert mobile citations bottom sheet to new modal design

* add score, border separators for mobile citations modal

* push down sources sidebar in password/multiuser mode

* fix animation gap, simplify sources sidebar by splitting state to persist data on animation

* add english translations

* fix spacing from citations sidebar when user has auth

* Normalize translations for new citation UI (#5087)

* normalize translations

* update translations using DMR

* fix pluralize to use i18n native solution
change reset to immediate clear
fix spacing for TTS when showing or not to not have space

* proper pluralize

* hide metrics on mobile, fix last message padding on mobile

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* New prompt input ui/tools menu (#5070)

* wip new prompt input ui/tools menu

* fix colors for prompt input

* redesign workspace llm selector, extract text size + model picker to components

* refactor ToolsMenu component

* fix colors/refactor WorkspaceModelPicker

* fix spacing in ws model picker, change order of tools menu tabs

* fix slash commands showing /reset instead of /exit during active agent session

* refactor ToolsMenu to be much simpler

* cleanup, fix behavior of setupup provider in WorkspaceModelPicker

* simplify AgentSkillsTab toggle logic

* add english translations for new components

* remove legacy slash command/agent popups, add ToolsMenu keyboard nav

* fix spacing of workspace model picker text

* fix SourcesSidebar and TextSizeMenu positioning after merge

* fix keyboard nav in ToolsMenu when clicking on tools button to open

* typo

* only auto pop up tools menu when prompt input is empty with /

* fix z index for tools menu on citation

* fix behavior of / in prompt input

* move global window agent session state to module level variable

* fix prompt input not clearing on /reset

* missing translations

* revert translating slash command

* fix STT auto-submit not working on home page

* Normalize translations for new prompt input/tools menu UI (#5130)

* normalize translations

* update translations using DMR script

* normalize translations

* update translations using DMR script

* remove slash_exit

* fix skills.js import after merge

* fix tooltip z-index rendering behind citations

* patch translation prune script to not remove special cases

* updates to tools input

* factory translations

* use safeJsonParse in clearPromptInputDraft

* normalize translations

* disable agent skill toggles during active agent sessions + show tooltip on disabled

* normalize translations

* handle enter key behavior when tools menu is open

* fix unfocusable modal for slash command edit/new

* fix sending prompt when editing/creating slash commands

* hide/show agent skills in tools menu based on role

* container borders for dark/light mode compliance to designs

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* update how tooltip works for agent menu

* update prompt input to show agent button with CTA in agent panel for user clarify
update agent session start prompt button in input

* translations

* translations + move regex for slash commands to constants

* fix open sidebar ux

* fix tools menu to always open to slash commands, dismiss auto pop up

* fix sidebar open/close button overlapping with ws model picker

---------

Co-authored-by: Sean Hatfield <seanhatfield5@gmail.com>
Co-authored-by: Marcello Fitton <106866560+angelplusultra@users.noreply.github.com>
2026-03-10 12:50:19 -07:00
Timothy Carambat
e8ffe50760 patch plural keys 2026-03-09 14:34:08 -07:00
Marcello Fitton
a50d410dc2
chore: add script to detect and prune unused translation keys (#5141)
* add script to prune dead translation keys

* add support for dynamic translation keys

* improve performance of script

* fix dynamic t() detection and add keyboard shortcut keys to allowlist

* rename scripts

* change commands

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-03-09 12:02:16 -07:00
Timothy Carambat
bc58939843
Strip thinking from copy message outputs (#5179) 2026-03-09 11:10:17 -07:00
Marcello Fitton
113df6d013
feat: Add tooltip for paperclip attach button when no files are parsed (#5139)
* fix broken tooltip

* fix tooltip not showing on homepage

* fix tooltip rendering behind input on homepage

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2026-03-06 21:58:25 -08:00
Marcello Fitton
29950f08bb
refactor: refactor agent skills settings page to use i18n translation keys (#5146)
* refactor agent skills to read from translation keys instead of hardcoded strings

* add missing sql agent description key

* Remove fallbacks

* adjust translation

* swap to factor pattern

* normalize translations (#5147)

* normalize translations

* run translator job

* translations

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-03-05 16:17:00 -08:00
Timothy Carambat
1d8c488e97
Remove Google web-search Programmable SERP (#5156) 2026-03-05 14:49:32 -08:00
Timothy Carambat
8dfe9613bf add translations 2026-03-05 10:32:59 -08:00
Timothy Carambat
034aac91ae fix sidebar and add translations to sidebar 2026-03-05 10:31:28 -08:00
Timothy Carambat
b3944eb50e Revert "Add automatic chat mode with native tool calling support (#5140)"
- Need to support documents in agents
- Need to support images in agent mode

This reverts commit 4c69960dca.
2026-03-04 15:29:41 -08:00
Timothy Carambat
4c69960dca
Add automatic chat mode with native tool calling support (#5140)
Introduces a new automatic chat mode (now the default) that automatically invokes tools when the provider supports native tool calling. Conditionally shows/hides the @agent command based on whether native tooling is available.

    - Add supportsNativeToolCalling() to AI providers (OpenAI, Anthropic, Azure always support; others opt-in via ENV)
    - Update all locale translations with new mode descriptions
    - Enhance translator to preserve Trans component tags
    - Remove deprecated ability tags UI
2026-03-04 14:34:30 -08:00
Morgan
4cd3c77893
fix: show actionable error when LMStudio model listing fails or returns empty (#5131)
* fix: show actionable error when LMStudio model listing fails or returns empty

When the model listing request completes but returns no models (due to
connection failure, wrong URL, or server unreachable), the dropdown now
shows "No models found — check LMStudio is running and accessible"
instead of "--loading available models--", making it possible to
distinguish a failed request from one still in progress.

Affects both LLM and embedding provider selection components.

Closes recurring UX confusion reported in #3519, #1338, #3656.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* UI warning tooltip

---------

Co-authored-by: Morgan Giddings <morgan@MG-Mac-Studio.home.arpa>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-03-04 14:10:57 -08:00
Timothy Carambat
a6ba5a4034
Lemonade integration (#5077)
* lemonade integration

* lemonade embedder

* log

* load model

* readme updates

* update embedder privacy entry
2026-02-27 11:02:38 -08:00
Marcello Fitton
87b81f9d09
fix: prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement (#5053)
prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-26 13:46:01 -08:00
Marcello Fitton
55dc0da488
fix: add password character validation to onboarding single-user setup (#5037)
* fix single user mode password bug

* share const

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-23 19:08:05 -08:00
Sean Hatfield
d325b07182
Implement new home page redesign (#4931)
* remove legacy home page components, update home page to new layout

* update PromptInput component styles to match new designs, make quick action buttons functional

* home page chat creates new thread in last used workspace

* fix slash commands and agent popup on home page

* disable llm workspace selector action in home page

* add drag and drop file support to home page

* fix behavior of drag and drop on home page

* handle pasting attachments in home page

* update empty state of workspace chat to use new ui

* update empty workspace ui to match home page design, fix flickering loading states

* convert quick action buttons to component, add to empty state ws chat

* fix hover state light mode in quick actions

* add suggested messages subcomponent to empty ws/thread

* adjust width, rounded edges of prompt input

* only show quick actions for admin/manager role

* fix hover states for quick actions and suggested messages component

* make upload document quick action trigger parsed document upload

* fix mic behavior in homepage, ws chat, ws thread chat

* fix margin between prompt input and quick actions

* Simplify message presets by removing heading input (#4915)

* Remove heading input from message presets, merge legacy headings on edit

* filter out empty messages from state after saving

* mark form as dirty on input change

* styling

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* convert SuggestedMessages to component, render SuggestedMessages in home page to target ws

* fix broken handleMessageChange reference

* add translations for QuickActions

* lint

* fix home page chat submission broken by PromptInput onChange removal

* fix prompt input remount race condition, home page suggested message flicker

* remove unused handleSendSuggestedMessage from ChatHistory

* add greeting text to main-page translations, remove defaults

* fix file deletion in parsed files menu on home page

* add virtual thread sidebar state and workspace indicator on home page

* show workspace llm selector on home page when workspace exists

* show home page for all user roles with rbac quick actions

* fix positioning of agent and slash command popups

* remove workspace indicator from home page, match empty state spacing

* Normalize translations for home page redesign (#4986)

* normalize translations

* update translations with DMR

* accidentally changed es translation

* normalize translations for main-page.greeting

* update translations with DMR

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* update translations

* create new workspace in native language
Cleanup workspace page from empty state handling

* update quick action show logic

* fix send button

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-19 12:40:36 -08:00
Marcello Fitton
e025df9b87
feat: dedicated dark theme option with system preference support (#5007)
* implement OS level theme switching and dark mode option

* simplify

* fix logo bug in login | place back useTheme comment

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-19 12:37:13 -08:00
Dipanshu Rawat
a961fb8f75
fix(frontend): fix event listener memory leak in useIsDisabled hook (#5027)
fix: optimize event listener management in useIsDisabled hook
2026-02-19 12:24:24 -08:00
Marcello Fitton
eaa35eba61
feat: update light mode UI sidebar (#4996)
* implement light mode sidebar redesign

* Abstract hardcoded hex values into reusable css variables

* reorder ternary and apply bold font on hovered workspaces

* Remove double icon hack and use a state tracking whether workspace item is being hovered over for fill styles

* lint

* convert css variables and custom classes to default tailwind classes

* remove grab icon filling on hover logic

* revert css vars to original values

* remove light mode css vars | change bg of sidebar in light mode to right color | make icons correct color in light mode

* revert dark mode change

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-18 15:55:56 -08:00
Timothy Carambat
5fb1281891 patch out max_tokens from block output amount
resolves #3421
2026-02-12 14:20:08 -08:00
Timothy Carambat
6f443ce11a fix logo jump
resolves #4993
2026-02-12 13:40:56 -08:00
Timothy Carambat
cd6217fd6f normalize logo wordmark 2026-02-11 08:53:44 -08:00
Marcello Fitton
48e6e268a7
Fix Sidebar Clipping When Closed (#4970)
fix sidebar clipping when closed
2026-02-10 08:55:38 -08:00
Timothy Carambat
1c91d369c3
set embedder output dimensions for LocalAI and Gemini (gemini-embedding-001) (#4980) 2026-02-10 08:28:34 -08:00
Sean Hatfield
4a61008b72
Refactor: Remove redundant message state sync in ChatContainer (#4941)
* remove redundant message state sync in ChatContainer

* small lint

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-09 12:54:40 -08:00
Marcello Fitton
0da728fc50
refactor: Migrate system preferences to field-based endpoint and remove deprecated endpoint (#4958)
* Migrate all existing deprecated system preferences endpoint services to new service by field | delete old endpoint and service

* format

* destructure settings from response

* nitpick

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-09 12:48:48 -08:00
Timothy Carambat
152ac93e27 remove deprecated value for Google embedding 2026-02-08 14:05:34 -08:00
Marcello Fitton
8f7e0fb1f8
fix: scroll active sidebar items into view (#4965)
* Add centering of settings sidebar link when isActive

* abstract redundant logic into a reusable hook

* add jsdocs | refactor hook to consume behavior and block args

* remove unused import

* dev

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-02-06 19:23:14 -08:00
vigorous-ride
71cfff8091
UAE region support for bedrock models (#4964)
* added me-central-1 to bedrock regions

* fixed long region name
2026-02-05 10:01:35 -08:00
Timothy Carambat
7469ced2f5 add provider to map 2026-02-05 08:11:14 -08:00
Timothy Carambat
cf62b3563b fix bad arabic placeholder that got translated 2026-02-05 07:46:51 -08:00
Timothy Carambat
8e2efc63d0 fix legacy toggle on confluence page 2026-02-02 15:39:21 -08:00
Timothy Carambat
9378997bb6 patch translator 2026-02-02 15:02:51 -08:00
Timothy Carambat
fdf5cd0d5f patch warning 2026-02-02 12:37:31 -08:00
Timothy Carambat
2c513ae396
Web push notifications (#4942)
* WIP push notifications

* testing push

* cleanup for web-push bootstrapping
2026-02-02 10:56:58 -08:00
Timothy Carambat
97b140b4b4
Update LMStudio LLM & Embedder for API token (#4948)
- Updates Option panels to be consistent for other providers
adds API key to all LMStudio API calls
2026-01-30 11:13:32 -08:00
Timothy Carambat
0032c4da22
SambaNova Integration (#4943)
* SambaNova Integration

* lint
2026-01-29 18:48:22 -08:00
Timothy Carambat
392bf33770 simplify tooltips for prompt input items
Remove container for images
2026-01-29 17:17:05 -08:00
Timothy Carambat
99520cb59b lint applied by fixer 2026-01-29 17:03:20 -08:00
Marcello Fitton
c734566a67
feat: Enable essential ESLint rules and refactor frontend lint config (#4923)
* Install eslint-plugin-unsued-imports

* Refactor eslint to a sane working config

* enable jsx-no-target-blank | disable no-escaped-entities

* disable react/display-name react-hooks/immutability and react-hooks/preserve-manual-memoization

* chore: remove unused imports (#4925)

remove unused imports

* fix: resolve react-hooks ESLint errors (#4929)

fix react-hooks linting errors

* fix: add rel=noreferrer to target=_blank links (#4928)

Fix no target blank errors

* fix: resolve undefined variable errors in frontend (#4927)

* delete unused file src/components/DataConnectorOption/index.jsx

* fix undefined errors

* chore: Remove unused variables in frontend (#4924)

Remove unused variables

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-01-29 17:01:39 -08:00
Sean Hatfield
17a399d43c
Fix double scroll container in agent flow builder (#4933)
* fix double scroll container in agent flow builder

* use overflow-clip to prevent focus events from scrolling outer container

* add bottom padding

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-01-29 16:55:11 -08:00
Timothy Carambat
f9473cc8b1 Merge branch 'master' of github.com:Mintplex-Labs/anything-llm 2026-01-29 16:43:28 -08:00
Timothy Carambat
fc9bd712fe fix rerender for loading promptReply
resolves #4938
2026-01-29 16:43:21 -08:00
Marcello Fitton
3dae8db7ae
feat: Add ability to edit existing SQL agent connections (#4848)
* Add the ability to edit existing SQL connections

* Enhance SQL connection management by adding connections prop to DBConnection and SQLConnectionModal components for improved duplicate detection and handling.

* format

* fix: prevent input defocus in SQL connection edit modal

Fixed an issue where typing in input fields would cause the field to lose
focus during editing. The useEffect dependency array was using the entire
existingConnection object, which could change reference on parent re-renders,
triggering unnecessary re-fetches and unmounting form inputs.

Changed the dependency to use the primitive database_id value instead of the
object reference, ensuring the effect only runs when the actual connection
being edited changes.

* fix: prevent duplicate SQL connections from being created

Fixed an issue where saving SQL connections multiple times would create
duplicate entries with auto-generated hash suffixes (e.g., my-db-abc7).
This occurred because the frontend maintained stale action properties on
connections after saves, causing the backend to treat already-saved
connections as new additions.

Backend changes (server/models/systemSettings.js):
- Modified mergeConnections to skip action:add items that already exist
- Reject duplicate updates instead of auto-renaming with UUID suffixes
- Check if original connection exists before applying updates

Frontend changes:
- Added hasChanges prop to SQL connector component
- Automatically refresh connections from backend after successful save
- Ensures local state has clean data without stale action properties

This prevents the creation of confusing duplicate entries and ensures
only the connections the user explicitly created are stored.

* Refactor to use existing system settings endpoint for getting agent SQL connections | Add better documentation

* Simplify handleUpdateConnection handler

* refactor mergeConnections to use map

* remove console log

* fix bug where edit SQL connection modal values werent recomputed after re-opening

* Add loading state for fetching agent SQL connections

* tooltip

* remove unused import

* Put skip conditions in switch statement

* throw error if default switch case is triggered

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-01-29 16:37:46 -08:00
Timothy Carambat
b8dd7bc97e
Support PrivateModeAI Integration (#4937)
* Support PrivateModeAI Integration

* tooltip for proxy
2026-01-29 12:01:11 -08:00
Timothy Carambat
9fa455c10a fix tooltip generic name 2026-01-29 11:15:28 -08:00
Neha Prasad
3fc2432684
fix: prevent Citations UI glitching during streaming chats (#4897)
* fix: prevent Citations UI glitching during streaming chats

* replaced random keys with stable keys

* simplify citation glitch fix

* Remove unneeded memo()

* Simplify key logic

* Replace Boolean(source) with !!source

* change cohere to behave with citations like other models

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
Co-authored-by: Marcello Fitton <macfittondev@gmail.com>
2026-01-29 10:44:34 -08:00
Sean Hatfield
49a2b8f6f3
Toggle switch component (#4890)
* replace all toggle switches with toggle component

* add variant, label, and description support for toggle component

* refactor Toggle with subcomponents and JSDoc

* use checked value from Toggle onChange callback

* replace missed inline toggles with Toggle component

* fix jsdoc to use optional props

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-01-28 16:58:45 -08:00
Colin Perry
fdeb7b9acf
Fix sidebar thread layer (#4881)
* fixed sidebar overlay + overflow behavior

* ran yarn lint

* fixed footer vertical reserved space

* linting

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-01-28 16:36:52 -08:00