Fix/context pipeline reentrancy#84
Merged
littleCareless merged 19 commits intodevelopfrom Feb 13, 2026
Merged
Conversation
- 【storage】将存储键字符串替换为常量引用,避免魔法字符串 - 【webview】重构提供商获取逻辑,从配置中心动态读取定义 - 【style】统一代码格式,修正方法参数尾随逗号
-【ModelEditDialog】引入 isSaving 状态追踪异步保存操作 -【ModelEditDialog】将保存逻辑封装在 try/finally 块确保状态正确重置 -【ModelForm】重构为受控组件模式,使用 form.watch 和 form.setValue -【ModelForm】实现自定义 handleFormSubmit 处理验证和提流程 -【ModelForm】将根元素从 form 替换为 div 支持完全受控逻辑 -【Dialog】集成 open 状态变化逻辑,自动传递关闭处理函数 -【Dialog】修复遮罩层点击事件冒泡问题 -【Dialog】为关闭按钮添加 type="button" 防止意外表单提交
- 简化useEffect中的初始化逻辑 - 移除SessionManager.ensureInitialized的依赖 - 直接调用loadData()方法获取配置文件
- 将 webview 视图提供者和服务逻辑迁移至 services/webview 模块 - 重构 SettingsViewProvider,添加首次安装检测和唯一集合名称生成 - 重构 WeeklyReportPanel,改进握手消息处理和资源路径配置 - 新增 services/webview/providers/weekly-report-view-provider 统一管理 Webview 内容 - 更新导入路径,使用 @/ 路径别名替代相对路径 - 移除 src/webview 中的旧实现和冗余处理器 - 简化 README 文档,聚焦核心层职责定义 - 优化代码格式并统一尾随逗号风格 - 修正拼写错误:provider -> provider - 规范模块导出,新增 webview/index.ts 统一导出接口 - 扩展消息处理器功能,支持 extension context 传递
- 添加 weeklyReport 路由配置,路径为 "/weekly-report" - 注册 WeeklyReportPage 组件并配置独立布局 - 修正翻译命名空间为 weekly-report-page - 优化组件属性代码格式
- 将 SettingsViewProvider 导入路径从 `@/services/webview` 迁移至 `@/webview` - 将 WeeklyReportPanel 导入路径从 `@/services/webview` 迁移至 `@/webview` - 【Refactor】统一模块引用,适应新的 Webview 架构目录结构
- 移除不再使用的 SessionManager 导入 - 统一代码格式,将组件属性展开为多行
- 【Refactor】为 `validateFieldValue` 添加可选 `t` 参数,解耦全局 i18n 依赖 - 【Fix】优化 `ProviderConfigForm` 重置逻辑,避免内部更新触发不必要的数据重置 - 【UI】修正 `SetupWizard` 配置确认步骤显示,优化导航组件视觉样式 - 【Style】统一多文件导入顺序及代码格式,清理未使用代码
- 将提示词管理逻辑从 FeaturesSettingsManager 迁移至新的 ActivePromptStore 类 - 新增 ActivePromptStore 类,集中管理活动提示词的存储、获取和持久化 - 简化 FeaturesSettingsManager,移除所有提示词相关字段和方法 - 更新 FeaturesMessageHandler,使用 ActivePromptStore 处理提示词相关操作 - 实现全局和工作区级别的提示词配置,支持项目配置文件读写 - 添加旧版本配置迁移逻辑,确保数据结构纯净和向后兼容
- 引入 ImprovedPathUtils 进行路径标准化处理,确保路径一致性 - 添加 providerCache 缓存已创建的 GitProvider 实例,避免重复创建 - 实现 ensureDefaultProvider 和 ensureRepositoryManager 方法,优化初始化逻辑 - 将 init 方法重构为支持强制重新加载的 ensureDefaultProvider - 在 switchToRepository 和 selectAndSwitchRepository 中使用缓存机制 - 在 getProviderForFiles 中通过 repositoryManager 获取仓库信息并使用缓存 - 所有方法现在都通过 ensureDefaultProvider 获取默认提供者,确保状态一致性 - 从 `file-type-utils.ts` 导入 `SKIPPED_DIFF_PLACEHOLDER_SENTINEL` 常量,用于标记跳过的差异块 - 新增 `buildSkippedDiffBlock` 私有方法,用于生成标准化的跳过差异块格式,包含 diff 头部信息和占位符行 - 在 `getDiff` 方法中,当遇到需要跳过的文件时,调用新方法替代原有的简单字符串拼接,确保输出格式与 `DiffProcessor` 的解析逻辑兼容 - 新增 `buildSkippedDiffBlock` 方法,统一生成跳过差异文件的差异块格式 - 引入 `SKIPPED_DIFF_PLACEHOLDER_SENTINEL` 常量作为占位符标记,确保输出格式的一致性 - 优化了跳过差异文件的差异块结构,使其更符合标准diff格式,便于后续解析和处理 - 为 Git 和 SVN diff 处理引入占位符支持,当 diff 内容被跳过时,将其标记为非代码文件,以避免在生成提交信息时处理这些无效内容 - 为 diff 处理流程引入占位符标记,以便在跳过文件 diff 生成时,下游处理器能够可靠地识别这些占位内容
- 新增 `FeaturesSettingsManager` 和 `ActivePromptStore` 的导入 - 在 `ProfileManagerService` 初始化后预加载功能设置和活动提示词状态,确保遗留数据迁移在启动时完成 - 移除了已弃用的 `ConfigurationManager` 相关注释 - 在 `AbstractAIProvider` 的 `setGlobalConfig` 方法中增加偏好设置的自动加载逻辑,确保配置同步更新
- 新增 Models.dev 类型定义、数据获取器、调度器和集成模块 - 实现 ModelsDevFetcher 单例类,提供数据拉取、缓存管理和查询功能 - 创建 ModelsDevScheduler 定时更新调度器,支持配置自动更新间隔 - 开发 ModelsDevIntegration 集成模块,提供模型规格转换和筛选功能 - 添加详细集成文档和使用示例,帮助开发者快速理解和集成 -【功能增强】扩展模型注册表系统,支持从 Models.dev 获取最新 AI 模型信息 -【数据集成】构建完整的 Models.dev 数据集成方案,增强模型信息获取和验证能力
- 新增 `AdvancedSettingsRuntime` 单例类,统一管理AI请求的速率限制、超时重试、失败计数和日志级别动态调整 - 在 `AbstractAIProvider` 中集成运行时控制,通过 `executeWithControls` 方法统一处理超时、重试和最大token数解析 - 重构 `PreferencesSettingsManager`,将配置类型和默认值提取到共享类型定义,优化设置加载和克隆逻辑 - 为日志系统添加动态日志级别过滤功能,支持根据运行时设置调整输出级别 -【Breaking Change】AI请求控制机制变更,所有AI提供商需适配新的运行时控制层 -【Migration】需更新AI提供商实现以使用 `executeWithControls` 方法
- 重构导航项样式类名,引入更丰富的视觉层次和动画效果 - 添加焦点可见性样式,增强键盘导航的可访问性 - 调整图标容器尺寸和间距,优化视觉平衡 - 为激活状态添加更明显的阴影和位移效果,提升视觉反馈 - 重构导航项的内部结构,使用更语义化的HTML元素 - 为导航指示器添加平滑的过渡动画,增强状态变化的视觉表现 - 修复提示词管理中的状态同步和消息处理问题 - 引入 useRef 避免闭包陷阱,确保异步回调中访问最新状态值 - 优化初始数据加载逻辑,调整数据加载与消息监听器的初始化顺序 - 确保监听器在数据加载前就绪,防止消息丢失
- 新增 commitlint 和 commitlint-config-gitmoji 依赖,用于代码提交信息规范检查 - 更新 pnpm-lock.yaml 以包含新的依赖项解析信息 -【构建】将 commitlint 相关包添加到构建依赖白名单 -【工具】引入提交规范检查工具链,提升代码提交质量
- 优化 Models.dev 数据获取器的类型断言方式,使用 `as` 明确类型转换 - 增强文件类型判断工具的配置检查逻辑,避免访问未定义属性 - 清理 ProviderConfigForm 组件中未使用的冗余变量定义 -【重构】统一代码风格,提升整体可维护性和健壮性
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.