- Replaced Ant Design icons with Lucide icons for a more modern look.
- Adjusted ActionButton styling to have a circular border radius.
- Updated translation keys in Chinese locales for better formatting.
- Enhanced event handling in ChatContext to manage multi-select mode more effectively.
- Cleaned up unused imports and props in MessageGroup and MessageSelect components.
* WIP
* feat: integrate notification system using Electron's Notification API
- Replaced the previous notification implementation with Electron's Notification API for better integration.
- Updated notification types and structures to support new features.
- Added translations for notification messages in multiple languages.
- Cleaned up unused dependencies related to notifications.
* refactor: remove unused node-notifier dependency from Electron config
* clean: remove node-notifier from asarUnpack in Electron config
* fix: update notification type in preload script to align with new structure
* feat: Integrate NotificationService for user notifications across various components
- Implemented NotificationService in useUpdateHandler to notify users of available updates.
- Enhanced KnowledgeQueue to send success and error notifications during item processing.
- Updated BackupService to notify users upon successful restoration and backup completion.
- Added error notifications in message handling to improve user feedback on assistant responses.
This update improves user experience by providing timely notifications for important actions and events.
* feat: Refactor notification handling and integrate new notification settings
- Moved SYSTEM_MODELS to a new file for better organization.
- Enhanced notification handling across various components, including BackupService and KnowledgeQueue, to include a source attribute for better context.
- Introduced notification settings in the GeneralSettings component, allowing users to toggle notifications for assistant messages, backups, and knowledge embedding.
- Updated the Redux store to manage notification settings and added migration logic for the new settings structure.
- Improved user feedback by ensuring notifications are sent based on user preferences.
This update enhances the user experience by providing customizable notification options and clearer context for notifications.
* feat: Add 'update' source to NotificationSource type for enhanced notification context
* feat: Integrate electron-notification-state for improved notification handling
- Added electron-notification-state package to manage Do Not Disturb settings.
- Updated NotificationService to respect user DND preferences when sending notifications.
- Adjusted notification settings in various components (BackupService, KnowledgeQueue, useUpdateHandler) to ensure notifications are sent based on user preferences.
- Enhanced user feedback by allowing notifications to be silenced based on DND status.
* feat: Add notification icon to Electron notifications
* fix: import SYSTEM_MODELS in EditModelsPopup for improved model handling
* feat(i18n): add knowledge base notifications in multiple languages
- Added success and error messages for knowledge base operations in English, Japanese, Russian, Chinese (Simplified and Traditional).
- Updated the KnowledgeQueue to utilize the new notification messages for better user feedback.
* feat(notification): introduce NotificationProvider and integrate into App component
- Added NotificationProvider to manage notifications within the application.
- Updated App component to include NotificationProvider, enhancing user feedback through notifications.
- Refactored NotificationQueue to support multiple listeners for notification handling.
- Updated registerHandler to only log and update the handler if it changes, reducing unnecessary operations.
- Removed logging from unregisterHandler for cleaner code.
- Added getFilePath method in FileManager to construct file paths based on file ID and extension.
- Updated KnowledgeContent to utilize the new getFilePath method for opening file paths, improving code clarity and maintainability.
- Simplified the onOpenChange handler in FloatingSidebar for better readability.
- Added style prop to HomeTabs for enhanced customization.
- Adjusted Container style in HomeTabs to merge with existing border styles.
- Added placeholder and adjusted styles for the Input in ContentSearch.
- Updated SearchBarContainer to use fixed positioning and improved padding.
- Refactored MessageTools to render raw content correctly and added a new MarkdownContainer for better styling.
- Minor adjustments to other components for improved layout and user experience.
- Integrated PasteService for handling paste events in Inputbar and MessageEditor components.
- Removed redundant paste handling code and improved maintainability.
- Registered paste handlers and set last focused component for better user experience.
- Ensured consistent behavior for text and file pasting across components.
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
* feat: add MCP servers via JSON quickly
* refactor(MCPSettings): Extract JSON parsing logic into a helper function
* feat: json linter for EditMcpJsonPopup
* feat(mcp): confirm the MCP server status as connection
* refactor(AddMcpServerModal): 移除冗余注释并修复加载状态
* feat(MCPSettings): Add support for SSE and streamableHttp formats and optimize server configuration parsing
- Add server type validation to ensure the type is stdio, SSE, or streamableHttp
- Optimize JSON parsing logic to ensure server configuration completeness and validity
- Update example text to provide more detailed configuration examples
* fix(MCPSettings): fix AddMcpServerModal default baseUrl login
移除serverToAdd.url作为baseUrl的备选值,确保baseUrl仅使用serverToAdd.baseUrl的值
* feat(MCPSettings): support CodeEditor in AddMcpServerModal
* fix: Remove unnecessary type checks for JSON parsing login
* fix(MCPSettings): fix compatibility issues with the URL field when parsing server data
* refactor: remove unnessary cdoe
* chore: Add a server dropdown button to integrate new features in UI
- Integrate the two buttons for adding a server into a single dropdown menu to enhance user experience and simplify the interface
* chroe: modify the Dropdown items' name of addServer
* refactor(i18n): unify the translation for the MCP server import function
---------
Co-authored-by: one <wangan.cs@gmail.com>
- Changed default value for `getTrayOnClose` to true in `ConfigManager`.
- Removed fullscreen toggle logic from `WindowService`.
- Adjusted styles in `OpenAIAlert` for better spacing.
- Reorganized imports in `Navbar` and updated component paths in `AssistantsTab` and `SettingsTab`.
- Added new components `AssistantItem` and `OpenAISettingsGroup` for better modularity.
- Enhanced `SettingGroup` styles for improved UI consistency.
- Updated `QuickPhraseSettings` to utilize theme context.
- Minor fixes and refactoring across various services and components.
* feat: add resolveFilePath functionality to file management
* Added new IPC channel for resolving file paths.
* Implemented resolveFilePath method in FileStorage service.
* Updated FileManager to utilize the new resolveFilePath method.
* Enhanced preload API to expose resolveFilePath to the renderer.
* Updated KnowledgeService to ensure file paths are correctly resolved in knowledge bases.
* refactor: remove unused path import from preload index
* Removed the unused 'resolve' import to clean up the codebase.
* Improved code readability by eliminating unnecessary dependencies.
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
* feat: support default Quick Assistant model
- support the configuration of the quick assistant model.
- manage the models independently in Quick Assistant and Default Assistant.
* docs(i18n): Add translation for quick assistant model
* fix(llm): fix the default value of quickAssistantModel to silicon[1]
* refactor(i18n): uniformly the terms, changing "快速助手" to "快捷助手"
* feat: add OpenAI settings tab and related functionality
* fix: update related logic to support flexible service layer.
* fix(OpenAIResponseProvider): remove unused isOpenAILLMModel import
* refactor(Scrollbar): Optimize scroll handling logic to support external scroll events
- Refactor `onScroll` logic to support external scroll events
- Integrate with `useScrollPosition` hook for better scroll state management
- Memorize the scoll state for better user experience
- Fix type definition for `ref` attribute
- Remove unnecessary `ref` type overrides
- Improve component compatibility and maintainability
* perf(useScrollPosition): Optimize scroll position updates using requestAnimationFrame
- Wrap the `window.keyv.set` call in `requestAnimationFrame` to reduce unnecessary performance overhead and improve responsiveness during scrolling.
* fix(Messages): Remove unused FC imports and add onComponentUpdate and onFirstUpdate properties
* chore: update Yarn version to 4.9.1 and add rendering speed option for V3 model
* Discard changes to .yarnrc.yml
* Discard changes to .yarn/releases/yarn-4.6.0.cjs
* Update package.json
* Delete .yarn/releases/yarn-4.9.1.cjs
* Discard changes to .yarn/releases/yarn-4.6.0.cjs
* docs: Update README.zh.md add GitCode✖️Cherry Studio【新源力】贡献挑战赛
GitCode✖️Cherry Studio【新源力】贡献挑战赛
* fix: Update the file permissions for yarn-4.6.0.cjs, modify image links and formatting in README.zh.md
* clean
* refactor: improve switch case blocks and update config parameters in AihubmixPage
* feat: add error handling for empty image URLs and update localization messages
* refactor: replace modal error handling with warning messages for empty image URLs
* feat: update localization for rendering speed and translating messages in Japanese, Russian, and Traditional Chinese
* feat: add style types and rendering speed options to localization files
---------
Co-authored-by: 亢奋猫 <kangfenmao@qq.com>
Co-authored-by: suyao <sy20010504@gmail.com>
* feat: implement message editing and resend functionality with block management
* fix: move start_time_millsec initialization to onChunk for accurate timing
* feat: refactor message update thunks to separate block addition and updates
* feat: enhance MessageBlockEditor with toolbar buttons and attachment functionality
* refactor: implement message editing context and integrate with message operations
* style: adjust padding in MessageBlockEditor and related components
* refactor: remove MessageEditingContext and integrate editing logic directly in Message component
* refactor: streamline message rendering logic by using conditional rendering for MessageEditor and MessageContent
* refactor: remove redundant ipcRenderer variable in useMCPServers hook
* fix: Add mock for electron's ipcRenderer to support testing
* test: Update mocks for ipcRenderer and remove redundant window.electron mock
* fix: enhance file handling in MessageEditor with new Electron API
- Added support for file dragging with visual feedback.
- Improved file type validation during drag-and-drop and clipboard pasting.
- Displayed user notifications for unsupported file types.
- Refactored file handling logic for better clarity and maintainability.
* Wrapped message and block updates in a database transaction for improved consistency.
* Replaced direct updates with atomic modifications using where().modify() for better performance and clarity.
* Enhanced error handling for message updates to ensure robustness.
* feat: add FloatingSidebar component and integrate assistant switching functionality
* refactor: simplify FloatingSidebar by removing unused hooks and components
* refactor: remove unused AddAssistantPopup and related code from FloatingSidebar
* feat: implement sidebar hide cooldown and adjust tooltip delays in Navbar.
* feat: integrate HomeTabs into FloatingSidebar and update Navbar props
* refactor: remove commented-out code and unused components from FloatingSidebar
* fix: update Popover placement from rightTop to bottomRight in FloatingSidebar.
* feat: add forceToSeeAllTab prop to HomeTabs for improved tab visibility control
* fix: update HomeTabs logic to respect forceToSeeAllTab prop for tab selection
* feat: pass position prop to FloatingSidebar and HomeTabs for consistent layout control
* feat: integrate FloatingSidebar into Navbar for improved topic visibility and update HomeTabs logic for consistent tab rendering
* fix: remove unused showTopics from Navbar component
* feat: enhance topic visibility control in Navbar with cooldown logic for sidebar toggle
* fix: add onMouseOut handler to NavbarIcon for sidebar cooldown reset
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* Moved highlighter initialization and loading functions to a new utility file for better organization.
* Simplified theme and language loading in the SyntaxHighlighterProvider using the new utility functions.
* Removed redundant code and improved readability in MessageTools by introducing a new CollapsedContent component for rendering tool responses.
* Updated MCPDescription to use an async function for Shiki instance initialization.
* Modified the Content Security Policy to include 'unsafe-inline' for script-src.
* Changed the spinner display style from 'none' to 'flex' for better visibility.
* Removed the initSpinner function and directly initialized the spinner in useAppInit.
* Added console timing for initialization to track performance.
* Refactored MCPService to implement a singleton pattern for better instance management.
* Updated IPC registration to utilize the new getMcpInstance method for handling MCP-related requests.
* Removed redundant IPC handlers from the main index file and centralized them in the ipc module.
* Added background throttling option in WindowService configuration to enhance performance.
* Introduced delays in MCPToolsButton to optimize resource and prompt fetching after initial load.
* feat: code tools, editor, executor
CodeEditor & Preview
- CodeEditor: CodeMirror 6
- Switch to CodeEditor in the settings
- Support edit&save with a accurate diff&lookup strategy
- Use CodeEditor for editing MCP json configuration
- CodePreview: Original Shiki syntax highlighting
- Implemented using a custom Shiki stream tokenizer
- Remov code caching as it is incompatible with the current streaming code highlighting
- Add a webworker for shiki
- Other preview components
- Merge MermaidPopup and Mermaid to MermaidPreview, use local mermaidjs
- Show mermaid syntax error message on demand
- Rename PlantUML to PlantUmlPreview
- Rename SyntaxHighlighterProvider to CodeStyleProvider for clarity
- Both light and dark themes are preserved for convenience
CodeToolbar
- Top sticky toolbar provides quick tools (left) and core tools (right)
- Quick tools are hidden under the `More` button to avoid clutter, while core tools are always visible
- View&edit mode
- Allow switching between preview and edit modes
- Add a split view
Code execution
- Pyodide for executing Python scripts
- Add a webworker for Pyodide
* fix: migrate version and lint error
* refactor: use constants for defining tool specs
* feat: make setting group collapsible
* fix: yarn.lock
* fix: conflict error
---------
Co-authored-by: one <wangan.cs@gmail.com>
* feat: Highlighted search in chat page
* Bug fixes and added a temporary F3 shortcut
* Bug fixes
* Bug fixes
* feat: Implement content search functionality with keyboard shortcuts
- Added a new `ContentSearch` component for searching text within a specified target.
- Integrated search functionality with keyboard shortcuts, allowing users to enable search via a new shortcut key.
- Updated internationalization files to include new search-related messages in multiple languages.
- Enhanced shortcut management to accommodate the new search feature, including a migration for shortcut updates.
- Refactored the `Chat` component to utilize the new content search capabilities.
* fix(ContentSearch): Update search index check and enhance container styling
* feat(ContentSearch): Enhance search functionality with case sensitivity and whole word options
- Added options for case sensitivity and whole word matching in the search feature.
- Updated the highlightText function to accommodate new search parameters.
- Improved styling and layout of the search input and buttons for better user experience.
- Refactored related components to support the new search options.
* refactor(useShortcuts): Remove console log for shortcut invocation
* feat: Add user filter and initial text to search
- Improve ContentSearch UI:
- Add tooltips for search options
- Enhance result display (e.g., "No results", "0/0")
- Disable navigation buttons when no matches
- Relocate search bar to the top of the chat view
- Apply case-sensitivity logic only to Latin characters
- Add translations for new options
* i18n: Translate "No results" message
* Add in-chat search shortcut, update global search to Cmd/Ctrl+Shift+F.
* feat: Allow users to scroll during input and optimize the search result index update logic
* feat: Update search message shortcut to include Shift for improved accessibility
* feat: Refactor search component layout and update highlight color variables
* fix: Adjust margin-bottom for SearchBarContainer
---------
Co-authored-by: suyao <sy20010504@gmail.com>
* Added 'electron-store' to the Vite configuration for Electron.
* Imported configuration from '@main/config' in the main index file.
* Changed default return value for getTrayOnClose method in ConfigManager to false
* Reduced the button visibility timer from 1500ms to 500ms for quicker feedback.
* Decreased the trigger width from 80 to 60 for improved interaction.
* Updated the height calculation from 40% to 30% of the window height for better layout consistency.
* feat: implement useFullscreen hook and integrate with NavbarRight for dynamic padding
* feat: integrate useFullscreen hook to adjust sidebar layout based on fullscreen state
* fix: adjust sidebar height based on fullscreen state for better layout
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* fix: Ensure last app is displayed when no filtered apps are found
* fix: Remove Empty component from AppsPage when no apps are found
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* feat: enhance file drag-and-drop functionality and global paste handling in Inputbar
- Added support for file dragging with visual feedback.
- Implemented global paste event handling to allow pasting outside the text area.
- Improved file drop handling to notify users of unsupported file types.
* refactor(Inputbar): simplify global paste handling logic
- Removed unnecessary checks for active element in global paste event handling.
- Streamlined the paste event processing for improved clarity and maintainability.
* style(Inputbar): clean up comments and maintain visual feedback for file dragging
- Removed unnecessary comments related to the styling of the file dragging state.
- Ensured the visual feedback for file dragging remains intact with updated background color.
* Added 'electron-store' to the Vite configuration for Electron.
* Imported configuration from '@main/config' in the main index file.
* Changed default return value for getTrayOnClose method in ConfigManager to false
* refactor(CodeEditor): add more options to props for better customization
- A complete BasicSetupOptions could be passed in to override system-wise options
- EditMcpJsonPopup now use customized options
* fix: accommodate ThemeMode.auto
* fix: typos
refactor: simplify ThinkingBlock component and extract thinking time logic
* Removed unnecessary state and interval management from ThinkingBlock.
* Introduced ThinkingTimeSeconds component to handle thinking time display and logic.
* Cleaned up code for better readability and maintainability.
* Reduced the button visibility timer from 1500ms to 500ms for quicker feedback.
* Decreased the trigger width from 80 to 60 for improved interaction.
* Updated the height calculation from 40% to 30% of the window height for better layout consistency.
* feat: code tools, editor, executor
CodeEditor & Preview
- CodeEditor: CodeMirror 6
- Switch to CodeEditor in the settings
- Support edit&save with a accurate diff&lookup strategy
- Use CodeEditor for editing MCP json configuration
- CodePreview: Original Shiki syntax highlighting
- Implemented using a custom Shiki stream tokenizer
- Remov code caching as it is incompatible with the current streaming code highlighting
- Add a webworker for shiki
- Other preview components
- Merge MermaidPopup and Mermaid to MermaidPreview, use local mermaidjs
- Show mermaid syntax error message on demand
- Rename PlantUML to PlantUmlPreview
- Rename SyntaxHighlighterProvider to CodeStyleProvider for clarity
- Both light and dark themes are preserved for convenience
CodeToolbar
- Top sticky toolbar provides quick tools (left) and core tools (right)
- Quick tools are hidden under the `More` button to avoid clutter, while core tools are always visible
- View&edit mode
- Allow switching between preview and edit modes
- Add a split view
Code execution
- Pyodide for executing Python scripts
- Add a webworker for Pyodide
* fix: migrate version and lint error
* refactor: use constants for defining tool specs
* refactor: add user-select, fix tool specs
* refactor: simplify some state changing
* fix: make sure editor tools registered after the editor is ready
---------
Co-authored-by: 自由的世界人 <3196812536@qq.com>
* Updated padding in CustomCollapse for improved spacing.
* Modified Messages component to conditionally apply padding based on prompt visibility.
* Enhanced ModelListSearchBar by adding a flex display style for better alignment.
* Increased gap in ProviderSetting's HStack for improved layout consistency.
* Introduced new translations for "Tool Use Mode" and its options ("Function" and "Prompt") in English, Japanese, Russian, Simplified Chinese, and Traditional Chinese.
* Refactored settings components to replace the deprecated `enableToolUse` with `toolUseMode`, updating related logic and UI elements accordingly.
* Adjusted migration logic to ensure backward compatibility with previous settings.
* Changed the wording for max tokens settings in English, Japanese, Russian, Simplified Chinese, and Traditional Chinese to improve clarity.
* Adjusted confirmation messages to better reflect the functionality of setting maximum token limits.
* Removed EXTENDED_CONTEXT_LIMIT and EXTENDED_CONTEXT_STEP constants from the configuration.
* Eliminated enableMaxContexts state and associated logic from settings components.
* Updated contextCount handling to accommodate a maximum of 100, with a special case for 100 to represent an unlimited context.
* Cleaned up related translations for max contexts in multiple languages.
* fix: update current topic id for ChatFlowHistory to work
* refactor: set current topic id early in loadTopicMessagesThunk
* refactor: extract EmojiAvatar
* fix: style
* feat: Extended the fillable context length to 100. #5514
Update src/renderer/src/pages/home/Tabs/SettingsTab.tsx
fix: update context length settings and localization for multiple languages
* fix: adjust context count slider limits and behavior based on max contexts setting
* feat: implement event handling for max contexts changes in settings
* feat: update context count handling to use EXTENDED_CONTEXT_LIMIT in settings
* feat: update context count logic to use EXTENDED_CONTEXT_LIMIT when max contexts are enabled
* refactor: remove unused EXTENDED_CONTEXT_LIMIT import from AssistantService
* feat: simplify context count logic with validAndChangeContextCount function
* feat: 移除TokenCount组件中对最大计数为20的特殊处理,简化上下文计数显示逻辑
* refactor: simplify getContextCount logic by removing max context handling
* feat: adjust step value for context count input based on max contexts setting
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* fix: quickpanel scrollto changed to smart
* fix: add scrollTrigger as the replacement for scrollBlock
* fix: add a 'none' trigger to prevent accidental scrolling
* Updated the reset logic to conditionally handle model and modelId for grouped messages.
* Ensured that the original model is retained when regenerating responses for grouped messages.
* Updated the reset logic to conditionally handle model and modelId for grouped messages.
* Ensured that the original model is retained when regenerating responses for grouped messages.
* feat: add DevTools functionality and localization support
* Added new IPC channels for opening and toggling DevTools.
* Implemented corresponding handlers in the main process.
* Updated preload API to include DevTools methods.
* Enhanced the AboutSettings component with a debug section to control DevTools.
* Added localization strings for debug actions in English, Simplified Chinese, and Traditional Chinese.
* refactor: remove DevTools open state handling and related localization strings
* Removed the IPC channel and associated handlers for checking if DevTools is open.
* Updated the AboutSettings component to eliminate the DevTools open state management.
* Removed localization strings for the DevTools close action in English, Simplified Chinese, and Traditional Chinese.
* ToggleDevTools event uses the source window to trigger switching, compatible with multiple windows
* Remove empty comments
---------
Co-authored-by: yangheng <492238647@qq.com>
* fix: ensure correct handling of custom mini app updates and removals
* fix: update title for custom mini app to be more concise in localization files
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* fix: ensure correct handling of custom mini app updates and removals
* fix: update title for custom mini app to be more concise in localization files
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* refactor: focus the hovered item when toggling a pinned model
* refactor: focus the selected item after loading pinned models
* refactor: update sticky group after loading pinned models
* fix: rapidly update sticky group
* refactor: defer lastscrolloffset
* refactor: rename updateOnListChange to focusOnListChange for clarity
* refactor: increaset overscan count
* refactor: use startTransition instead of deferred value
* refactor: add guard, clean up code
* refactor: simplify cleanup logic
* refactor: remove unnecessary dep on pinnedModels
* fix: flicker on searching
* refactor: simplify tag tooltips, prevent tooltips in SelectModelPopup
- Updated vitest.config.ts to handle optional chaining for plugins and alias.
- Added setup.ts for mocking electron-log in renderer tests.
- Adjusted test include and exclude patterns to refine test coverage.
commit 1c90e23d76a3e1008408bf29add122ccab7dbe6d
Merge: 4e792033 1fde0999
Author: kangfenmao <kangfenmao@qq.com>
Date: Sun May 11 18:43:56 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 4e7920336d838501b900a18f1c254f0d17fb54b8
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 18:09:58 2025 +0800
refactor(GeminiProvider): implement image generation handling in chat responses
commit cd1ce4c0c65bc2a111ddb3112722cb36e66b2515
Merge: 968de188 235122c8
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 16:45:29 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 968de18866abacc55fd9bd74c8d618871e64ade6
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 16:41:38 2025 +0800
fix: add new image generation models to the configuration
commit 1eaf5801b4c0e2c3fa1aa2ed829b20d97ea57d3f
Merge: cb76588d e6655fff
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 13:14:17 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit cb76588dc692f35da1f3d4fdbc9217c6a1a36501
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 13:13:20 2025 +0800
fix: enhance error handling and metrics tracking across AI providers and message processing
commit c2d6bdabc00b48419773d08c7d6630803d6310c8
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 05:36:52 2025 +0800
fix: update regex for function calling models and improve time tracking logic
commit 95340b87d0bba3cdcd173a181953afa42b26da9b
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 05:05:05 2025 +0800
fix: adjust thinking millisecond handling in message thunk
commit f4d4d3901603f14df616582fa537f3d9c1a694eb
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 03:52:26 2025 +0800
fix: remove 'auto' option from qwen model supported options
commit e26f603dfe1a9146b0575142363d5ceab30e32df
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 03:50:05 2025 +0800
fix: add support for inline base64 image data in image block
commit bb0093c656b2b72158db1bf7bfef6aae46b8096c
Merge: f9d1339b d39584fc
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 03:00:57 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit f9d1339bd3367a4f80da23aac1fdc73b4cd2a075
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 03:00:11 2025 +0800
fix: set default zoomFactor in settings
commit 7cf6fd685662a012e2460e722edcbe5ed12f1a1c
Merge: ba9c4482 3bebfe27
Author: suyao <sy20010504@gmail.com>
Date: Sun May 11 01:31:05 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit ba9c44828578a3b5cc9fd1aaba80158615921785
Merge: 97dffe71 3bf0b6b3
Author: kangfenmao <kangfenmao@qq.com>
Date: Sat May 10 20:18:44 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 97dffe719ee00ace2325c80022a48c44f03d6e26
Author: lizhixuan <daoquqiexing@gmail.com>
Date: Sat May 10 11:38:01 2025 +0800
feat(MessageMenubar): add edit option to dropdown for single message editing
commit 70157439a1d9778cacc87b1781a84d159a8d3f33
Author: lizhixuan <daoquqiexing@gmail.com>
Date: Sat May 10 10:53:10 2025 +0800
refactor(StreamProcessingService): comment out console.log for cleaner code
commit fa33ba77a9306ad316f34da4149858192079f7a2
Author: lizhixuan <daoquqiexing@gmail.com>
Date: Sat May 10 10:52:08 2025 +0800
refactor(messageThunk): remove console.log statements for cleaner code
commit 6544c5d2990adf1943195e1d4d11383859a05488
Author: kangfenmao <kangfenmao@qq.com>
Date: Sat May 10 10:17:44 2025 +0800
feat(i18n): add download success and failure messages in multiple languages
commit e23bb6744a4a99b2062012691340f78fad4e1952
Merge: 55c5c553 60cc1dee
Author: kangfenmao <kangfenmao@qq.com>
Date: Sat May 10 09:54:38 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 55c5c5533eab46a1de9c5511433ed1b1b9e90512
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 22:19:35 2025 +0800
fix: update styled component props to use dollar sign prefix for consistency
commit 7a5839e0efdf3eb648b3d26cdf7ce131a2821f6a
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 22:02:06 2025 +0800
fix: prevent default action in handleLinkClick for better link handling
commit ecb075fddfc2bc5796a804ccde29aaa762d85da6
Merge: df149608 963f04f7
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:55:54 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit df149608904039903d74d7a72a722b6c1a567ee3
Merge: 93bd4eb9 e29a9303
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:48:13 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 93bd4eb907816414af5c27efbaa2d3d014c707fc
Merge: c4d1deb6 38ff9b90
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:27:08 2025 +0800
Merge branch 'fix/next-release-bugs' of github.com:CherryHQ/cherry-studio into fix/next-release-bugs
commit c4d1deb6911977a23cf731db6bed80b8352557ff
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:24:48 2025 +0800
feat: enhance citation handling and add metadata support in citation blocks
commit 38ff9b90b8fee91ed1fba7b83c9470bc40bd3429
Author: MyPrototypeWhat <daoquqiexing@gmail.com>
Date: Fri May 9 19:47:24 2025 +0800
fix: enhance logging and update async handling in StreamProcessingService and messageThunk
- Enabled logging in `createStreamProcessor` for better debugging.
- Added logging for updated messages in `updateExistingMessageAndBlocksInDB` and `saveUpdatesToDB`.
- Updated `onTextComplete` and `onLLMWebSearchComplete` to handle asynchronous operations correctly.
- Commented out unused `saveUpdatedBlockToDB` calls to prevent unnecessary database updates.
commit cda0215c9c4e007c2c7240c3c9c8521fb7111774
Author: MyPrototypeWhat <daoquqiexing@gmail.com>
Date: Fri May 9 18:47:55 2025 +0800
refactor: optimize block update logic and remove unused code
- Updated `throttledBlockUpdate` to handle asynchronous updates directly.
- Removed the unused `throttledBlockDbUpdate` function and its related logic.
- Added cancellation for throttled updates on error and completion to improve performance and reliability.
- Cleaned up commented-out code for better readability.
commit de2f5b09c8384eabd4df7253047b838a2759671a
Author: MyPrototypeWhat <daoquqiexing@gmail.com>
Date: Fri May 9 18:42:00 2025 +0800
refactor: update message handling and state management
- Simplified message editing logic by removing unnecessary success/error logging.
- Added `updatedAt` timestamp to message updates for better tracking.
- Refactored `editMessageBlocks` to accept message ID and updates directly.
- Removed unused `getTopicLimit` function from `TopicManager`.
- Updated message rendering to use `updatedAt` when available.
- Enhanced type definitions to include `updatedAt` in message structure.
commit 700fa13971cafb04314817d2d8732c8fbf33c9d7
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 16:19:55 2025 +0800
Remove Zhipu mode and text-only link handling
commit 06bd1338cd671b255e477cec76b12663ea759f4c
Author: kangfenmao <kangfenmao@qq.com>
Date: Fri May 9 15:49:02 2025 +0800
fix: update citation rendering logic in MainTextBlock component
- Added a check to determine if the citation URL is a valid link.
- Updated citation tag formatting to conditionally include the link based on the URL validity.
commit e96c9a569f7708816f57505975d30667929eeb19
Author: kangfenmao <kangfenmao@qq.com>
Date: Thu May 8 18:31:14 2025 +0800
style: update ChatNavigation and CitationsList components for improved UI consistency
- Added header style to remove borders in ChatNavigation.
- Enhanced CitationsList with new Skeleton loading state and improved layout for citation cards.
- Refactored CitationLink to a div for better styling control and adjusted padding in OpenButton for a more polished appearance.
* refactor: update zoom handling in IPC and settings
* renamed zoom-related IPC channels for clarity
* refactored zoom handling logic in ipc.ts and ShortcutService
* removed unused zoom factor state management from settings
* updated DisplaySettings component to manage zoom via buttons
* localized zoom settings in multiple languages
* refactor: remove unused zoom factor state from settings
* eliminated the zoomFactor state from initialSettings as part of the zoom handling refactor
* refactor: improve zoom handling in DisplaySettings component
* initialized current zoom value on component mount
* refactored resize event listener to prevent memory leaks
* added cleanup for resize event listener to enhance performance
* refactor: enhance resize event handling in DisplaySettings component
* added logic to track previous window width to prevent unnecessary updates during resize events
* improved comments for clarity on zoom handling and resize event listener functionality
* refactor: streamline zoom handling across IPC and ShortcutService
* updated handleZoomFactor function to accept an array of BrowserWindows for batch processing
* simplified zoom factor adjustments in IPC and shortcut handlers
* removed unnecessary window destruction checks for improved performance
feat: add motion library for animations and enhance Spinner and MessageBlock components
- Added 'motion' library to package.json and yarn.lock for animation support.
- Refactored Spinner component to utilize motion for animated effects.
- Introduced AnimatedBlockWrapper in MessageBlockRenderer for animated transitions.
- Updated ThinkingBlock to include animated lightbulb effect during thinking state.
* refactor(checkAPI): check api or model with stream enabled first
* refactor: improve healthcheck summary
* refactor: remove cursor style from status indicator
* fix: update apikey input box after deleting invalid keys
feat(i18n): update Portuguese translations for import/export features, assistant settings, and mini app configurations
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* feat: add regular prompts settings component and integrate into assistant settings.
* feat: add regular prompts to assistant creation and update QuickPhrasesButton to utilize them.
* feat: add regular prompts settings and update localization for multiple languages.
* fix: update assistantObj type to Assistant and clean up unused console logs.
* feat: enhance QuickPhrasesButton with modal for adding phrases and localization updates.
* feat: update localization for regular prompts to regular phrases in English, Simplified Chinese, and Traditional Chinese.
* fix: update localization for assistant prompts to assistant phrases in English and Simplified Chinese.
* feat: add regular prompts to new agents during import.
* refactor: rename regular_prompts to regular_phrases across localization and components
* feat: enhance QuickPhrasesButton with icons for location selection options
* perf: optimize loadQuickListPhrases with useCallback and update icon sizes in QuickPhrasesButton
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
commit c6cf790851
Author: lizhixuan <daoquqiexing@gmail.com>
Date: Sat May 10 11:38:01 2025 +0800
feat(MessageMenubar): add edit option to dropdown for single message editing
commit 87b106fad6
Author: lizhixuan <daoquqiexing@gmail.com>
Date: Sat May 10 10:53:10 2025 +0800
refactor(StreamProcessingService): comment out console.log for cleaner code
commit 7d0b8b33af
Author: lizhixuan <daoquqiexing@gmail.com>
Date: Sat May 10 10:52:08 2025 +0800
refactor(messageThunk): remove console.log statements for cleaner code
commit 7310eebebc
Author: kangfenmao <kangfenmao@qq.com>
Date: Sat May 10 10:17:44 2025 +0800
feat(i18n): add download success and failure messages in multiple languages
commit 42733d0fc8
Merge: 6364f4c060cc1dee
Author: kangfenmao <kangfenmao@qq.com>
Date: Sat May 10 09:54:38 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 6364f4c006
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 22:19:35 2025 +0800
fix: update styled component props to use dollar sign prefix for consistency
commit 34c49b84f6
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 22:02:06 2025 +0800
fix: prevent default action in handleLinkClick for better link handling
commit 84bf76cc43
Merge: 572ffcc8963f04f7
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:55:54 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 572ffcc8be
Merge: 9ba630b5e29a9303
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:48:13 2025 +0800
Merge branch 'main' into fix/next-release-bugs
commit 9ba630b5e8
Merge: bf819a716d910755
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:27:08 2025 +0800
Merge branch 'fix/next-release-bugs' of github.com:CherryHQ/cherry-studio into fix/next-release-bugs
commit bf819a7142
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 21:24:48 2025 +0800
feat: enhance citation handling and add metadata support in citation blocks
commit 6d9107558e
Author: MyPrototypeWhat <daoquqiexing@gmail.com>
Date: Fri May 9 19:47:24 2025 +0800
fix: enhance logging and update async handling in StreamProcessingService and messageThunk
- Enabled logging in `createStreamProcessor` for better debugging.
- Added logging for updated messages in `updateExistingMessageAndBlocksInDB` and `saveUpdatesToDB`.
- Updated `onTextComplete` and `onLLMWebSearchComplete` to handle asynchronous operations correctly.
- Commented out unused `saveUpdatedBlockToDB` calls to prevent unnecessary database updates.
commit c402a1d21f
Author: MyPrototypeWhat <daoquqiexing@gmail.com>
Date: Fri May 9 18:47:55 2025 +0800
refactor: optimize block update logic and remove unused code
- Updated `throttledBlockUpdate` to handle asynchronous updates directly.
- Removed the unused `throttledBlockDbUpdate` function and its related logic.
- Added cancellation for throttled updates on error and completion to improve performance and reliability.
- Cleaned up commented-out code for better readability.
commit 6da1d08c9a
Author: MyPrototypeWhat <daoquqiexing@gmail.com>
Date: Fri May 9 18:42:00 2025 +0800
refactor: update message handling and state management
- Simplified message editing logic by removing unnecessary success/error logging.
- Added `updatedAt` timestamp to message updates for better tracking.
- Refactored `editMessageBlocks` to accept message ID and updates directly.
- Removed unused `getTopicLimit` function from `TopicManager`.
- Updated message rendering to use `updatedAt` when available.
- Enhanced type definitions to include `updatedAt` in message structure.
commit 30696e1ef1
Author: suyao <sy20010504@gmail.com>
Date: Fri May 9 16:19:55 2025 +0800
Remove Zhipu mode and text-only link handling
commit 5b95d20294
Author: kangfenmao <kangfenmao@qq.com>
Date: Fri May 9 15:49:02 2025 +0800
fix: update citation rendering logic in MainTextBlock component
- Added a check to determine if the citation URL is a valid link.
- Updated citation tag formatting to conditionally include the link based on the URL validity.
commit 28f1e486e6
Author: kangfenmao <kangfenmao@qq.com>
Date: Thu May 8 18:31:14 2025 +0800
style: update ChatNavigation and CitationsList components for improved UI consistency
- Added header style to remove borders in ChatNavigation.
- Enhanced CitationsList with new Skeleton loading state and improved layout for citation cards.
- Refactored CitationLink to a div for better styling control and adjusted padding in OpenButton for a more polished appearance.
refactor: improve model type checking logic in models.ts and ModelEditContent.tsx
* Refactor isFunctionCallingModel, isEmbeddingModel, isVisionModel, isReasoningModel, and isWebSearchModel functions for better readability and maintainability.
* Simplify type selection logic in ModelEditContent by directly using model.type or defaultTypes.
* Remove unnecessary conditional checks to streamline the code.
Co-authored-by: kanweiwei <kanweiwei@nutstore.net>
* feat(webSearch): add Bocha web search provider integration
- Introduced BochaProvider for handling web search queries.
- Added Bocha logo and updated web search provider configuration.
- Implemented API host and key validation for Bocha.
- Enhanced web search settings to support Bocha provider.
- Updated Redux store to include Bocha in the web search provider list.
- Added validation schemas for Bocha search parameters and responses.
* fix(WebSearch): improve error handling in BochaProvider and validate web search questions
- Added error handling for failed Bocha search responses.
- Enhanced validation for web search questions to ensure they are an array and not empty.
* fix(WebSearch): add API host validation for Tavily provider
* chore: remove api host check button
* fix: add check for unnecessary web search in fetchExternalTool
---------
Co-authored-by: eeee0717 <chentao020717Work@outlook.com>
* fix: focus the selected or the first item on searching
* refactor: remove unnecessary deferred values
* refactor: add a hook usePinnedModels for pinned models
* refactor: make the definition more consistent with other popups
* refactor: improve state management, improve scrolling behaviour
* fix: avoid potential modulo-by-zero
* fix: type error
* fix: async loading pinned models
* feat(Qwen3): Add Qwen3 Model Thinking Mode Switch
- Add a thinking mode switch for the Qwen3 model on the settings page,
- Enabled: Generates thinking content. Disabled: Does not generate thinking content.
This feature is implemented by adding new settings items and corresponding logic.
* docs(i18n): Add multilingual translations for Qwen3 model's thinking mode
* refactor(Qwen3): Remove Qwen thinking mode related code from SettingTab
- Remove Qwen thinking mode related state and logic from the SettingsTab component
- Integarte Qwen 3 thinking mode switch login the ThinkingButton component to simplify the code and improve maintainability
* refactor(OpenAICompatibleProvider): Extract qwen3 handling logic to ModelMessageService
Move the postsuffix handling logic in OpenAICompatibleProvider to ModelMessageService to improve code maintainability and reusability
* docs(i18n): Remove Qwen3 model-related translations
Remove the translation content of the unused Qwen3 model's thinking mode and its prompts
* implemented a new inspect menu item in the context menu that toggles developer tools
* added localization for the inspect option in English, Japanese, Russian, and Chinese (both simplified and traditional)
* replaced InfoCircleFilled icon with Info from lucide-react for consistency
* simplified painting state initialization and handling in AihubmixPage and PaintingsPage
* removed unnecessary conditional logic for setting default painting
* feat: support both function call and system prompt for MCP tools
- Add support for using both function call and system prompt to implement MCP tool calls
- Refactor tool handling logic to be more flexible and maintainable
- Improve code readability with better variable naming and comments
- Fix potential issues with tool call implementation
* fix: Add tool_calls in OpenAI streaming logic
* refactor: enhance OpenAICompatibleProvider and BaseOpenAiProvider structure
* feat: add tool call setting to SettingsTab component
* fix: enhance tool call handling in OpenAICompatibleProvider
* fix: enhance content handling in GeminiProvider for nonstreaming response
* refactor: improve tool property filtering logic in OpenAIProvider and mcp-tools utility
* fix: resolve eslint errors
* fix: add history for function call message in GeminiProvider
* refactor: unify MCP tool response handling across providers for consistency
* refactor: update mcp tools conversion logic in OpenAICompatibleProvider and OpenAIProvider
* refactor: enhance AihubmixProvider and BaseProvider with MCP tool handling methods
* refactor: introduce SYSTEM_PROMPT_THRESHOLD constant in BaseProvider for improved readability
* refactor: rename tool_call to enable_tool_use for clarity and consistency across the application
* refactor: remove unnecessary onChunk call in processStream for cleaner code
* fix: add toolCallId to response structure and enhance content handling in AnthropicProvider
* fix: respond image data to llm while using function call
* fix: add reasoning handling in OpenAICompatibleProvider for improved response processing
---------
Co-authored-by: kanweiwei <kanweiwei@nutstore.net>
Co-authored-by: jay <sevenjay@users.noreply.github.com>
* removed the old n8n.ico file
* added new n8n.svg file
* updated references in minapps configuration and app components to use the new SVG logo
* changed file handling from 'customMiniAPP' to 'custom-minapps.json' for consistency
* feat: add Paratera mini app with logo and URL.
* feat: add Paratera AI provider and associated model.
* feat: add Paratera provider to migration configuration
* fix: update Paratera entry in default mini apps configuration
* feat: add additional Paratera models to system models configuration
* feat: reintroduce Paratera provider in migration configuration
* fix: update redux-persist version to 99 in store configuration
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
* perf: quick panel with virtual list
* fix: adaptive virtual list height
* fix: keep panel content if it is re-opened in a very short interval
* refactor: use modified rc-virtual-list to support overscan
* fix: virtual list item key
* refactor: remove useless styles
* refactor: support smooth scrolling for virtual list
* fix: lint error
* perf: use virtual list for SelectModelPopup
* refactor: change model name style
* fix: better auto scroll behaviour
* perf: improve memorization for SelectModelPopup
* fix: group name background
* refactor: change model item margin
* chore: update rc-virtual-list to 3.19.2
* fix: adaptive list height
* refactor: improve styles for focused or selected items
* refactor: do not show model if the assistant has not default model
* chore: migrate to custom rc-virtual-list
* refactor: improve selected item style
* refactor: improve selected item style
* fix: left margin
* refactor: simplify the indicator for selected item
* fix: prevent mouse hover for keyboard events
* chore: bump rc-virtual-list
* refactor: simulate sticky group header in SelectModelPopup
* fix: cleanup timer, add comments
* perf: improve smooth scrolling
* chore: bump to rc-virtual-list:3.19.6
* refactor: update memorization
* refactor: extract item rendering logic
* refactor: delay CustomTag tooltip for performance
* fix: disable spellcheck in model search bar
* refactor: expand/collapse model label on resizing window
* refactor: simplify filtering
* chore: update rc-virtual-list
* refactor: always render virtual list to avoid inconsistent state
* chore: update dependencies
* chore: update dependencies
* chore: update dependencies
* refactor: remove useless states
* refactor: simplify selected state
* refactor: improve keyboard events for SelectModelPopup
* revert: do not expand mode tags
* refactor: reduce animation time
* chore: update dependencies
* refactor: better names and comments
* refactor: better error handling
* refactor: simplify auto-scrolling logic
* refactor: use react-window rather than rc-virtual-list
* fix: disable auto-scroll
* fix: scroll bar style and item margin
* fix: initialize sticky banner
* refactor: distinguish auto-scrolling behaviour for different causes
* fix: keyboard navigation error
* refactor(ModelList): make the group removing button consistent with model removing button
* refactor(ModelList): improve auto-grouping, reduce the number of groups
* refactor(EditModelsPopup): extract model group tools
* refactor(naming): add special grouping rules for some providers
* feat(ModelList): add a button to add/remove all the listed models
* refactor(naming): update auto grouping
* refactor: update auto grouping for dmxapi
* revert: remove ungrouped
* feat: 新增文件写入功能,支持通过 ID 写入文件并加载自定义小应用配置。
* feat(i18n): 添加自定义小程序配置的多语言支持,包括英文、简体中文和繁体中文。
* fix(minapps): 使用 await 加载自定义小应用并合并到默认应用中,同时添加日志输出以便调试
* fix(minapps): 在开发环境中添加条件日志输出,以便调试加载的默认小应用。
* refactor(miniappSettings): 移动自定义小应用编辑区域的位置,优化界面布局。
* refactor(miniappSettings): 修改自定义小应用保存逻辑,优化应用列表重新加载方式。
* feat(i18n): 修复在merge过程中丢失的语言设置。
* fix(bug_risk): Consider adding stricter validation for the JSON config on load.
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* feat(miniapp): 添加自定义小应用功能,优化应用列表展示,支持通过模态框添加新应用。
* feat(App): enhance custom app modal to support logo upload via URL.
* feat(miniapp): add application logo support and update mini app list reloading logic.
* feat(i18n): update mini app custom settings translations for multiple languages.
* feat(miniapp): add updateDefaultMinApps function and refactor mini app list reloading logic.
* feat(miniapp): add removeCustom functionality to handle custom mini app deletion
* feat(miniapp): add duplicate ID check when adding custom mini apps.
* feat(i18n): 重构侧边栏相关翻译为结构化格式,增加删除自定义应用的翻译支持。
* feat(miniapp): 优化删除自定义应用的逻辑,使用条件渲染简化代码结构。
* feat(miniapp): 添加自定义小应用内容的空值处理,确保 JSON 格式有效。
* feat(i18n): 更新默认语言为英语,并移除多个语言文件中的默认代理字段。
* feat(i18n): 为多个语言文件添加自定义小应用配置编辑描述翻译。
* feat(i18n): add success and error messages for deleting custom mini apps in multiple language files.
* feat(i18n): update success and error messages for custom mini app operations and add placeholder text in multiple language files.
* feat(i18n): 为多个语言文件添加重复ID和冲突ID的错误信息翻译,并在自定义小应用设置中实现相关检查逻辑。
* feat(miniapp): 在添加自定义小应用时,增加对默认最小应用ID的重复检查逻辑。
* feat(i18n): update edit description for custom mini app configuration in Traditional Chinese locale
* fix(miniapp): enhance error messages for duplicate and conflicting IDs in custom mini app configuration
---------
Co-authored-by: George Zhao <georgezhao@SKJLAB>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: suyao <sy20010504@gmail.com>
* feat: enhance web search capabilities in AnthropicProvider
- Added support for Claude models in web search functionality with a new regex.
- Implemented logic to retrieve web search parameters and handle web search results.
- Updated message handling to include web search progress and completion states.
- Enhanced citation formatting for web search results from Anthropic source.
* feat: import WebSearchResultBlock for enhanced message handling
- Added import for WebSearchResultBlock from the Anthropic SDK to improve message processing capabilities in messageBlock.ts.
- Removed duplicate import to streamline the code.
* chore: update @anthropic-ai/sdk to version 0.41.0 in package.json and yarn.lock
* Update src/renderer/src/store/messageBlock.ts
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: Chen Tao <70054568+eeee0717@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* feat: enhance search functionality with optional HTTP options
- Updated the search method signatures in BaseWebSearchProvider, WebSearchEngineProvider, LocalSearchProvider, and WebSearchService to accept optional HTTP options.
- Modified fetchWebContent and fetchWebContents to utilize the new HTTP options parameter for improved request handling.
- Enhanced error handling in messageThunk to manage abort errors more effectively.
* feat: implement abortable promises for web search and fetch operations
- Added createAbortPromise utility to handle abort signals for promises.
- Updated LocalSearchProvider and fetchWebContent to utilize abortable promises, allowing for better control over ongoing requests.
- Enhanced error handling in ApiService to log errors consistently.
- Changed the auto-install server name to '@cherry/mcp-auto-install' in migration logic.
- Implemented logic to register the MCP server upon tool invocation if it matches the auto-install server name.
* feat: add zoom factor setting and localization support
- Introduced App_SetZoomFactor IPC channel for managing zoom levels.
- Implemented zoom factor functionality in the main IPC handler.
- Added setZoomFactor method in the settings store and corresponding UI in DisplaySettings.
- Included localization for zoom settings in English and Chinese.
* add i18n
* recover file
* delete code
* fix: update zoom factor handling to apply to all windows
- Modified the IPC handler for App_SetZoomFactor to set the zoom factor for all non-destroyed windows instead of just the main window.
* add getzoomfactor api
* feat: synchronize zoom factor with Redux state on app initialization
- Added functionality to fetch the zoom factor from the main process and dispatch it to the Redux store during app initialization.
- Removed redundant zoom factor fetching logic from DisplaySettings component.
* feat: enhance zoom factor management with IPC updates
- Added a new IPC channel for zoom factor updates to notify all renderer processes.
- Introduced a constant for predefined zoom levels to streamline zoom adjustments.
- Updated the zoom handling logic to utilize the new zoom levels and ensure smooth transitions.
- Implemented a listener in the preload script to handle zoom factor updates from the main process.
- Refactored the app initialization to include real-time updates for the zoom factor in the Redux state.
* feat: integrate zoom options into DisplaySettings component
- Added ZOOM_OPTIONS constant to generate structured options for Ant Design Select from predefined zoom levels.
- Refactored DisplaySettings to utilize ZOOM_OPTIONS, removing redundant zoom option definitions.
- Simplified the zoom factor fetching logic in useAppInit for better readability and efficiency.
* refactor: streamline zoom factor handling and remove unused IPC channel
- Removed the App_GetZoomFactor IPC channel as it was no longer needed.
- Updated zoom factor handling to directly set and notify the main window of changes.
- Simplified the logic for setting the zoom factor in the WindowService and ShortcutService.
- Adjusted the useAppInit hook to utilize the new zoom factor management approach.
* refactor: improve zoom factor handling in WindowService and useAppInit hook
- Simplified the zoom factor setting in WindowService by directly using the config manager.
- Updated useAppInit to ensure the zoom factor is set correctly on initialization, enhancing responsiveness to changes.
* fix: update model checks to include supported reasoning and thinking token models
* fix: simplify thinking button visibility logic in Inputbar component