* feat: add country flag emoji support and enhance UI components
* Added country-flag-emoji-polyfill to package.json and yarn.lock
* Integrated polyfill in AddAgentPopup, GeneralSettings, and AssistantPromptSettings components
* Updated emoji rendering styles for better visual consistency
* fix: update country flag emoji polyfill to use 'Twemoji Country Flags'
* feat: enhance emoji components with country flag support
* Integrated country-flag-emoji-polyfill in EmojiIcon, EmojiPicker, and AssistantItem components.
* Updated font-family styles across various components for consistent emoji rendering.
* Removed redundant polyfill calls from AddAgentPopup and AssistantPromptSettings.
* refactor: streamline country flag emoji integration
* Removed redundant polyfill calls from EmojiIcon, AssistantItem, and GeneralSettings components.
* Updated EmojiPicker to use a local font file for country flag emojis.
* Added country flag font import in index.scss for improved styling consistency.
* format code
* refactor: standardize country flag font usage across components
* Introduced a new CSS class for country flag font to streamline styling.
* Updated various components (GeneralSettings, EmojiIcon, EmojiAvatar, AssistantPromptSettings, TranslatePage) to utilize the new class for consistent font application.
* Removed inline font-family styles to enhance maintainability.
* refactor: update font styles for improved consistency and maintainability
* Added Windows-specific font configuration in font.scss for better emoji rendering.
* Removed inline font-family styles from various components (EmojiAvatar, GeneralSettings, AssistantPromptSettings, TranslatePage) to enhance code clarity and maintainability.
* refactor: remove inline font-family styles from EmojiIcon for improved maintainability
* feat(WebSearch, RAG): support RAG for external websearch
* refactor(WebSearch): handle content limit in service
* refactor: update migrate
* refactor: UI, constants, types
* refactor: migrate contentLimit to cutoffLimit
* refactor: update default rag document count
* refactor: add a helper function for merging references
* refactor: reference filtering
* feat: feedback for websearch phases
* feat: support cutoff by token
* refactor: add a warning and fix the bound of cutoff limit
* fix: not pass `dimensions` if it is not set by the user
* refactor: update i18n and error message
* refactor: improve UI
* fix: cutoff unit style
* 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
* WIP
* feat: integrate Vertex AI support and enhance service account configuration
- Added Vertex AI service integration with authentication via service accounts.
- Implemented IPC channels for Vertex AI authentication and cache management.
- Updated UI components to support service account configuration, including private key and client email fields.
- Enhanced localization for Vertex AI settings in multiple languages.
- Refactored AiProvider to support dynamic provider creation for Vertex AI.
- Updated Redux store to manage Vertex AI settings and service account information.
* chore: remove debug script from package.json and clean up console log in main process
* fix: ensure async handling in useKnowledge hook for base parameters
- Updated the useKnowledge hook to await the result of getKnowledgeBaseParams when removing items, ensuring proper asynchronous behavior.
* fix: ensure async handling in KnowledgeQueue for base parameters
* fix(i18n): add English prompt placeholder to Russian localization
* chore(yarn): update yarn.lock and patch for @google/genai
* fix(AihubmixPage): update AI provider instantiation to use async create method
* refactor: update VertexAPIClient import and class definition
- Changed import statement for VertexAPIClient to use named import.
- Updated VertexProvider class to VertexAPIClient for consistency with naming conventions.
* refactor: update AiProvider instantiation across components
- Replaced the use of AiProvider.create() with the new AiProvider() constructor in AddKnowledgePopup, AihubmixPage, SiliconPage, and KnowledgeService for consistency and improved clarity.
* refactor: simplify getKnowledgeBaseParams and update API key checks
- Changed getKnowledgeBaseParams to a synchronous function for improved performance.
- Updated API key validation logic to remove unnecessary checks for 'vertexai' provider type across multiple functions.
* feat: add Cephalon provider configuration with API and website links
- Introduced a new provider configuration for Cephalon, including API URL and various website links for official resources, API key, documentation, and models.
* refactor: streamline API call in AddKnowledgePopup component
- Removed unnecessary await from the create API call in the AddKnowledgePopup component, improving code clarity and performance.
* refactor: remove unnecessary await from getKnowledgeBaseParams call
- Simplified the searchKnowledgeBase function by removing the await from getKnowledgeBaseParams, enhancing performance and code clarity.
* refactor: remove externalLiveBindings option from Rollup output configuration in electron.vite.config.ts
* chore: update jsdom dependency to patch version 26.1.0
- Changed jsdom version from ^26.0.0 to a patched version 26.1.0 in package.json and yarn.lock.
- Applied a specific patch to address issues with the jsdom package.
* chore: update package.json dependencies
- Removed outdated dependencies and added new ones to improve project functionality.
- Updated versions for several packages, including @strongtz/win32-arm64-msvc, os-proxy-config, and selection-hook.
- Reorganized dependencies and devDependencies for better clarity and maintenance.
* chore: update package dependencies and remove jsdom patch
- Replaced @cherrystudio/embedjs-libsql with @libsql/client and added @libsql/win32-x64-msvc and jsdom as new dependencies.
- Updated turndown version and removed the jsdom patch from the project.
- Ensured consistency in dependency versions across package.json and yarn.lock.
* feat: add plain text copy functionality for messages and topics.
* refactor: move minapp settings to minapp page
* fix: add success message after copying topic and message as text
* fix: refactor test imports and add mocks for translation and window.message
---------
Co-authored-by: Guscccc <Augustus.Li@outlook.com>
Co-authored-by: kangfenmao <kangfenmao@qq.com>
Co-authored-by: 自由的世界人 <3196812536@qq.com>
* chore: update OpenAI package to version 5.1.0 and adjust related patches
- Updated OpenAI dependency from version 4.96.0 to 5.1.0 in package.json and yarn.lock.
- Removed obsolete patch for OpenAI 4.96.0 and added new patch for OpenAI 5.1.0.
- Adjusted types for image handling in OpenAIResponseProvider to use Uploadable instead of FileLike.
- Minor code refactoring for better clarity and maintainability.
* refactor(OpenAIResponseProvider): remove logging for image generation process
* feat: add filter mode and list functionality to selection assistant
- Introduced new filter mode options (default, whitelist, blacklist) for the selection assistant.
- Added methods to set and get filter mode and filter list in ConfigManager.
- Enhanced SelectionService to manage filter mode and list, affecting text selection processing.
- Updated UI components to allow users to configure filter settings.
- Localized new filter settings in multiple languages.
* feat: support Shift+Click & enhance Ctrl key method
* fix: remove comments
- Updated the @google/genai dependency in package.json and yarn.lock to version 1.0.1.
- Removed the GeminiService and its related references from the codebase to streamline functionality.
- Introduced a new CacheService for managing cached data effectively.
* chore: update package dependencies and refactor BackupManager to use fs.promises
- Removed unused dependencies: fetch-socks and fs-extra from package.json and yarn.lock.
- Updated BackupManager to utilize fs.promises for file system operations, improving consistency and modernizing the codebase.
- Ensured all file operations in BackupManager are handled with promises for better error handling and readability.
* chore: add fs-extra dependency and refactor BackupManager for improved file handling
- Added fs-extra to package.json and updated yarn.lock to enhance file system operations.
- Refactored BackupManager to utilize fs-extra methods for better readability and functionality, replacing fs.promises with fs-extra equivalents for directory and file operations.
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
* feat(selection): implement selection assistant with toolbar and action management
- Added selection assistant functionality including a toolbar for actions.
- Introduced new settings for enabling/disabling the selection assistant and configuring its behavior.
- Implemented action items for built-in functionalities like translate, explain, and copy.
- Integrated selection service to manage selection events and actions.
- Updated localization files to support new selection assistant features in multiple languages.
- Added new components for action management and user interaction within the selection assistant.
* chore: update selection-hook to version 0.9.10 and exclude prebuilds from packaging
* fix: toolbar hiding
* feat: enhance error handling and service management in main index
* fix: improve logical coordinate handling in SelectionService
* fix: update URL loading and coordinate conversion in SelectionService
* fix: replace console.error with Logger for error handling in SelectionService
* refactor(SelectionService): enhance preloaded action window management
* chore(electron-builder): add filter for .node build files in configuration
* fix: toolbar position calculating for multi monitor
* fix: update selection assistant configuration and improve error handling in SelectionService
* fix: SelectionActionUserModal layout
* feat: add hints for custom search URL in multiple languages
* fix: update calculateToolbarPosition to ensure integer return type and round position values
* feat: add action window opacity setting and update related UI components
refactor: SelectionActionsList
* chore: enhance tooltip for trigger mode settings
* fix: console.log
* chore: update selection-hook to version 0.9.12
* fix: integrate language settings into selection components
* fix: filter out default assistant from user predefined assistants in selection modal
* chore: update selection-hook package version to 0.9.13
* chore: update selection-hook package version to 0.9.14
* test: more unit tests
- Adjust vitest configuration to handle main process and renderer process tests separately
- Add unit tests for main process utils
- Add unit tests for the renderer process
- Add three component tests to verify vitest usage: `DragableList`, `Scrollbar`, `QuickPanelView`
- Add an e2e startup test to verify playwright usage
- Extract `splitApiKeyString` and add tests for it
- Add and format some comments
* fix: mock individual properties
* test: add tests for CustomTag
* test: add tests for ExpandableText
* test: conditional rendering tooltip of tag
* chore: update dependencies
- Modified electron-builder.yml to refine file inclusion/exclusion patterns.
- Removed and re-added dependencies in package.json for consistency and updated yarn.lock to reflect these changes.
- Cleaned up unnecessary entries in yarn.lock to streamline the dependency tree.
* chore: update electron configuration and add debug script
- Added sourcemap generation for development builds in electron.vite.config.ts.
- Introduced a new debug script in package.json for easier debugging with remote inspection.
* docs: add debug section to development documentation
- Introduced a new section for debugging instructions, including the command to run the debug script and how to access the Chrome inspect tool.