* chore: typing
* refactor: create file filter from custom fileConfig, if provided
* refactor: use logger utility to avoid overly verbose axios error logs when using RAG_API
* fix(useFileHandling): use memoization/callbacks to make sure the appropriate fileConfig is used; refactor: move endpoint to first field applied to formdata
* chore: update librechat-data-provider version to 0.7.54
* chore: revert type change
* fix: bedrock tool name regex
* fix: pass args as single input, attempt json first.
* refactor: remove toolMap from agent tool load as is not used
* fix: update formatAgentMessages test to use strictEqual for args comparison, testing new behavior
* feat: Known Endpoint, xAI
* chore: update librechat-data-provider version to 0.7.53
* ci: name property removal
* feat: add XAI_API_KEY to example environment variables
* chore: actions typing
* fix(actions): implement request executor pattern to prevent concurrent execution issues
BREAKING CHANGE: ActionRequest now uses a RequestExecutor pattern for isolated request state
- Introduce RequestConfig class to store immutable configuration
- Add RequestExecutor class to handle isolated request state for each execution
- Modify ActionRequest to act as a facade creating new executors for each operation
- Maintain backward compatibility through delegation and getters
- Add TypeScript types for better type safety
- Fix race conditions in concurrent executions with auth and params
This change prevents state mutation issues when the same action is called
multiple times concurrently, particularly when using authentication. Each
request now gets its own isolated state through a new executor instance,
solving race conditions while maintaining the existing API interface.
* ci: test isolation/immutatability
* chore: Update version to 0.7.51 in data-provider package
* refactor(actions): refactor createActionTool to use request executor pattern
- added aria-expanded attribute to indicate the panel's expanded/collapsed state
- added aria-controls attribute to specify the element controlled by the button
- updated aria-label using the localize function for better description
* refactor: move o1 model check, after vision request check
* feat(server): add configurable cache headers for index.html
• Add environment variables to control index.html cache headers
• Default to no-cache configuration for consistent app updates
• Document cache control options in .env.example
* oidc-changes Initial attempt at testing openidStrategy and adding OPENID_USERNAME_CLAIM setting
* oidc-changes Add OPENID_NAME_CLAIM
* oidc-changes cleanup oidc test code
* oidc-changes using mongo memory server for test
* oidc-changes Change tests to expect username all lowercase
* oidc-changes Add more tests
* chore: linting
* refactor: Simplify OpenID full name retrieval logic
* refactor: Simplify OpenID user info retrieval logic
* refactor: move helper to openidStrategy.js
---------
Co-authored-by: alihacks <alihacks@pm.me>
* fix: ReDoS in ChatGPT Import
* ci: should correctly process citations from real ChatGPT data
* ci: Add ReDoS vulnerability test for processAssistantMessage
* refactor: Update thread management and citation handling
* refactor(validateImageRequest): robust validation
* refactor(Prompt.js): update name search regex to escape special characters
* refactor(Preset): exclude user from preset update to prevent mass assignment
* refactor(files.js): Improve file deletion process
* ci: updated validateImageRequest.spec.js
* a11y: plugin pagination
* refactor(CreatePromptForm.tsx): Improve input field styling
* chore(Prompts): typing and accessibility
* fix: prompt creation access role check
* chore: remove duplicate jsdocs
* chore: remove comparisons
* feat: use prompt caching for translations
* chore: wip translation readme
* i18n: korean translations
* refactor: use promises for faster translation processing
* refactor: update translation model to 'claude-3-5-sonnet-20241022'
* refactor: optimize sleep duration for translation processing
* i18n: add missing keys
* refactor: standardize languages in their own respective languages
* Refactor translation instructions in README.md
* 🔘 a11y: Improve Contrast of Switch/Toggles to WCAG Standard
* refactor: Improve file attachment accessibility in Chat Input component
* refactor: clear input ref value before clicks
The changes include:
- In the agent controller:
- Removed the parsing of the avatar metadata from the request body.
- Fetched the avatar data from the agent object using the agent ID.
- Updated the error logging when fetching the agent.
- Updated the deleteFileByFilter function to include the user ID when deleting the old avatar file.
- In the assistant controller:
- Removed the parsing of the metadata from the request body.
- Fetched the metadata from the assistant object using the assistant ID.
- Updated the error logging when fetching the assistant.
- Updated the deleteFileByFilter function to include the user ID when deleting the old avatar file.
* fix(Agents): remove test code in openAI/llm.js
* refactor: add use of enums in encodeAndFormat
* fix: image attachment payload formatting for agents
* chore: imports
* feat: Refactor ChatForm and StopButton components for improved styling and localization
* feat: Refactor AudioRecorder, ChatForm, AttachFile, and SendButton components for improved styling and layout
* feat: Add RevokeAllKeys component and update styling for buttons and inputs
* feat: Refactor ClearChats component and update ClearConvos functionality for improved clarity and user experience
* feat: Remove ClearConvos component and update related imports and functionality in Avatar and DeleteCacheButton components
* feat: Rename DeleteCacheButton to DeleteCache and update related imports; enhance confirmation message in localization
* feat: Update ChatForm layout for RTL support and improve component structure
* feat: Adjust ChatForm layout for improved RTL support and alignment
* feat: Refactor Bookmark components to use new UI elements and improve styling
* feat: Update FileSearch and ShareAgent components for improved button styling and layout
* feat: Update ChatForm and TextareaHeader styles for improved UI consistency
* feat: Refactor Nav components for improved styling and layout adjustments
* feat: Update button sizes and padding for improved UI consistency across chat components
* feat: Remove ClearChatsButton test file as part of code cleanup
* refactor(OpenAIClient): titleChatCompletion try/catch
* fix: remove duplicate concatenation as seems to be handled by client SDK now
* fix: assistants image upload
* chore: imports order
* refactor: move file mutations to dedicated file, improve typing
* refactor(ChatForm): utilize FileFormWrapper to consolidate file upload logic/rendering to single parent
* refactor: better TSX heirarchies between AttachFile and FileFormWrapper
* refactor: `abortUpload` WIP
* fix: file debugging and file upload issues
* refactor: reject promise outright if axios intercepted error does not include response property
* chore: bump data-provider version to 0.7.428
* refactor: Add return type to localize function in Translation.ts
* refactor: allow message file attachment upload request cancellations, and add localizations for file upload errors
* refactor: include Azure OpenAI in paramEndpoints set
* fix: assistant form uploads and better typing
* refactor: consolidate logic
* chore: cleanup type issues in client/src/utils/endpoints
* refactor: use Constant enum for 'new' conversationId
* refactor: select assistant model if not provided for model spec