- Added a new condition to the Gemini reasoning model check to include models with IDs starting with 'gemini' and containing 'thinking'.
- Refactored the CitationsList component to improve the structure of popover content for web search and knowledge citations.
- Updated styled components for better layout and responsiveness in the citation popover.
- Adjusted margin styles in ErrorBlock for consistent spacing.
* feat(Messages): integrate Scrollbar component into Message and MessageGroup styled containers
* style(Messages): add margin-top to MessageFooter for improved layout
* fix(SelectionToolbar): update regex to remove background styles more accurately
refactor: update selection toolbar styles and structure
- Enhanced the selection toolbar's HTML structure for better readability.
- Updated CSS variables for improved theming and consistency across the toolbar.
- Refactored the styled components in SelectionToolbar.tsx to utilize new CSS variables for layout and styling.
- Added support for hover states and improved button styling for better user experience.
feat: enhance opacity control in Selection Assistant Settings
- Added state management for opacity value in SelectionAssistantSettings component.
- Updated Slider component to use the new opacity state instead of the previous actionWindowOpacity variable.
- Ensured onChangeComplete updates the actionWindowOpacity accordingly.
- Added state management to control visibility of UI elements in the WindowFooter.
- Implemented a timer to automatically hide elements after a period of inactivity.
- Updated hotkey handlers to reset the visibility timer on user interaction.
- Modified styled component to reflect the new visibility logic.
- Introduced a new modelParts array to manage model-related messages separately from user messages.
- Updated the logic to push model messages to currentReqMessages only if they exist, improving clarity and structure.
- Adjusted the return order of messages in buildSdkMessages to ensure history is appended correctly.
- Enhanced McpToolChunkMiddleware to reset tool processing state output when output is present.
* refactor: data migration modal logic in DataSettings
Moved showProgressModal and startMigration functions inside the useEffect hook and added t as a dependency. This improves encapsulation and ensures translation updates are handled correctly.
* remove trailing whitespace in DataSettings.tsx
Cleaned up a line by removing unnecessary trailing whitespace in the DataSettings component.
* feat(migrate): add default settings for assistants during migration
- Introduced a new migration step to assign default settings for assistants that lack configuration.
- Default settings include temperature, context count, and other parameters to ensure consistent behavior across the application.
* chore(store): increment version number to 115 for persisted reducer
* feat: Implement occupied directories handling during data copy
- Added `occupiedDirs` constant to manage directories that should not be copied.
- Enhanced the `copyOccupiedDirsInMainProcess` function to copy occupied directories to a new app data path in the main process.
- Updated IPC and preload APIs to support passing occupied directories during the copy operation.
- Modified the DataSettings component to utilize the new copy functionality with occupied directories.
* fix: Improve occupied directories handling during data copy
- Updated the filter logic in the `registerIpc` function to resolve directory paths correctly.
- Modified the `DataSettings` component to pass the correct occupied directories format during the copy operation.
Add tag collapse state management for assistants
Introduces a collapsedTags state to manage the collapsed/expanded state of tag groups in the assistants list. Updates useTags and AssistantsTab to use this state, and adds actions to toggle and initialize tag collapse in the Redux store.
* refactor: file actions into FileAction service
Moved file sorting, deletion, and renaming logic from FilesPage to a new FileAction service for better modularity and reuse. Updated FileList and FilesPage to use the new service functions, and improved the delete button UI in FileList.
* feat: enhance API key management in ApiCheckPopup: allow users to add new API key
- Enhanced ApiCheckPopup component to allow users to add new API key, including validation for duplicate entries and improved user feedback.
* feat: update localization strings and refactor API key management components
- Added "Invalid API key" message to localization files for English, Japanese, Russian, Simplified Chinese, and Traditional Chinese.
- Refactored API key management by replacing the ApiCheckPopup with a new ApiKeyList component, enhancing user experience and modularity in handling API keys across provider settings.
* refactor: update OAuthButton and ApiKeyList components for improved UI and localization
- Commented out the translation key in OAuthButton for future use.
- Removed unnecessary localization strings related to API key tips across multiple languages.
- Enhanced ApiKeyList component with styled components for better layout and user interaction.
- Updated ProviderSetting and WebSearchProviderSetting to streamline API key management UI.
* refactor: streamline ApiKeyList component and update localization strings
- Removed the "Check Multiple API Keys" translation key from English, Japanese, Russian, Simplified Chinese, and Traditional Chinese localization files.
- Updated ApiKeyList component to eliminate the model prop, enhancing its simplicity and usability.
- Improved error handling in API key validation by integrating model selection directly within the check process.
* feat: add latency tooltip to API key validation in ApiKeyList component and update localization strings
- Introduced a latency tooltip in the ApiKeyList component to display the time taken for API key validation.
- Updated localization files for English, Japanese, Russian, Simplified Chinese, and Traditional Chinese to include the new latency tooltip string.
* refactor: remove unused imports in WebSearchProviderSetting component
* refactor: improve error handling and latency tracking in ApiKeyList component
- Enhanced error handling during model selection to prevent failures when the user cancels the popup.
- Introduced latency tracking for API key validation, ensuring accurate measurement of response times.
- Streamlined the code for better readability and maintainability.
* refactor: improve styling in ApiKeyList component for better UI consistency
- Updated padding styles for error messages and list items in the ApiKeyList component to enhance visual clarity and user experience.
- Adjusted Card component properties to ensure consistent styling across the interface.
* refactor: extract key formatting logic into a separate function in ApiKeyList component
- Created a new function `formatAndConvertKeysToArray` to handle the formatting and conversion of API keys into an array of unique key objects.
- Updated the state initialization and effect hook in the ApiKeyList component to utilize the new function, improving code readability and maintainability.
* refactor: conditionally render API key section for non-copilot providers
- Updated the ProviderSetting component to conditionally display the API key section only for providers other than 'copilot', improving the user interface and experience.
- Maintained existing functionality for API key management while enhancing code readability.
* refactor: enhance ApiKeyList component for copilot provider handling
- Introduced a new condition to manage the rendering and functionality of buttons in the ApiKeyList component based on the provider type, specifically for 'copilot'.
- Updated the ProviderSetting component to ensure the API key section is consistently displayed for all providers, improving overall user experience and code clarity.
* fix model type error
* feat(ApiKeyList): exclude rerank models from being checked for API key validation after #3969 is merged
* refactor(ApiKeyList): conditionally render check and remove buttons based on key statuses
* refactor(ApiKeyList): using Promise.all for improved performance after #4066 is merged
* refactor(ProviderSettings): update API key display and tooltip integration for improved layout and accessibility
* fix(ApiKeyList): prevent notifications from showing when checking multiple API keys
* feat(ApiKeyList): enhance API key handling with improved key formatting and auto-focus logic for add button
* refactor: clean up WebSearchProviderSetting component
* refactor(ApiKeyList): replace icon buttons with styled components for save and cancel actions
* refactor: API key list UI and remove unused components
Simplified the API key list UI by removing custom styled components for status and actions, replacing them with Ant Design icons and buttons. Improved the key checking logic and removed the tooltip for key check results. Also removed an unused help text in ProviderSetting.
* refactor: add edit functionality to API key list
Introduces the ability to edit existing API keys in the ApiKeyList component. Removes custom save/cancel icon buttons in favor of standard input blur/enter and icon actions. Also adjusts styling for help text in ProviderSetting.
* refactor(ApiKeyList): enhance key status display with tooltips and color coding
* feat(i18n): add "checking" status message in multiple languages
* feat(ApiKeyList): enhance API key management with confirmation for deletion and improved state handling
- Added confirmation for deleting API keys, allowing users to confirm before removal.
- Introduced a cancel state for adding new keys to improve user experience.
- Enhanced key status updates to prevent unnecessary re-renders.
- Improved UI interactions with better handling of edit and cancel actions.
- Added escape key functionality for canceling edits and new key entries.
* fix(ApiKeyList): adjust layout of API key list for improved spacing and alignment
- Updated the Flex component to justify content between elements, enhancing the visual layout of the API key list.
- Minor style adjustment to maintain consistency in the user interface.
* fix(ApiKeyList): refine padding for API key list items to enhance visual consistency
- Adjusted padding for API key list text and items to improve overall layout and alignment.
- Ensured consistent spacing across different states of the API key list.
---------
Co-authored-by: Pleasurecruise <3196812536@qq.com>
Co-authored-by: suyao <sy20010504@gmail.com>
* fix: display updated timestamp when available in knowledge base
- Add updated_at field when creating knowledge items
- Show updated_at timestamp if it's newer than created_at
- Fallback to created_at if updated_at is not available or older
Fixes#4587
Signed-off-by: Ying-xi <62348590+Ying-xi@users.noreply.github.com>
* refactor(knowledge): extract display time logic into a reusable function
Signed-off-by: Ying-xi <62348590+Ying-xi@users.noreply.github.com>
---------
Signed-off-by: Ying-xi <62348590+Ying-xi@users.noreply.github.com>
* feat(ContextMenu): add spell check and dictionary suggestions to context menu
- Implemented spell check functionality in the context menu with options to learn spelling and view dictionary suggestions.
- Updated WindowService to enable spellcheck in the webview.
- Enabled spell check in Inputbar and MessageEditor components.
* feat(SpellCheck): implement spell check language settings and initialization
- Added support for configuring spell check languages based on user-selected language.
- Introduced IPC channel for setting spell check languages.
- Updated settings to manage spell check enablement and languages.
- Enhanced UI to allow users to toggle spell check functionality and select languages.
- Default spell check languages are set based on the current UI language if none are specified.
* refactor(SpellCheck): enhance spell check language mapping and UI settings
- Updated spell check language mapping to default to English for unsupported languages.
- Improved UI logic to only update spell check languages when enabled and no manual selections are made.
- Added a new selection component for users to choose from commonly supported spell check languages.
* feat(SpellCheck): integrate spell check functionality into Inputbar and MessageEditor
- Added enableSpellCheck setting to control spell check functionality in both Inputbar and MessageEditor components.
- Updated spellCheck prop to utilize the new setting, enhancing user experience by allowing customization of spell check behavior.
* refactor(SpellCheck): move spell check initialization to WindowService
- Removed spell check language initialization from index.ts and integrated it into WindowService.
- Added setupSpellCheck method to configure spell check languages based on user settings.
- Enhanced error handling for spell check language setup.
* feat(SpellCheck): add enable spell check functionality and IPC channel
- Introduced a new IPC channel for enabling/disabling spell check functionality.
- Updated the preload API to include a method for setting spell check enablement.
- Modified the main IPC handler to manage spell check settings based on user input.
- Simplified spell check language handling in the settings component by directly invoking the new API method.
* refactor(SpellCheck): remove spellcheck option from WindowService configuration
- Removed the spellcheck property from the WindowService configuration object.
- This change streamlines the configuration setup as spell check functionality is now managed through IPC channels.
* feat(i18n): add spell check translations for Japanese, Russian, and Traditional Chinese
- Added new translations for spell check functionality in ja-jp, ru-ru, and zh-tw locale files.
- Included descriptions and language selection options for spell check settings to enhance user experience.
* feat(migrate): add spell check configuration migration
- Implemented migration for spell check settings, disabling spell check and clearing selected languages in the new configuration.
- Enhanced error handling to ensure state consistency during migration process.
* fix(migrate): ensure spell check settings are updated safely
- Added a check to ensure state.settings exists before modifying spell check settings during migration.
- Removed redundant error handling that returned the state unmodified in case of an error.
* fix(WindowService): set default values for spell check configuration and update related UI texts
* refactor(Inputbar, MessageEditor): remove contextMenu attribute and add context menu handling in MessageEditor
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
* fix: update localization files for data migration warnings and path validation messages
* fix: update app data path validation and localization messages for installation path consistency
* fix: enhance app data flushing process by adding connection closure and delay in DataSettings component
* Revert "refactor(middleware): Add error property to CompletionResult and handle errors when checking API (#7407)"
This reverts commit 50d6f1f831.
* fix: use shouldThrow param in checkApi
* fix: move initAppDataDir function inline and remove export from utils/file.ts
* fix some bugs
* fix shouldcopy error
* fix: handle appDataPath initialization and update logic in file.ts; update defaultChecked in DataSettings component
* fix: improve appDataPath handling and migration logic in file.ts
* fix: add error message for selecting the same app data path in DataSettings component and update localization files
* fix: ensure migration confirmation modal is shown correctly in DataSettings component
* feat: add new IPC channel for retrieving data path from arguments and update related components for migration handling
* fix: update app data path validation to check for prefix match in DataSettings component
* refactor: simplify data migration logic in DataSettings component by removing unnecessary flag
* fix: update initAppDataDir invocation to check for app packaging status in bootstrap.ts
* chore(package): add node-stream-zip for zip file extraction in install-bun script
* refactor(install-uv): replace AdmZip with node-stream-zip for improved zip file extraction
* fix(install-uv): ensure correct extraction of uv binary for Unix/Linux/macOS
* refactor(install-uv): remove redundant file handling and cleanup for Unix/Linux/macOS installation
* fix(install-uv): update tar extraction command to strip leading components for Unix/Linux/macOS
* fix(install-uv): clarify comment for zip file extraction on Windows
* fix(install-bun): correct extraction directory for bun binary
* fix(install-bun, install-uv): update default versions and improve zip extraction process
* fix(install-bun): remove redundant cleanup of source directory after bun installation