Skip to content

fix(frontend): 稳定开发任务对话框状态 & 增加api类型检查#425

Open
awesomeYG wants to merge 3 commits intochaitin:mainfrom
awesomeYG:fix-task-dialog
Open

fix(frontend): 稳定开发任务对话框状态 & 增加api类型检查#425
awesomeYG wants to merge 3 commits intochaitin:mainfrom
awesomeYG:fix-task-dialog

Conversation

@awesomeYG
Copy link

@awesomeYG awesomeYG commented Mar 18, 2026

变更描述

问题

  • 开发任务对话框在接口轮询刷新时,会把用户已输入的任务内容/已选择分支等状态重置,导致输入丢失、体验不稳定。
  • 文件选择器 / Playground 文件树渲染存在 key 不稳定或缺失问题,可能引发渲染异常或不必要重渲染;多个 manager 页面分组列表拉取逻辑重复,维护成本高。
  • 多处 apiRequest 调用参数顺序与重载不一致,且部分接口响应类型推断不准确(如 resp.dataproviderforward_id 等),引发 TypeScript 报错和类型不一致问题。

解决

  • StartDevelopTaskDialog:仅在对话框首次打开或项目 ID 真正变化时重置输入并设置默认模型;同一项目下接口刷新不再清空输入;分支选择仅在“当前选择已不存在”时回退到 main/master/首个分支,避免覆盖用户选择。
    frontend/src/components/console/project/start-develop-task-dialog.tsx
  • 渲染与复用优化:为文件树/节点遍历补齐稳定 key(使用 React.Fragment key=...)以提升渲染稳定性;统一各 manager 组件的分组列表获取逻辑,减少重复代码并提升一致性。
    frontend/src/components/console/files/file-picker-dialog.tsxfrontend/src/pages/playground-detail.tsxfrontend/src/components/manager/*
  • apiRequest 类型与调用对齐:默认保留 OpenAPI 生成的 data 类型;统一按 extrax(路径参数数组)在前、params 在后的调用顺序;收敛 provider/forward_id 等可选字段类型并补充必要防御性校验。
    frontend/src/utils/requestUtils.tsfrontend/src/components/console/*frontend/src/components/manager/*

变更类型

  • Bug修复(修复对话框状态被轮询覆盖、文件树渲染不稳定、apiRequest 类型/重载问题)
  • 代码重构(统一分组拉取逻辑、改善渲染实现、减少重复代码)

影响范围

  • Console / Project:启动开发任务对话框(分支选择、任务输入、默认模型设定)
  • Console / Files:文件选择器对话框树形渲染
  • Playground:详情页文件树渲染与数据拉取 effect
  • Manager:新增/编辑模型、镜像、主机等页面的分组列表拉取逻辑
  • Frontend 公共请求层apiRequest 类型推断与调用规范

@awesomeYG awesomeYG changed the title fix(start-develop-task-dialog): improve branch selection logic and ha… fix(start-develop-task-dialog): 避免轮询刷新重置输入,稳定分支/默认模型初始化 Mar 18, 2026
杨纲 added 2 commits March 19, 2026 14:26
@awesomeYG awesomeYG changed the title fix(start-develop-task-dialog): 避免轮询刷新重置输入,稳定分支/默认模型初始化 fix(frontend): 稳定开发任务对话框状态并统一请求类型与分组拉取逻辑 Mar 19, 2026
@awesomeYG awesomeYG changed the title fix(frontend): 稳定开发任务对话框状态并统一请求类型与分组拉取逻辑 fix(frontend): 稳定开发任务对话框状态 & 增加api类型检查 Mar 19, 2026
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.

1 participant