Skip to content

Conversation

@hllshiro
Copy link
Owner

@hllshiro hllshiro commented Sep 1, 2025

No description provided.

zerob13 and others added 30 commits August 25, 2025 16:09
…timeout issue (ThinkInAIXYZ#771)

- Remove v-if condition limiting test button to custom engines only
- Allow testing of built-in engines (Google, Baidu, Bing, etc.) in browser window
- Users can now complete CAPTCHA verification with unlimited time
- Add UI documentation guidelines for ASCII layout diagrams in CLAUDE.md

Fixes search failures caused by CAPTCHA verification timeouts by providing
persistent browser windows for manual interaction.
* feat: add rebrand config

* feat: enhance rebrand script with comprehensive i18n support

- Add support for welcome page title and setup description customization
- Extend updateI18nFiles() to handle both about.json and welcome.json files
- Add updateAllI18nDeepChatReferences() function to replace DeepChat references in:
  - mcp.json (MCP service descriptions)
  - settings.json (UI text and descriptions)
  - update.json (update notifications)
  - index.ts (search disclaimer)
- Make brand assets (icons/logos) completely optional with friendly info messages
- Support all 9 languages: en-US, zh-CN, zh-TW, zh-HK, ja-JP, ko-KR, ru-RU, fr-FR, fa-IR
- Improve error handling and user feedback

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: enhance rebranding system with comprehensive i18n and HTML title support

- Add HTML title replacement functionality for all renderer HTML files
- Update shell page title to maintain "App Name - Shell" format
- Preserve floating button functional title unchanged
- Integrate HTML title updates into main rebrand workflow
- Add proper error handling and success feedback

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
* docs: reorganize and consolidate IPC architecture documentation

- Remove 7 outdated/duplicate IPC documents that caused confusion
- Create comprehensive IPC architecture guide (ipc-architecture-complete.md)
- Update EventBus usage guide with best practices and optimization examples
- Add specific optimization recommendations based on codebase analysis
- Eliminate documentation inconsistencies and provide accurate current state

🤖 Generated with [Claude Code](https://claude.ai/code)

* docs: consolidate and reorganize documentation structure

- Remove 17 fragmented documentation files covering MCP, knowledge systems, and implementation details
- Create 3 comprehensive consolidated documents:
  - knowledge-presenter-complete.md: Complete knowledge management system documentation
  - mcp-architecture.md: Unified MCP system architecture and implementation
  - tool-calling-system.md: Comprehensive tool calling and MCP integration guide
- Improve documentation discoverability and reduce maintenance overhead

* docs: complete documentation cleanup

- Delete outdated multi-window-architecture.md (feature already implemented)
- Delete outdated performance_analysis_report.md (issues resolved)
- Fix broken reference in developer-guide.md
…ing (ThinkInAIXYZ#792)

* feat: optimize image markdown streaming performance with smart buffering

* feat: optimize markdown streaming performance
…more context and provide more accurate responses (ThinkInAIXYZ#797)

* fix: typo in minimaxProvider

* docs: update Supported Model Providers

* feat: add webContentLengthLimit

* docs: added webContentLengthLimit description

* fix: webContentLengthLimit setting not persisting properly

* chore: format code

---------

Co-authored-by: zerob13 <zerob13@gmail.com>
* feat: add TokenFlux.ai provider support

Add comprehensive TokenFlux.ai integration with OpenAI-compatible API support:
- Implement TokenFluxProvider extending OpenAICompatibleProvider
- Add provider configuration with official endpoints and documentation links
- Support dynamic model fetching with TokenFlux-specific format parsing
- Include vision and function calling capability detection from API response
- Add TokenFlux icon integration in ModelIcon component
- Enable seamless UI integration with existing provider settings

Resolves ThinkInAIXYZ#613

* fix: lint
…refactor MessageBlockContent if branch (ThinkInAIXYZ#808)

* refactor(MessageBlockContent): if branch

* fix: escape brackets in Markdown content to prevent parsing issues

* chore: format
* fix: close tab when close window

* fix: Fix mutation-while-iterating and fire-and-forget promises in closeTabs.
neoragex2002 and others added 18 commits August 28, 2025 21:51
* fix: markdown rendering of <a> fixed

* fix: refine Gemini reasoning content and <think> tag parsing again

* chore: reorganize all Gemini model configs

* chore: Prettier something...

* chore: cleanups suggested by coderabbit

* chore: suggestions by coderabbits

* chore: suggestions by coderabbit

* fix: fix the bug in directory_tree that requires write permission

* fix: adjust the covering order of gemini model-configs
…es (ThinkInAIXYZ#803)

* feat: Implement splash screen with loading state and progress updates

- Added preload script to expose Electron APIs to the renderer.
- Created a new HTML structure for the splash screen.
- Developed a Vue component for loading animation and progress display.
- Integrated progress updates from the main process to the splash screen.
- Implemented database initialization and error handling in lifecycle hooks.
- Added unit tests for lifecycle management, error handling, and splash window management.

* perf: optimize Presenter initialization logic

* perf: streamlined design

* refactor(llmProvider): 替换 ConfigPresenter 类型为接口 IConfigPresenter

- 将所有 provider 及 presenter 中 ConfigPresenter 类型替换为接口 IConfigPresenter
- 去除多余的 ConfigPresenter 导入,统一使用共享接口定义
- 保持构造函数参数及成员变量类型一致,增强依赖注入灵活性
- 更新相关模块导入声明,确保类型引用正确
- 改进代码解耦,提高模块间接口兼容性及维护性

* refactor(presenter): 使用接口替代具体实现简化初始化逻辑

- 移除 eventBus 的数据库就绪监听,改为直接在生命周期启动后初始化 Presenter
- Presenter 构造函数移除数据库参数,改用生命周期管理器提供上下文获取相关实例
- Presenter 内部成员均替换为对应接口类型,提升抽象层次和可维护性
- 修改FloatingButtonPresenter、ShortcutPresenter构造函数,依赖改为接口类型的 configPresenter
- presenter.getInstance 方法及调用调整为只接收生命周期管理器参数
- presenter.d.ts 中丰富接口定义,新增方法和属性,完善类型声明
- lifecycleManager 生命周期钩子注册接口简化,去除阶段参数,统一管理钩子标识
- 移除部分过时的数据库初始化和依赖管理代码,简化启动流程

* refactor(lifecycle): 优化生命周期管理和核心钩子注册逻辑

- 删除 DatabaseInitializer 中不必要的事件触发,简化数据库初始化过程
- LifecycleManager 中移除生命周期钩子注册的 phase 参数,强化钩子管理一致性
- 修改 LifecycleManager 的 unregisterHook 方法,提高钩子注销的灵活性和健壮性
- 在生命周期 READY 阶段之后初始化 presenter,并保证事件发送到渲染进程的时机正确
- 将核心钩子统一通过遍历方式注册,简化 registerCoreHooks 函数实现
- 各初始化钩子添加 LifecyclePhase 阶段和优先级标识,实现更明确的生命周期管理
- configInitHook 中改用 ConfigPresenter 实例代替全局 presenter,确保配置初始化正确独立
- 新增 splashHook 实现启动界面等待时间,可通过环境变量配置等待时长
- 各钩子统一引入并声明所属阶段,增强代码规范和阶段控制能力
- 在 .env.example 中新增 VITE_APP_SPLASH_TIMEOUT 配置项,支持启动屏幕自定义等待时间

* fix(lifecycle): 修复启动页加载时延时判断逻辑

- 引入 is 工具判断开发环境
- 在非开发环境中将加载页延时设为 0
- 避免生产环境被无意中阻塞启动流程
- 保持开发环境配置的启动页延时生效

* refactor(test): adjust import paths for lifecycle tests

* refactor(lifecycle): 优化生命周期管理模块的事件通知和日志输出

- 新增HOOK_COMPUTED生命周期事件以区分钩子执行完成与计算完成
- 统一生命周期事件发送方法为notifyMessage,简化事件广播逻辑
- 删除冗余的eventBus.sendToMain和sendToRenderer调用,改用notifyMessage
- 移除splashHook生命周期钩子及相关测试,简化启动流程
- SplashWindowManager中progress更新事件改用统一事件数据结构和发送方式
- 钩子执行时增加延迟配置支持,优化开发环境下日志输出顺序
- 增强生命周期事件监听器,对各事件类型分别输出详细日志信息
- 删除无用的updateMessage方法及其调用,清理相关类型定义
- 移除主线程中冗余的import和测试文件,降低依赖复杂度

* feat(docs): add lifecycle documentation and update existing docs

* fix(splash): fix index.html resource loading

* fix: reverting accidental edits

* fix: reverting accidental edits

* perf: Harden BrowserWindow security

* fix: Self-import causes redeclaration

* docs: Clarify the hook registration process

* fix: Rename HOOK_COMPUTED to HOOK_COMPLETED across the codebase

* fix: Fix switch fallthrough and satisfy linter

* refactor(lifecycle): 重构生命周期管理逻辑,简化错误处理和事件通知

- 删除冗余的 LifecycleErrorHandler,实现错误处理内嵌在 LifecycleManager 中
- 新增生命周期钩子失败事件 HOOK_FAILED,丰富事件类型定义
- 优化生命周期阶段事件通知,简化事件数据结构
- 改进钩子执行逻辑,区分关键钩子和非关键钩子错误处理
- 启用钩子执行开始和完成的事件通知,增加失败事件通知和日志打印
- 移除 SplashWindowManager 中的无效阶段消息,调整启动和关闭流程事件
- 修改启动失败时通过对话框提示错误并允许退出应用
- 简化应用关闭流程,合并钩子失败日志和错误事件处理
- 移除旧有未使用的接口和方法,提升代码整洁性和可维护性
- 将 presenterInitHook 和 windowCreationHook 标记为关键钩子保证执行稳定

* refactor(lifecycle): simplify app shutdown logic and remove lifecycle hooks

- 修改主进程入口,替换 lifecycle 导入路径至 presenter 目录
- 调整hooks目录结构,分类存放
- 简化 window-all-closed 事件处理,保留应用关闭逻辑以应对意外情况
- 将多个关闭前事件迁移到hook

* refactor(main): 优化应用退出逻辑及相关状态管理

- 为 app.quit() 添加注释,明确退出触发原因
- 在生命周期管理器中新增强制退出事件监听,以支持更新时强制退出
- WindowPresenter 中移除重复退出事件监听,改为管理退出状态标志
- 增加 WindowPresenter 的退出状态设置方法和悬浮聊天窗相关接口声明

* fix: Replace  ConfigPresenter Instance with IConfigPresenter type

* perf: propagate critical hook error

* fix: wrong comments

* perf: remove unused event in splash progress update

* perf: remove unused fn

* docs: update doc

* fix: add ignored windowQuittingHook

---------

Co-authored-by: zerob13 <zerob13@gmail.com>
…hinkInAIXYZ#811)

* perf: parallelize lifecycle hooks execution for faster app shutdown

* fix: lint warning
ThinkInAIXYZ#813)

* fix: resolve race condition in floating button drag-and-drop detection

* fix: resolve bug with small window overlapping button and right-click popup
* perf: optimizing the lifecycle executor pipeline

* perf: remove used preload script
@hllshiro hllshiro merged commit 81f82af into main Sep 1, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants