Skip to content

fix(frontend): 论文探索三件套错误处理/取消/空态/竞态修复 - #38

Merged
Color2333 merged 1 commit into
mainfrom
fix/audit-pr2-frontend
Jul 17, 2026
Merged

Color2333 merged 1 commit into
mainfrom
fix/audit-pr2-frontend

Conversation

@Color2333

Copy link
Copy Markdown
Owner

PR2 — 论文探索三件套前端

OverviewPanel

  • onNodeClick 用 react-router navigate 替代 window.location 整页刷新
  • 6 子请求独立 catch + 失败计数 toast,区分无数据 vs 加载失败(外层 catch 是死代码)
  • cluster_map 空 clusters 时透出后端 message(如'论文数量不足'),不再整块消失

CitationPanel

  • startImport 加并发锁(pollRef 已存在则 return)防定时器泄漏 + 双重轮询 P0
  • 导入轮询 catch 清状态 + 关弹窗 + toast,修 done 永假、关闭按钮不出现的卡死 P0
  • 论文搜索 catch 加 toast(此前仅清空下拉)
  • handleQuery 改 Promise.allSettled,detail 成功但 tree 失败仍展示 detail
  • 进度文案区分'等待任务创建'/'准备中'/'导入完成'/'导入失败'

InsightPanel

  • 删除未使用 import HelpCircle/ArrowRight
  • 4 个单项刷新加 try/catch + toast(此前静默吞错)
  • runInsight 加请求序号,快速切换关键词时丢弃旧响应防结果错位

PaperDetail

  • skim/deep 取消加 toast'已取消(后台可能仍在处理)'
  • figure/reasoning/embed PipelineProgress 加 onCancel(停 UI + toast,后端无 cancel 端点)
  • 相似论文 fallback 用'点击查看详情'替代 UUID 当标题
  • 加 if (!id) return null 收窄类型,paperId={id!} 改 paperId(消除非空断言)

Dashboard

  • 删除未使用 import Badge/AlertTriangle/CheckCircle2/Clock/TrendingUp
  • costDays 切换改局部 costLoading,Token 卡片单独 loading,不再整页白屏闪烁
  • 推荐不感兴趣 catch 加 toast(此前静默失败)

验证

  • typecheck + build 通过;与 PR1/PR3/PR4 合并零冲突

依赖

  • PR1(rejected 过滤生效)

PR2 — 论文探索三件套前端

OverviewPanel:
- onNodeClick 用 react-router navigate 替代 window.location 整页刷新
- 6 子请求独立 catch + 失败计数 toast,区分无数据 vs 加载失败(外层 catch 是死代码)
- cluster_map 空 clusters 时透出后端 message(如'论文数量不足'),不再整块消失

CitationPanel:
- startImport 加并发锁(pollRef 已存在则 return)防定时器泄漏 + 双重轮询
- 导入轮询 catch 清状态 + 关弹窗 + toast,修 done 永假、关闭按钮不出现的卡死
- 轮询结束 clearInterval 后置 pollRef=undefined
- 论文搜索 catch 加 toast(此前仅清空下拉)
- handleQuery 改 Promise.allSettled,detail 成功但 tree 失败仍展示 detail
- 进度文案区分'等待任务创建'/'准备中'/'导入完成'/'导入失败'

InsightPanel:
- 删除未使用 import HelpCircle/ArrowRight
- 4 个单项刷新加 try/catch + toast(此前静默吞错)
- runInsight 加请求序号,快速切换关键词时丢弃旧响应防结果错位
- 外层死 catch 改为分项失败计数 toast

PaperDetail:
- skim/deep 取消加 toast'已取消(后台可能仍在处理)'
- figure/reasoning/embed PipelineProgress 加 onCancel(停 UI + toast,后端无 cancel 端点)
- 相似论文 fallback 用'点击查看详情'替代 UUID 当标题
- 加 if (!id) return null 收窄类型,paperId={id!} 改 paperId(消除非空断言)

Dashboard:
- 删除未使用 import Badge/AlertTriangle/CheckCircle2/Clock/TrendingUp
- costDays 切换改局部 costLoading,Token 卡片单独 loading,不再整页白屏闪烁
- 推荐不感兴趣 catch 加 toast(此前静默失败)
@github-actions

Copy link
Copy Markdown

🔍 OpenCode PR Review Required

这是一个受保护的分支,merge 前需要进行 code review。

请运行以下命令进行 OpenCode review:

/oc review https://github.com/Color2333/PaperMind/pull/$PR_NUM

或者在 PR 页面评论 /oc 来触发 OpenCode review。


This is an automated reminder from PR Review Gate.

@Color2333
Color2333 merged commit 9572fc4 into main Jul 17, 2026
2 checks passed
@Color2333
Color2333 deleted the fix/audit-pr2-frontend branch July 17, 2026 13:57
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