icarus
07603ae9db
Merge branch 'feat/ocr' into feat/ocr-translate
2025-08-24 00:02:17 +08:00
icarus
0e0796ca8b
refactor(ocr): 移除注释掉的tesseract语言映射代码
...
使用Tesseract.js的LanguageCode类型替代硬编码的语言列表,提高类型安全性
2025-08-23 19:24:05 +08:00
icarus
7d1c775afd
Merge branch 'feat/ocr' into feat/ocr-translate
2025-08-23 15:55:56 +08:00
icarus
be242d1308
refactor(OcrService): 移除重复的OcrHandler类型定义
...
已在@types中定义OcrHandler类型,移除重复定义以提高代码一致性
2025-08-23 15:08:28 +08:00
icarus
bee0cefd5c
Merge branch 'feat/ocr' into feat/ocr-translate
2025-08-23 13:48:25 +08:00
icarus
f3da4a6e36
refactor(ocr): 统一使用 SupportedOcrFile 类型替换 FileMetadata
...
更新 OCR 服务及其 Tesseract 实现,使用 SupportedOcrFile 类型替代原有的 FileMetadata 类型,以提高类型安全性和一致性。同时在 OcrService 中添加重复注册的警告日志。
2025-08-23 13:45:21 +08:00
icarus
bfb64522cd
refactor(ocr): 将Tesseract相关配置移至服务内部
...
将语言列表和下载URL常量从共享配置移至Tesseract服务内部
使用常量定义图片大小阈值以提高可读性
2025-08-23 13:26:09 +08:00
icarus
64c55385a4
Merge branch 'feat/ocr' into feat/ocr-translate
2025-08-23 13:00:47 +08:00
icarus
7cd0ff5d32
refactor(ipc): 简化OCR处理程序参数
2025-08-23 12:57:57 +08:00
beyondkmp
99157f0261
use bind function
2025-08-23 12:20:06 +08:00
beyondkmp
902f83d95f
use register design mode
2025-08-23 10:51:24 +08:00
beyondkmp
b82a58f0ff
change to asyn
2025-08-23 10:18:36 +08:00
beyondkmp
cda0686f1d
support cn data
2025-08-23 10:11:57 +08:00
beyondkmp
9acfb5fb9e
feat(ocr): enhance Tesseract service with language support and worker management
...
- Added support for multiple Tesseract languages: Chinese (Simplified and Traditional) and English.
- Refactored Tesseract worker management into a class for better encapsulation and reuse.
- Introduced methods to dynamically determine language path based on IP country and manage worker lifecycle.
2025-08-23 08:44:42 +08:00
icarus
66fff8fb76
Merge branch 'feat/ocr' into feat/ocr-translate
2025-08-23 00:38:20 +08:00
icarus
d3e338e6a8
Merge remote-tracking branch 'upstream' into feat/ocr
2025-08-23 00:37:48 +08:00
one
35968f4861
chore(ci): refine pr ci steps ( #9429 )
...
* chore(ci): refine pr ci steps
* fix: line errors
2025-08-22 22:52:03 +08:00
icarus
364a0f8bb7
fix(ocr): 修复文件类型与OCR提供者能力不匹配时的错误抛出位置
...
将错误抛出语句移至else分支
2025-08-22 20:36:45 +08:00
icarus
cf0e6a8f73
refactor(ocr): 修改tesseractOcr返回完整识别结果而非仅文本
...
返回完整识别结果以便后续处理使用更多OCR信息,同时简化imageOcr中的条件判断逻辑
2025-08-22 20:36:37 +08:00
icarus
94b71dde60
refactor(TesseractService): 添加日志记录并更新worker配置
...
添加loggerService用于记录worker日志,并更新createWorker配置以使用自定义logger
2025-08-22 20:34:39 +08:00
icarus
9d8eea7f2e
refactor(ocr): 将Tesseract服务文件移动到tesseract子目录并更新配置
2025-08-22 20:33:56 +08:00
icarus
7fa2e62dce
fix(ocr): 修复文件类型与OCR提供者能力不匹配时的错误抛出位置
...
将错误抛出语句移至else分支
2025-08-22 20:29:46 +08:00
icarus
5241f11eeb
refactor(ocr): 修改tesseractOcr返回完整识别结果而非仅文本
...
返回完整识别结果以便后续处理使用更多OCR信息,同时简化imageOcr中的条件判断逻辑
2025-08-22 20:28:33 +08:00
icarus
c04cd3b71e
feat(fs): 添加自动识别编码读取文本文件功能
...
实现通过自动检测文件编码来读取文本文件的功能
在IPC通道、预加载API和文件服务中添加相关方法
2025-08-22 19:18:09 +08:00
icarus
c5d7d7b849
refactor(TesseractService): 添加日志记录并更新worker配置
...
添加loggerService用于记录worker日志,并更新createWorker配置以使用自定义logger
2025-08-22 18:32:31 +08:00
icarus
40cf92a246
refactor(ocr): 将Tesseract服务文件移动到tesseract子目录并更新配置
2025-08-22 18:16:03 +08:00
icarus
af05960cd3
feat(OCR服务): 支持base64字符串作为OCR输入
...
扩展tesseractOcr函数以接受base64字符串或图像文件作为输入
2025-08-22 16:54:57 +08:00
icarus
1864419e70
fix(ocr): 添加图像大小检查并优化错误处理
...
检查图像文件大小是否超过50MB限制
使用buffer读取文件替代直接路径识别
简化错误处理逻辑,直接抛出原始错误
2025-08-22 16:52:02 +08:00
icarus
a6aee21a96
refactor(ocr): 统一OCR类型导入路径
...
将所有OCR相关类型从'@renderer/types/ocr'改为从'@renderer/types'或'@types'导入
优化DEFAULT_OCR_PROVIDER类型定义
2025-08-22 16:12:25 +08:00
icarus
01ad89eb54
refactor(OcrService): 更新日志上下文为'main:OcrService'
2025-08-22 15:30:49 +08:00
icarus
9d438be48f
feat(ocr): 添加OCR功能支持
...
实现基于Tesseract的OCR功能,包括文件类型检查、服务接口和IPC通信
新增OCR相关类型定义和服务实现
2025-08-22 15:30:02 +08:00
beyondkmp
f66cb2651f
refactor: simplify NotificationService initialization and use windowService for notifications ( #9411 )
...
* refactor: simplify NotificationService initialization and use windowService for notifications
- Removed the dependency on BrowserWindow in NotificationService constructor.
- Updated the notification handling to utilize windowService for showing notifications and sending events, improving code modularity.
* refactor: remove constructor from NotificationService for cleaner initialization
2025-08-22 14:41:36 +08:00
beyondkmp
b4a3a483e9
fix: change title bar overlay color for windows ( #9407 )
...
* fix: update titleBarOverlayDark color for improved visibility
* refactor: import isDev and isWin constants for cleaner configuration
2025-08-22 12:30:07 +08:00
Chen Tao
1c0e29f029
fix: knowledge encrypted ( #9385 )
2025-08-21 16:58:16 +08:00
beyondkmp
4dabc214f2
feat: enhance file extension handling in Inputbar ( #9269 )
...
* feat: add isTextFile functionality and improve file selection handling
- Introduced a new IPC channel for checking if a file is a text file.
- Implemented isTextFile method in FileStorage service to determine file type based on content.
- Enhanced AttachmentButton to filter selected files based on text file validation.
- Updated translations to include support for displaying unsupported file counts across multiple languages.
- Added utility functions for text file validation and filtering in file utilities.
* refactor(FileStorage): replace hardcoded buffer size with constant for improved readability
* restore yarn lock
* add isbinaryfile dep
* refactor: 整理导入顺序
* fix(preload): 为isTextFile方法添加返回类型Promise<boolean>
* refactor(FileManager): update getSafePath to use file metadata for path retrieval
- Modified getSafePath method to utilize the path from file metadata instead of a hardcoded file path.
- Enhanced handling for files not stored in the file storage system.
* refactor(FileUtilities): rename text file functions for clarity
- Updated function names from isTextFile to isSupportedFile and filterTextFiles to filterSupportedFiles to better reflect their purpose.
- Adjusted related imports and usages in AttachmentButton and PasteService components to align with the new naming conventions.
* fix drop files
* refactor(MarkdownStyles): remove last-child margin override; adjust MessageFooter margin and clean up unused code in MessageAttachments
* feat(Sidebar): add 'code_tools' icon and route; enhance CodeToolsPage layout with Navbar and improved provider filtering
* feat(CodeTools): add environment variable support for CLI tools; update UI to manage environment variables and enhance localization for related strings
* refactor(Sidebar): remove unused imports and code related to documentation; streamline sidebar functionality
* refactor(SvgPreview): use transparent container for SVG (#9294 )
* refactor(SvgPreview): use transparent container for SVG
* test: fix snapshot
* refactor(CodeToolsService): replace npm package version fetching with direct API call; simplify command construction for installation
* chore: release v1.5.7-rc.1
* refactor(CodeToolsService): adjust command construction for Windows compatibility; streamline installation command handling
* refactor(Markdown): update disallowed elements to include 'script' for enhanced security
* feat: quick model (#9290 )
* refactor(i18n): 将话题命名模型相关文案更新为摘要模型
更新所有语言文件中关于话题命名模型的文案,统一改为摘要模型,以反映功能的扩展和更通用的用途
* refactor(设置页面): 优化主题命名弹窗组件性能
使用useCallback和useMemo优化回调函数和渲染性能
将重复的JSX代码提取为独立组件
* feat(设置): 在模型设置中添加话题命名折叠面板
将话题命名设置从直接显示改为折叠面板形式,提升界面整洁度
* refactor(i18n): 重构话题命名相关翻译字段结构
* docs(i18n): 添加生成图像的高度、宽度和安全容忍度翻译占位符
* fix(settings): 修正主题命名弹窗中的翻译键名
* style(ui): 调整主题命名弹窗的间距和文本区域高度
移除多余的上下边距,并使用自适应高度的文本区域
* refactor(llm): 将 topicNamingModel 重命名为 summaryModel
更新相关函数、状态和测试用例以反映命名变更
增加迁移逻辑处理旧状态数据
更新持久化版本号至133
* fix(ApiService): 优先使用摘要模型替代默认模型
当获取摘要时,优先使用getSummaryModel()返回的模型,其次才是助手指定的模型或默认模型,以确保摘要生成的一致性
* docs(i18n): 更新摘要模型描述中的搜索关键词提炼
将"搜索结果摘要"修改为"搜索关键字提炼"以更准确描述功能
* fix(i18n): 更新多语言翻译文件中的摘要模型相关文本
* feat(i18n): 为摘要模型设置添加工具提示说明
添加摘要模型设置的工具提示,建议用户选择轻量模型而非思考模型
* refactor(i18n): 将摘要模型相关文案更新为快速模型
更新国际化文案和组件引用,将"摘要模型"统一改为"快速模型"以更准确描述功能用途
* feat(i18n): 将摘要模型重命名为快速模型并更新相关描述
* refactor(llm): 将summaryModel重命名为quickModel以提升语义清晰度
* test(api): 在ApiService测试中添加LlmState类型和awsBedrock配置
添加LlmState类型以满足类型检查要求,并补充awsBedrock的mock配置以完善测试覆盖
* Revert "feat(设置): 在模型设置中添加话题命名折叠面板"
This reverts commit 4d58c053da .
* refactor(settings): 重命名并移动 TopicNamingModalPopup 组件文件
将 TopicNamingModalPopup.tsx 重命名为 QuickModelPopup.tsx 并移动到相应目录
* refactor(QuickModelPopup): 优化主题命名设置布局和样式
移除 TopicNamingSettings 组件内联实现,直接整合到 Modal 中
调整间距和样式,提升视觉一致性
修复文本区域 onChange 去除换行的逻辑
* feat(模型设置): 在快速模型弹窗中添加重置按钮图标并调整布局
将重置按钮改为图标形式并内联显示,同时调整输入区域的高度样式
* docs(i18n): 更新快速模型相关翻译文本
* fix: 将迁移错误日志从133更新为134
* style(settings): 替换模型设置中的图标为Rocket图标以提升视觉一致性
* fix: unexpected quitting full screen mode (#9200 )
* fix(Inputbar): 修正拼写错误,将expend改为expand
* fix: 修复Escape键事件冒泡问题并改进全屏处理
修复多个组件中Escape键事件未阻止冒泡的问题
添加全屏控制IPC通道
将全屏退出逻辑移至渲染进程处理
移除主进程中冗余的全屏退出处理代码
* fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect
将键盘事件监听从window移动到Modal容器,避免事件冒泡问题
移除无效的useEffect并更新键盘事件类型定义
* fix(QuickPanel): 拦截window上的keydown事件
* fix(QuickPanel): 修复事件监听器移除时未使用相同参数的问题
* fix(TopView): 修复左侧导航栏布局崩坏问题
* fix: 修正变量名拼写错误,将expended改为expanded
* Revert "fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect"
This reverts commit 4211780b95 .
* feat: use quick model to detect translate language (#9315 )
* refactor(语言检测): 移除翻译模型依赖,改用快速或默认模型
* feat(i18n): 添加希腊语翻译支持
* fix(i18n): 更新i18n
统一将翻译模型提示改为快速模型提示,优化多语言文件中的描述
* Revert "feat(i18n): 添加希腊语翻译支持"
This reverts commit 42613cb2e2 .
* feat: add 'code_tools' to sidebar icons and update related components
* fix: KaTeX math engine render
* feat: 同步百炼服务器功能 (#9205 )
* 同步百炼服务器功能
* cr修改
---------
Co-authored-by: yunze <yunze.wyz@alibaba-inc.com>
* fix(SelectionHook): improve validation for selected text range to handle empty strings and ensure valid extraction (#9329 )
chore: update selection-hook dependency to version 1.0.10 in package.json and yarn.lock
* fix: web search references missing caused by early reset (#9328 )
* feat(openai): handle special tokens for zhipu api (#9323 )
* feat(openai): 添加对智谱特殊token的过滤处理
在OpenAIAPIClient中添加对智谱AI特殊token的过滤逻辑,避免不需要的token被输出
* docs(OpenAIApiClient): 添加注释
* refactor(zhipu): 重命名并更新智谱特殊token处理逻辑
将 ZHIPU_SPECIAL_TOKENS_TO_FILTER 重命名为 ZHIPU_RESULT_TOKENS 以更准确描述用途
修改智谱API特殊token处理逻辑,不再过滤而是用**标记结果token
* feat: support openai codex (#9332 )
* support openai codex
* lint
* refactor: remove unused codeTools enum from constant.ts
* fix build
* fix lin
* fix: add support for qwenCode CLI tool and improve error handling in CodeToolsService
* fix: timeout memory leak (#9312 )
* fix(MinappPopupContainer): 修复内存泄漏问题,清理未使用的定时器
在组件卸载时清理setTimeout定时器,避免潜在的内存泄漏
* fix(SelectModelButton): 修复模型选择后更新导致的卡顿问题
使用useRef存储定时器并在组件卸载时清理,避免内存泄漏
* fix(QuickPanel): 修复定时器未清理导致的内存泄漏问题
添加 clearSearchTimerRef 和 focusTimerRef 来管理定时器
在组件清理和状态变化时清理所有定时器
* fix(useInPlaceEdit): 修复编辑模式下定时器未清理的问题
添加清理定时器的逻辑,避免组件卸载时内存泄漏
* refactor(useKnowledge): 使用ref管理定时器并统一检查知识库逻辑
将分散的setTimeout调用统一为checkAllBases方法
使用useRef管理定时器并在组件卸载时清理
* fix(useScrollPosition): 修复滚动位置恢复时的内存泄漏问题
添加清理函数以清除未完成的定时器,防止组件卸载时内存泄漏
* fix(WebSearchProviderSetting): 清理定时器防止内存泄漏
在组件卸载时清理检查API有效性的定时器,避免潜在的内存泄漏问题
* fix(selection-toolbar): 修复选中文本时定时器未清理的问题
* fix(translate): 修复复制文本时定时器未清理的问题
添加 copyTimerRef 来管理复制操作的定时器,并在组件卸载时清理定时器
* fix(WebSearchSettings): 使用useRef管理订阅验证定时器以避免内存泄漏
* fix(MCPSettings): 修复定时器未清理导致的内存泄漏问题
添加 useRef 来存储定时器引用,并在组件卸载时清理定时器
* refactor(ThinkingBlock): 使用 useTemporaryValue 替换手动 setTimeout
移除手动设置的 setTimeout 来重置 copied 状态,改用 useTemporaryValue hook 自动处理
* refactor(ChatNavigation): 使用 useRef 替代 useState 管理定时器
简化定时器管理逻辑,避免不必要的状态更新
* fix(AddAssistantPopup): 清理创建助手时的定时器以避免内存泄漏
添加useEffect清理定时器,防止组件卸载时内存泄漏
* feat(hooks): 添加useTimer钩子管理定时器
实现一个自定义hook来集中管理setTimeout和setInterval定时器
自动在组件卸载时清理所有定时器防止内存泄漏
* refactor(Inputbar): 使用 useTimer 替换 setTimeout 实现延迟更新
将 setTimeout 替换为 useTimer 的自定义 setTimeoutTimer 方法,提高代码可维护性并统一计时器管理
* refactor(WindowFooter): 使用 useTimer 替换 setTimeout 以管理定时器
* docs(useTimer): 更新定时器hook的注释格式和描述
* feat(hooks): 为useTimer添加返回清理函数的功能
允许从setTimeoutTimer和setIntervalTimer返回清理函数,便于手动清除定时器
* refactor(ImportAgentPopup): 使用useTimer替换setTimeout以管理定时器
* refactor: 使用useTimer替代setTimeout以优化定时器管理
* refactor(SearchResults): 使用useTimer替换setTimeout以管理定时器
* refactor(消息组件): 使用useTimer替换setTimeout以管理定时器
* refactor: 使用useTimer替换setTimeout以优化定时器管理
* refactor(AssistantsDrawer): 使用useTimer替换setTimeout以优化定时器管理
* refactor(Inputbar): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MCPToolsButton): 使用useTimer优化定时器管理
* refactor(QuickPhrasesButton): 使用useTimer替换setTimeout以优化定时器管理
* refactor(ChatFlowHistory): 使用useTimer替换setTimeout以管理定时器
* refactor(Message): 使用useTimer替换setTimeout以管理定时器
* refactor(MessageAnchorLine): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MessageGroup): 使用useTimer替换setTimeout以优化定时器管理
* refactor(MessageMenubar): 使用 useTemporaryValue 替换手动 setTimeout 逻辑
* refactor(Messages): 使用 useTimer 优化定时器管理
* refactor(MessageTools): 使用useTimer替换setTimeout以管理定时器
* fix(SelectionBox): 修复鼠标移动时未清除定时器导致的内存泄漏
在鼠标移动事件处理中增加定时器清理逻辑,避免组件卸载时未清除定时器导致的内存泄漏问题
* refactor(ErrorBlock): 使用自定义hook替换setTimeout
使用useTimer中的setTimeoutTimer替代原生setTimeout,便于统一管理定时器
* refactor(GeneralSettings): 使用useTimer替换setTimeout以实现更好的定时器管理
* refactor(ShortcutSettings): 使用useTimer替换setTimeout以优化定时器管理
* refactor(AssistantModelSettings): 使用useTimer替换setTimeout以优化定时器管理
* refactor(DataSettings): 使用useTimer替换setTimeout以增强定时器管理
统一使用useTimer hook管理所有定时器操作,提高代码可维护性
* refactor(NutstoreSettings): 使用useTimer优化setTimeout管理
替换直接使用setTimeout为useTimer hook的setTimeoutTimer方法,提升定时器管理的可维护性
* refactor(MCPSettings): 使用useTimer替换setTimeout以提升代码可维护性
* refactor(ProviderSetting): 使用useTimer优化setTimeout管理
* refactor(ProviderSettings): 使用 useTimer 替换 setTimeout 以优化定时器管理
* refactor(InputBar): 使用useTimer替换setTimeout以实现更好的定时器管理
* refactor(MessageEditor): 使用useTimer替换setTimeout以管理定时器
使用自定义hook useTimer来替代原生setTimeout,便于统一管理和清理定时器
* docs(useTimer): 添加 useTimer hook 的使用示例和详细说明
* refactor(MinappPopupContainer): 使用useTimer替换setTimeout实现
替换直接使用setTimeout为自定义hook useTimer,简化组件清理逻辑
* refactor(AddAssistantPopup): 使用useTimer替换手动定时器管理
用useTimer钩子替代手动管理定时器,简化代码并提高可维护性
* refactor(WebSearchSettings): 使用 useTimer 替换手动定时器管理
移除手动管理的定时器逻辑,改用 useTimer hook 统一处理
* refactor(WebSearchProviderSetting): 使用自定义hook替代原生定时器
用useTimer hook替换原有的setTimeout和clearTimeout逻辑,提高代码可维护性
* refactor(translate): 使用 useTemporaryValue 替换手动实现的复制状态定时器
* refactor(SelectionToolbar): 使用 useTimer 钩子替换 setTimeout 和 clearTimeout
重构 SelectionToolbar 组件,使用自定义的 useTimer 钩子来管理定时器,提升代码可维护性
清理隐藏时的定时器逻辑,避免内存泄漏
* fix(Translate): update settings into db (#9305 )
* fix(翻译): 修复设置没有储存到db的错误
* fix(translate): 修复自动检测方法设置更新失败的问题
添加错误处理逻辑,当更新自动检测方法设置失败时显示错误信息
* Fix AWS Bedrock models not receiving uploaded document content (#9337 )
* Initial plan
* Add file content processing to AWS Bedrock client convertMessageToSdkParam method
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
* Fix file content format to match other AI clients and update tests
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
* Update src/renderer/src/aiCore/clients/aws/AwsBedrockAPIClient.ts
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
* feat(migrate): initialize default assistant settings if not present (#9303 )
* feat(migrate): update migration logic for version 134; initialize default assistant settings if not present
* Update src/renderer/src/store/migrate.ts
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
---------
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
* feat: support language aliases for code editor (#9336 )
* feat(CodeEditor): support language aliases
* fix: mermaid
* refactor: lookup
* chore: sort package.json
* fix(SelectionHook): [macOS] add type safety to prevent crashes (#9354 )
chore: update selection-hook dependency to version 1.0.11 in package.json and yarn.lock
* fix: sidebar code icon reset bug (#9307 ) (#9333 )
* fix: 修复侧边栏重置时 Code 图标消失的问题 (#9307 )
问题原因:
- types/index.ts 中的 SidebarIcon 类型定义缺少 'code_tools'
- 存在重复的类型定义和常量定义导致不一致
修复内容:
- 在 types/index.ts 的 SidebarIcon 类型中添加 'code_tools'
- 删除 minapps.ts 中重复的 DEFAULT_SIDEBAR_ICONS 常量
- 统一从 @renderer/types 导入 SidebarIcon 类型
- 删除 settings.ts 中重复的 SidebarIcon 类型定义
这确保了在导航栏设置为左侧时,点击侧边栏设置的重置按钮后,
Code 图标能够正确显示。
* refactor: 将侧边栏配置移至 config 目录
根据 code review 建议,将侧边栏相关配置从 store/settings.ts
移动到 config/sidebar.ts,使配置管理更加清晰。
改动内容:
- 创建 config/sidebar.ts 存放侧边栏配置常量
- 更新相关文件的导入路径
- 在 settings.ts 中重新导出以保持向后兼容
- 添加 REQUIRED_SIDEBAR_ICONS 常量便于未来扩展
这个改动保持了最小化原则,不影响现有功能。
* refactor: improve locate highlight animation (#9345 )
* feat(utils): show weekday in date and datetime prompt variables (#9362 )
* feat(utils): 优化日期时间变量替换格式
为 {{date}} 和 {{datetime}} 变量替换添加更详细的格式选项,包括星期、年月日和时间信息
* test(prompt): 更新测试中日期时间的本地化格式
* refactor(CodeToolsPage): simplify CLI tool change handling and optimize provider filtering logic
* fix(newMessage): reduce default display count from 20 to 10
* feat(AssistantService): introduce DEFAULT_ASSISTANT_SETTINGS for consistent assistant configuration and update migration logic for version 136
* chore: release v1.5.7-rc.2
* fix(Markdown/Link): set href to undefined when it's empty (#9343 )
fix(Markdown/Link): 处理空链接时设置href为undefined
* fix(Inputbar): update file handling to use functional state update for setFiles
* refactor(file): update isSupportedFile function to accept filePath instead of FileMetadata for improved clarity and consistency in file handling
---------
Co-authored-by: icarus <eurfelux@gmail.com>
Co-authored-by: kangfenmao <kangfenmao@qq.com>
Co-authored-by: one <wangan.cs@gmail.com>
Co-authored-by: Phantom <59059173+EurFelux@users.noreply.github.com>
Co-authored-by: alickreborn0 <i@guyi.me>
Co-authored-by: yunze <yunze.wyz@alibaba-inc.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Co-authored-by: caozhiyuan <568022847@qq.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: caozhiyuan <3415285+caozhiyuan@users.noreply.github.com>
Co-authored-by: SuYao <sy20010504@gmail.com>
Co-authored-by: Jason Young <44939412+farion1231@users.noreply.github.com>
2025-08-21 14:19:51 +08:00
beyondkmp
332ba5d678
feat: support openai codex ( #9332 )
...
* support openai codex
* lint
* refactor: remove unused codeTools enum from constant.ts
* fix build
* fix lin
* fix: add support for qwenCode CLI tool and improve error handling in CodeToolsService
2025-08-20 15:46:44 +08:00
Phantom
a21fc91915
fix: unexpected quitting full screen mode ( #9200 )
...
* fix(Inputbar): 修正拼写错误,将expend改为expand
* fix: 修复Escape键事件冒泡问题并改进全屏处理
修复多个组件中Escape键事件未阻止冒泡的问题
添加全屏控制IPC通道
将全屏退出逻辑移至渲染进程处理
移除主进程中冗余的全屏退出处理代码
* fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect
将键盘事件监听从window移动到Modal容器,避免事件冒泡问题
移除无效的useEffect并更新键盘事件类型定义
* fix(QuickPanel): 拦截window上的keydown事件
* fix(QuickPanel): 修复事件监听器移除时未使用相同参数的问题
* fix(TopView): 修复左侧导航栏布局崩坏问题
* fix: 修正变量名拼写错误,将expended改为expanded
* Revert "fix(SelectModelPopup): 修复键盘事件处理并移除无效的useEffect"
This reverts commit 4211780b95 .
2025-08-19 21:32:53 +08:00
kangfenmao
c5554995dd
refactor(CodeToolsService): adjust command construction for Windows compatibility; streamline installation command handling
2025-08-19 18:10:10 +08:00
kangfenmao
2ace9ba492
refactor(CodeToolsService): replace npm package version fetching with direct API call; simplify command construction for installation
2025-08-19 17:30:07 +08:00
kangfenmao
2265ecab21
feat(CodeTools): add environment variable support for CLI tools; update UI to manage environment variables and enhance localization for related strings
2025-08-19 16:39:50 +08:00
beyondkmp
4a62bb6ad7
refactor: replace axios and node fetch with electron's net module ( #9212 )
...
* refactor: replace axios and node fetch with electron's net module for network requests in preprocess providers
- Updated Doc2xPreprocessProvider and MineruPreprocessProvider to use net.fetch instead of axios for making HTTP requests.
- Improved error handling for network responses across various methods.
- Removed unnecessary AxiosRequestConfig and related code to streamline the implementation.
* lint
* refactor(Doc2xPreprocessProvider): enhance file validation and upload process
- Added file size validation to prevent loading files larger than 300MB into memory.
- Implemented file size check before reading the PDF to ensure efficient memory usage.
- Updated the file upload method to use a stream, setting the 'Content-Length' header for better handling of large files.
* refactor(brave-search): update net.fetch calls to use url.toString()
- Modified all instances of net.fetch to use url.toString() for better URL handling.
- Ensured consistency in how URLs are passed to the fetch method across various functions.
* refactor(MCPService): improve URL handling in net.fetch calls
- Updated net.fetch to use url.toString() for better type handling of URLs.
- Ensured consistent URL processing across the MCPService class.
* feat(ProxyManager): integrate axios with fetch proxy support
- Added axios as a dependency to enable fetch proxy usage.
- Implemented logic to set axios's adapter to 'fetch' for proxy handling.
- Preserved original axios adapter for restoration when disabling the proxy.
2025-08-15 22:48:22 +08:00
beyondkmp
f2b7b07e51
refactor(AppUpdater): streamline release version fetching and improve update logic ( #9167 )
...
- Renamed method from _getPreReleaseVersionFromGithub to _getReleaseVersionFromGithub for clarity.
- Enhanced logic to check for the latest release version using semver.
- Removed unnecessary checks related to test plans when updates are not available.
- Improved logging for better traceability of release version fetching.
2025-08-15 10:45:11 +08:00
George·Dong
5d34e49c57
refactor(bakcup): 单例化S3/WebDAV ( #9181 )
...
* feat(backup): 单例化S3/WebDAV并动态更新配置
* feat(backup): reuse storage instances by comparing core configs
* feat(backup): cache only connection fields for storages
2025-08-15 01:55:19 +08:00
kangfenmao
2dd2bee940
refactor(settings): reorganize the menu layout in the settings page
...
- Introduced QuickPhraseSettings component for managing quick phrases with add, edit, and delete functionality.
- Added PreprocessSettings component to configure document preprocessing options, including provider selection.
- Updated SettingsPage to include links to the new Quick Phrase and Preprocess settings.
- Removed the deprecated ToolSettings component and its associated routes.
- Enhanced WebSearchSettings with new compression settings and improved UI for managing web search providers.
2025-08-13 10:54:35 +08:00
beyondkmp
e4e1325b08
refactor(AppUpdater): remove mainWindow dependency and utilize windowService ( #9091 )
...
- Updated AppUpdater to eliminate the mainWindow parameter from the constructor.
- Replaced direct mainWindow references with windowService calls to retrieve the main window, improving modularity and decoupling.
2025-08-12 23:09:37 +08:00
亢奋猫
1c7b7a1a55
feat: add code tools ( #9043 )
...
* feat: add code tools
* feat(CodeToolsService): add CLI executable management and installation check
- Introduced methods to determine the CLI executable name based on the tool.
- Added functionality to check if a package is installed and create the necessary bin directory if it doesn't exist.
- Enhanced the run method to handle installation and execution of CLI tools based on their installation status.
- Updated terminal command handling for different operating systems with improved comments and error messages.
* feat(ipService): implement IP address country detection and npm registry URL selection
- Added a new module for IP address country detection using the ipinfo.io API.
- Implemented functions to check if the user is in China and to return the appropriate npm registry URL based on the user's location.
- Updated AppUpdater and CodeToolsService to utilize the new ipService functions for improved user experience based on geographical location.
- Enhanced error handling and logging for better debugging and user feedback.
* feat: remember cli model
* feat(CodeToolsService): update options for auto-update functionality
- Refactored the options parameter in CodeToolsService to replace checkUpdate and forceUpdate with autoUpdateToLatest.
- Updated logic to handle automatic updates when the CLI tool is already installed.
- Modified related UI components to reflect the new auto-update option.
- Added corresponding translations for the new feature in multiple languages.
* feat(CodeToolsService): enhance CLI tool launch with debugging support
- Added detailed logging for CLI tool launch process, including environment variables and options.
- Implemented a temporary batch file for Windows to facilitate debugging and command execution.
- Improved error handling and cleanup for the temporary batch file after execution.
- Updated terminal command handling to use the new batch file for safer execution.
* refactor(CodeToolsService): simplify command execution output
- Removed display of environment variable settings during command execution in the CLI tool.
- Updated comments for clarity on the command execution process.
* feat(CodePage): add model filtering logic for provider selection
- Introduced a modelPredicate function to filter out embedding, rerank, and text-to-image models from the available providers.
- Updated the ModelSelector component to utilize the new predicate for improved model selection experience.
* refactor(CodeToolsService): improve logging and cleanup for CLI tool execution
- Updated logging to display only the keys of environment variables during CLI tool launch for better clarity.
- Introduced a variable to store the path of the temporary batch file for Windows.
- Enhanced cleanup logic to remove the temporary batch file after execution, improving resource management.
* feat(Router): replace CodePage with CodeToolsPage and add new page for code tools
- Updated Router to import and route to the new CodeToolsPage instead of the old CodePage.
- Introduced CodeToolsPage component, which provides a user interface for selecting CLI tools and models, managing directories, and launching code tools with enhanced functionality.
* refactor(CodeToolsService): improve temporary file management and cleanup
- Removed unused variable for Windows batch file path.
- Added a cleanup task to delete the temporary batch file after 10 seconds to enhance resource management.
- Updated logging to ensure clarity during the execution of CLI tools.
* refactor(CodeToolsService): streamline environment variable handling for CLI tool execution
- Introduced a utility function to remove proxy-related environment variables before launching terminal processes.
- Updated logging to display only the relevant environment variable keys, enhancing clarity during execution.
* refactor(MCPService, CodeToolsService): unify proxy environment variable handling
- Replaced custom proxy removal logic with a shared utility function `removeEnvProxy` to streamline environment variable management across services.
- Updated logging to reflect changes in environment variable handling during CLI tool execution.
2025-08-12 11:54:38 +08:00
beyondkmp
5771d0c9e8
refactor: file path improve ( #8990 )
...
* refactor(FileManager): streamline file path handling in FilesPage and ImageBlock components
* refactor(file): implement getSafeFilePath utility for consistent file path handling across loaders and preprocessors
* refactor(FileStorage): replace getSafeFilePath with fileStorage.getFilePathById for consistent file path retrieval across services
* refactor(file): unify file path retrieval across loaders and preprocessors for improved consistency
* refactor(Inputbar, MessageEditor): replace getFileExtension with file.ext for improved file type handling
* refactor(FileStorage): simplify getFilePathById method by removing redundant checks for file path retrieval
* fix(FileStorage): update getFilePathById to ensure file.path is consistent with generated filePath
* refactor(FileStorage): simplify getFilePathById method by removing unnecessary file path consistency checks
* fix(FileStorage): update duplicate file check to use file.path for accurate detection
* fix(FileStorage): correct file path usage in uploadFile method for accurate duplicate detection
* fix(loader): update file path retrieval to use file.path for consistency across loaders
2025-08-11 16:35:46 +08:00
Phantom
d0cf3179a2
feat(translate): brand new translate feature ( #8513 )
...
* refactor(translate): 将翻译设置组件抽离为独立文件
* refactor(translate): 统一变量名translateHistory为translateHistories
* perf(translate): 翻译页面的输入处理性能优化
添加防抖函数来优化文本输入和键盘事件的处理,减少不必要的状态更新和翻译请求
* refactor(translate): 将输入区域组件抽离为独立文件
重构翻译页面,将输入区域相关逻辑和UI抽离到单独的InputArea组件中
优化代码结构,提高可维护性
buggy: waiting for merge
* revert: 恢复main的translate page
* refactor(translate): 缓存源语言状态
* refactor(translate): 提取翻译设置组件
将翻译设置功能提取为独立组件,减少主页面代码复杂度
* build: 添加 react-transition-group 及其类型定义依赖
* refactor(translate): 将翻译历史组件拆分为独立文件并优化布局结构
* refactor(translate): 调整翻译页面布局和样式
统一操作栏的padding样式,将输入和输出区域的容器样式分离以提高可维护性
* feat(翻译): 添加语言交换功能
添加源语言与目标语言交换功能按钮
为AWS Bedrock添加i18n
* fix(自动翻译): 在翻译提示中添加去除前缀的说明
在翻译提示中添加说明,要求翻译时去除文本中的"[to be translated]"前缀
* feat(translate): 实现翻译历史列表的虚拟滚动以提高性能
添加虚拟列表组件并应用于翻译历史页面,优化长列表渲染性能
* refactor(translate): 移除未使用的InputArea组件
* feat(translate): 添加模型选择器到翻译页面并移除设置中的模型选择
将模型选择器从翻译设置移动到翻译页面主界面,优化模型选择流程
* style(translate): 为输出占位文本添加不可选中样式
* feat(翻译): 添加自定义语言支持
- 新增 CustomTranslateLanguage 类型定义
- 在数据库中增加 translate_languages 表和相关 CRUD 操作
- 实现自定义语言的添加、删除、更新和查询功能
* feat(翻译设置): 新增自定义语言管理和翻译模型配置功能
添加翻译设置页面,包含自定义语言表格、添加/编辑模态框、翻译模型选择和提示词配置
* feat(翻译设置): 实现自定义语言管理功能
添加自定义语言表格组件及模态框,支持增删改查操作
修复数据库字段命名不一致问题,将langcode改为langCode
新增内置语言代码列表用于校验
添加多语言支持及错误提示
* docs(TranslateService): 为自定义语言功能添加JSDoc注释
* feat(翻译): 添加获取所有翻译语言选项的功能
新增getTranslateOptions函数,用于合并内置翻译语言和自定义语言选项。当获取自定义语言失败时,自动回退到只返回内置语言选项。
* refactor(translate): 重构翻译功能代码,优化语言选项管理和类型定义
- 将翻译语言选项管理集中到useTranslate钩子中
- 修改LanguageCode类型为string以支持自定义语言
- 废弃旧的getLanguageByLangcode方法,提供新的实现
- 统一各组件对翻译语言选项的获取方式
- 优化类型定义,移除冗余类型TranslateLanguageVarious
* refactor(translate): 重构翻译相关组件,提取LanguageSelect为独立组件并优化代码结构
* fix(AssistantService): 添加对未知目标语言的错误处理
当目标语言未知时抛出错误并记录日志,防止后续处理异常
* refactor(TranslateSettings): 重命名并重构自定义语言设置组件
将 CustomLanguageTable 重命名为 CustomLanguageSettings 并重构其实现
增加对自定义语言的增删改查功能
调整加载状态的高度以适应新组件
* style(settings): 调整设置页面布局样式以改善显示效果
移除重复的高度和padding设置,统一在内容容器中设置高度
* refactor(translate): 重命名变量
将 builtinTranslateLanguageOptions 重命名为 builtinLanguages 以提高代码可读性
更新相关引用以保持一致性
* refactor(TranslateSettings): 使用useCallback优化删除函数以避免不必要的重渲染
* feat(翻译设置): 为自定义语言设置添加标签本地化
为自定义语言设置中的"Value"和"langCode"字段添加中文标签
* style(TranslateSettings): 为SettingGroup添加flex样式以改善布局
* style(TranslateSettings): 表格样式调整
* docs(技术文档): 添加translate_languages表的技术文档
添加translate_languages表的技术说明文档,包含表结构、字段定义及业务约束说明
* feat(翻译): 添加对不支持语言的错误处理并规范化语言代码
- 在翻译服务中添加对不支持语言的错误提示
- 将自定义语言的langCode统一转为小写
- 完善QwenMT模型的语言映射表
* docs(messageUtils): 标记废弃的函数
* feat(消息工具): 添加通过ID查找翻译块的功能并优化翻译错误处理
添加findTranslationBlocksById函数通过消息ID从状态中查询翻译块
在翻译失败时清理无效的翻译块并显示错误提示
* fix(ApiService): 修复翻译请求错误处理逻辑
捕获翻译请求中的错误并通过onError回调传递,避免静默失败
* fix(translate): 调整双向翻译语言显示的最小宽度
* fix(translate): 修复语言交换条件判断逻辑
添加对双向翻译的限制检查,防止在双向翻译模式下错误交换语言
* feat(i18n): 添加翻译功能的自定义语言支持
* refactor(store): 将 targetLanguage 类型从 string 改为 LanguageCode
* refactor(types): 将语言代码类型从字符串改为LanguageCode
* refactor: 统一使用@logger导入loggerService
将项目中从@renderer/services/LoggerService导入loggerService的引用改为从@logger导入,以统一日志服务的引用方式
* refactor(translate): 移除旧的VirtualList组件并替换为DynamicVirtualList
* refactor(translate): 移除未使用的useCallback导入
* refactor(useTranslate): 调整导入语句顺序以保持一致性
* fix(translate): 修复 useEffect 依赖项缺失问题
* refactor: 调整导入顺序
* refactor(i18n): 移除未使用的翻译字段并更新部分翻译内容
* fix(ApiService): 将completions方法替换为completionsForTrace以修复追踪问题
* refactor(TranslateSettings): 替换Spin组件为自定义加载图标
使用SvgSpinners180Ring替换antd的Spin组件以保持UI一致性
* refactor(TranslateSettings): 替换 HStack 为 Space 组件以优化布局
* style(TranslateSettings): 为删除按钮添加危险样式以提升视觉警示
* style(TranslateSettings): 移除表格容器中多余的justify-content属性
* fix(TranslateSettings): 添加默认emoji旗帜
* refactor(translate): 将语言映射函数移动到translate配置文件
将mapLanguageToQwenMTModel函数及相关映射表从utils模块移动到config/translate模块
* fix(translate): 修复couldTranslate语义错误
* docs(i18n): 更新日语翻译中的错误翻译
* refactor(translate): 将历史记录列表改为抽屉组件并优化样式
* fix(TranslateService): 修复添加自定义语言时缺少await的问题
* fix(TranslateService): 修复变量名错误,使用正确的langCode参数
在添加自定义语言时,错误地使用了value变量而非langCode参数,导致重复检查失效。修正为使用正确的参数名并更新相关错误信息。
* refactor(TranslateSettings): 使用函数式更新优化状态管理
* style(TranslatePromptSettings): 替换按钮为自定义样式组件
使用styled-components创建自定义ResetButton组件替换antd的Button
统一按钮样式与整体设计风格
* style(settings): 调整设置页面内边距从20px减少到10px
* refactor(translate): 类型重命名
将Language更名为TranslateLanguage
将LanguageCode更名为TranslateLanguageCode
* refactor(LanguageSelect): 提取默认语言渲染逻辑到独立函数
将重复的语言渲染逻辑提取为 defaultLanguageRenderer 函数,减少代码重复并提高可维护性
* refactor(TranslateSettings): 使用antd Form重构自定义语言模态框表单逻辑
重构自定义语言模态框,将原有的手动状态管理改为使用antd Form组件管理表单状态
表单验证逻辑整合到handleSubmit中,提高代码可维护性
修复emoji显示不同步的问题
* feat(翻译设置): 添加自定义语言表单的帮助文本和布局优化
为自定义语言表单的语言代码和语言名称字段添加帮助文本提示
重构表单布局,使用更合理的表单项排列方式
* refactor(TranslateSettings): 调整 CustomLanguageModal 中 EmojiPicker 的布局结构
* style(TranslateSettings): 调整自定义语言模态框按钮容器的内边距
* feat(翻译设置): 添加语言代码为空时的错误提示并优化表单验证
将表单验证逻辑从手动校验改为使用antd Form的rules属性
添加语言代码为空的错误提示信息
移除未使用的导入和日志代码
* feat(翻译设置): 改进自定义语言表单验证和错误处理
- 添加语言已存在的错误提示信息
- 使用国际化文本替换硬编码错误信息
- 重构表单布局,移除不必要的样式组件
- 增加语言代码存在性验证
- 改进表单标签和帮助信息的显示方式
* fix(i18n): 修正语言代码占位符的大小写格式
* style(translate): 移除设置页面中多余的翻译图标
* refactor(translate): 移动 OperationBar 样式并调整 LanguageSelect 宽度
将 OperationBar 样式从独立文件移至 TranslatePage 组件内
为 LanguageSelect 添加最小宽度并移除硬编码宽度
* refactor(设置页): 替换LanguageSelect为Selector组件以统一样式
* feat(翻译): 重构翻译功能并添加历史记录管理
将翻译相关逻辑从useTranslate钩子移动到TranslatePage组件
添加翻译历史记录的保存、删除和清空功能
在输入框底部显示预估token数量
* refactor(translate): 重构翻译页面代码结构并添加注释
将相关hooks和状态分组整理,添加清晰的注释说明各功能块作用
优化代码可读性和维护性
* refactor(TranslateService): 移除store依赖并优化错误处理
- 移除对store的依赖,直接使用getDefaultTranslateAssistant获取翻译助手
- 将翻译失败的错误消息从'failed'改为更明确的'empty'
* feat(翻译): 优化翻译服务错误处理和错误信息展示
重构翻译服务逻辑,将错误处理和模型检查移至统一入口。添加翻译结果为空时的错误提示,并改进错误信息展示,包含具体错误原因。同时简化翻译页面调用逻辑,使用统一的翻译服务接口。
* style(translate): 为token计数添加右侧内边距以改善视觉间距
* refactor(translate): 移除useTranslate中未使用的状态并优化组件结构
将translatedContent和translating状态从useTranslate钩子中移除,改为在TranslatePage组件中直接使用redux状态
简化useTranslate的文档注释,仅保留核心功能描述
* refactor(LanguageSelect): 提取剩余props避免重复传递
避免将extraOptionsAfter等已解构的props再次传递给Select组件
* docs(i18n): 更新多语言翻译文件,添加缺失的翻译字段
* refactor(translate): 将历史记录操作移至TranslateService
* style(LanguageSelect): 移除多余的 Space.Compact 包装
* fix(TranslateSettings): 修复编辑自定义语言时重复校验语言代码的问题
* refactor(translate): 调整翻译页面布局结构,优化操作栏样式
将输入输出区域整合为统一容器,调整操作栏宽度和间距
移动设置和历史按钮到输出操作栏,简化布局结构
* style(translate): 调整操作栏样式间距
* refactor(窗口): 将窗口最小尺寸常量提取到共享配置中
将硬编码的窗口最小宽度和高度值替换为从共享配置导入的常量,提高代码可维护性
* refactor(translate): 重构翻译页面操作栏布局
将操作栏从三个独立部分改为网格布局,使用InnerOperationBar组件统一样式
移除冗余的operationBarWidth变量,简化样式代码
* refactor(translate): 替换自定义复制按钮为原生按钮组件
移除自定义的CopyButton组件,直接使用Ant Design的原生Button组件来实现复制功能,保持UI一致性并减少冗余代码
* refactor(translate): 重构翻译页面操作栏布局
将操作按钮从左侧移动到右侧,并移除不必要的HStack组件
调整翻译按钮位置并保留其工具提示功能
* fix(translate): 修复语言选择器宽度不一致问题
为源语言和目标语言选择器添加统一的宽度样式,保持UI一致性
* feat(窗口): 添加获取窗口尺寸和监听窗口大小变化的功能
添加 Windows_GetSize IPC 通道用于获取窗口当前尺寸
添加 Windows_Resize IPC 通道用于监听窗口大小变化
新增 useWindowSize hook 方便在渲染进程中使用窗口尺寸
* feat(窗口大小): 优化窗口大小变化处理并添加响应式布局
使用debounce优化窗口大小变化的处理,避免频繁触发更新
为翻译页面添加响应式布局,根据窗口宽度和导航栏位置动态调整模型选择器宽度
* feat(WindowService): 添加窗口最大化/还原时的尺寸变化事件
在窗口最大化或还原时发送尺寸变化事件,以便界面可以响应这些状态变化
* refactor(hooks): 将窗口大小变化的日志级别从debug改为silly
* feat(翻译配置): 添加对粤语的语言代码支持
为翻译配置添加对'zh-yue'语言代码的处理,返回对应的'Cantonese'值
* fix(TranslateSettings): 修复自定义语言模态框中语言代码重复校验问题
当编辑已存在的自定义语言时,如果输入的语言代码已存在且与原代码不同,则抛出错误提示
* fix: 修复拼写错误,将"Unkonwn"改为"Unknown"
* fix(useTranslate): 添加加载状态检查防止未加载时返回错误数据
当翻译语言尚未加载完成时,返回UNKNOWN而非尝试查找语言
* feat(组件): 添加模型选择按钮组件用于选择模型
* refactor(translate): 重构翻译页面模型选择器和按钮布局
简化模型选择逻辑,移除未使用的代码和复杂样式计算
将ModelSelector替换为ModelSelectButton组件
将TranslateButton提取为独立组件
* refactor(hooks): 重命名并完善窗口尺寸钩子函数
将 useWindow.ts 重命名为 useWindowSize.ts 并添加详细注释
* docs(i18n): 修正语言代码标签的大小写
* style(TranslateSettings): 调整自定义语言模态框中表单标签的宽度
* fix(CustomLanguageModal): disable mask closing for the custom language modal
* style: 调整组件间距和图标大小
优化 TranslatePage 内容容器的内边距和间距,并增大 ModelSelectButton 的图标尺寸
* style(translate): 调整翻译历史列表项高度和样式结构
重构翻译历史列表项的样式结构,将高度从120px增加到140px,并拆分样式组件以提高可维护性
* fix(translate): 点击翻译历史item后关闭drawer
---------
Co-authored-by: suyao <sy20010504@gmail.com>
2025-08-11 13:33:31 +08:00
fullex
f005afb71c
fix(SelectionService): check screen edge to prevent toolbar overlay selection ( #8972 )
...
feat(SelectionService): add toolbar boundary checks to prevent overflow on screen edges
2025-08-09 10:22:31 +08:00
beyondkmp
d44fa1775c
refactor(ProxyManager): don't filter proxy in system proxy ( #8919 )
...
refactor(ProxyManager): streamline proxy configuration and bypass rules handling
- Simplified proxy configuration logic in registerIpc by directly assigning bypass rules.
- Removed redundant bypass rules assignment in ProxyManager, initializing it as an empty array.
- Updated GeneralSettings to conditionally render based on custom proxy mode only.
2025-08-07 15:18:53 +08:00