Skip to content

[P1] 移动端链路接通包:推送/深链/登录/生命周期(前端审计第二轮) #1824

Description

@DeliciousBuding

背景

前端审计第二轮(2026-08-21,10 视角并行研究)发现一批交互可靠性问题:操作失败被静默吞掉、错误坍缩为假空态、成排死控件。与第一轮 #1816-#1820 不重叠,聚合追踪。

所属部分

  • 前端
  • 后端
  • 客户端

要做什么

  • Composer 发送失败丢内容:ConversationHost.tsx resetAfterSubmit 在请求前清空 text/mentions/attachments,catch 不回滚;submitState='error' 无渲染消费 → 失败回灌内容 + 重试入口
  • 附件上传失败静默吞 + 无 failed 相:ConversationHost.tsx catch 只删进度条目,无附件引用的文件被静默丢弃;AttachmentUploadState 只有 hashing/uploading/done → 补失败态与重试;composer/upload.ts:50 有真实 XHR 进度实现但零引用,接线
  • 审批决策失败静默且成功 toast 先于请求:workbenchTranscriptChromeActionMappers.ts fire-and-forget → 乐观更新 + 失败回滚 + 错误提示
  • Web 消息操作失败全部 .catch(() => {})app/web/src/App.tsx pin/unpin/forward/recall/reaction/regenerate/cancel,成功 toast 却乐观先行 → 失败可见 + 状态恢复
  • Desktop Agents 页 error = 永久 skeleton:app/desktop/src/App.tsx loading = data === undefined 且 retry 不 refetch → 对齐 Web 版 RecoveryPanel + 真 refetch
  • 文档页 error = 永久 skeleton:useWorkbenchDocsRoute.ts + DocTableViews.tsx 无 error 分支 → 补 error + retry
  • 联系人 error 坍缩为假空态:hubDataMapping.ts undefined→空 members;好友请求数据被丢弃从不渲染 → 三态分离
  • Skill/MCP 市场 error prop 死链:AgentMarketParts.tsx 接受 error prop 但两个 App 都不传 → 接线
  • Web 切会话闪现旧消息:messages placeholderDataisPlaceholderData 守卫(webWorkbenchTranscript.ts
  • Desktop 切会话误导性「暂无消息」:itemsLoading 计算了但无 UI 消费
  • 置顶公告横幅不可关闭:ChatViewBridge.tsx onDismiss: undefined;多条置顶只显示 pins[0]
  • 侧边栏内联重命名 onBlur 丢弃输入:ConversationSidebar.tsx:433
  • WorkspaceHeader.tsx 整排死控件:消息/云文档/新频道 tab + 新任务/待确认/会话设置按钮全无 onClick → 接线或下线
  • ChatEngineeringColumn.tsx 「会话」tab 永久静态占位
  • AddContactModal.tsx 二维码硬编码「有效期至 2026年7月18日」已过期 → 动态计算或下线

验收标准

  • 所有操作失败有用户可见反馈,无假成功
  • 错误不再坍缩为空态;空态与加载态可区分
  • 相关包 typecheck/test 通过;新行为带测试

相关文档

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High priorityjavascriptPull requests that update javascript code客户端Desktop、Runner、Edge 本地调度和 Agent CLI

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions