fix(SelectionService): enhance selection and clipboard handling
- Updated processSelectTextByShortcut to include a check for the 'started' state before processing.
- Modified writeToClipboard to ensure it only attempts to write if the selectionHook is available and 'started'.
- Adjusted ShortcutSettings to filter out additional shortcuts when not on Windows, improving platform compatibility.
* feat(SelectionAssistant): add shortcut for selecting text and update trigger modes
- Introduced a new trigger mode 'Shortcut' in SelectionService to handle text selection via shortcuts.
- Implemented processSelectTextByShortcut method to process selected text when the shortcut is activated.
- Updated ShortcutService to register the new selection_assistant_select_text shortcut.
- Enhanced localization for the new shortcut and updated descriptions for trigger modes in multiple languages.
- Adjusted SelectionAssistantSettings to include tooltip information for the new shortcut option.
* fix: should destroy window when disable
* 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>
* feat: add toggle selection assistant functionality and corresponding shortcuts
- Implemented toggleEnabled method in SelectionService to manage the selection assistant state.
- Registered new shortcut for toggling the selection assistant in ShortcutService.
- Updated StoreSyncService to sync the selection assistant state across renderer windows.
- Added localization for the toggle selection assistant feature in multiple languages.
- Adjusted ShortcutSettings to conditionally display the toggle selection assistant shortcut based on the platform.
- Included toggle selection assistant in the initial state of shortcuts in the store.
* fix: shortcut key
* fix: accelerator name
* fix: bubble-style unnecessary menu background
* fix: show divider in message only in plain mode
* fix: bubble user message style in dark mode
* fix: action button hover style
* refactor: The rendering position of the message menbar is determined by the settings
* fix: bubble style assistant message token usage left align
* fix: bubble style
* fix: bubble style
* fix: text color and bubble edit
* fix: bubble editing
* fix: bubble editing
* fix: bubble editor
* fix: editor width
* fix: remove redundant tokens usage
* fix: not unified token font size and color
* fix: unexpected display behavior in plain mode
* fix: info style
* fix: bubble style
* fix: Style fixes for better compatibility
* fix: bubble style
* fix: Move the menu of the last message to the outside
* fix: bubble style
* fix: why this happened?
* feat: add description for messages divider in settings
* fix: 谁想出来的上下margin不一样还是神秘数字
* fix: new context style
* feat(TranslatePage): add user-selectable source language with auto-detection
* fix: update detected language label for consistency across translations
---------
Co-authored-by: Pleasurecruise <3196812536@qq.com>
* feat: enhance unresponsive renderer handling and crash reporting
* Added support for collecting JavaScript call stacks from unresponsive renderers.
* Updated the Document Policy in the HTML to include JS call stacks in crash reports.
* Removed legacy unresponsive logging from WindowService.
* feat: improve unresponsive renderer handling and update crash reporting
* Added session web request handling to include Document-Policy for JS call stacks in crash reports.
* Removed legacy Document-Policy meta tag from HTML.
* Enhanced logging for unresponsive renderer call stacks.
* fix: remove unused session import in index.ts
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
fix: improve dropdown menu styling and placement in MessageMenubar component
- Set a maximum height and overflow behavior for the dropdown menu to enhance usability.
- Changed the dropdown placement from "topRight" to "top" for better alignment with the UI.
* fix(Markdown): eliminate hydration error from image `<div>` nested in `<p>`
Signed-off-by: Chan Lee <Leetimemp@gmail.com>
* feat: add support for reading local files in binary format
Signed-off-by: Chan Lee <Leetimemp@gmail.com>
* refactor(ImageViewer): Consolidate image rendering for unified display and context menu
Signed-off-by: Chan Lee <Leetimemp@gmail.com>
---------
Signed-off-by: Chan Lee <Leetimemp@gmail.com>
* feat: add update channel functionality for beta testing
- Introduced a new IPC channel for setting the update channel.
- Implemented logic in AppUpdater to handle update channel changes.
- Updated settings to include a beta testing toggle, allowing users to switch between stable and beta update channels.
- Enhanced the settings UI to reflect the new beta testing option.
* add i18n
* update i18n
* update i18n
* refactor: rename update channel to feed URL and update related functionality
- Changed IPC channel from App_SetUpdateChannel to App_SetFeedUrl.
- Updated AppUpdater to set feed URL instead of update channel.
- Modified preload and settings to reflect the new feed URL functionality.
- Added constants for production and early access feed URLs.
* refactor: remove setAutoUpdate method from API
- Eliminated the setAutoUpdate method from the API object in preload index, streamlining the IPC communication interface.
* refactor: update early access feed URL and improve tooltip descriptions
- Changed EARLY_ACCESS_FEED_URL to point to the latest GitHub release.
- Simplified the setEarlyAccess function to directly set the feed URL.
- Added tooltips for early access settings in multiple languages to inform users about potential instability and the need for data backup.
* feat(migrate): add early access setting to state configuration
- Introduced a new state setting 'earlyAccess' and initialized it to false in the migration configuration.
* fix(i18n): update early access tooltip translations for clarity
- Revised the tooltip descriptions for the early access feature in English, Simplified Chinese, and Traditional Chinese to enhance clarity and ensure consistency in messaging regarding potential instability and the importance of data backup.
* feat: introduce FeedUrl enum for centralized feed URL management
- Added a new enum `FeedUrl` in the constants file to define production and early access feed URLs.
- Updated relevant IPC handlers and services to utilize the `FeedUrl` enum for type safety and consistency.
- Refactored the configuration manager to include methods for getting and setting the feed URL using the new enum.
* feat(settings): initialize early access and auto-update settings in AboutSettings component
- Added initialization for early access and auto-check update settings in the AboutSettings component to enhance user configuration options.
---------
Co-authored-by: beyondkmp <beyondkmkp@gmail.com>
fix: enhance OpenAI stream handling and error management
- Updated the `openAIChunkToTextDelta` function to include error handling with a try-catch block, improving robustness during stream processing.
- Refined the `readableStreamAsyncIterable` function to ensure proper handling of stream completion and errors, including a return method for cleanup.
- Adjusted type definitions for better clarity and consistency in the handling of async iterables.