Skip to content

fix(frontend): 收集/简报/Wiki/列表错误处理与空态修复 - #39

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

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

Conversation

@Color2333

Copy link
Copy Markdown
Owner

PR3 — 收集/简报/Wiki/列表前端

Wiki P0

  • pollTask 删除无条件 setTimeout 双重调度(catch + 末尾各排一次),改为仅成功路径调度,修定时器累积+幽灵轮询
  • pollTask 加 5 分钟超时上限,超时 toast'研究超时,请稍后在历史记录查看'
  • 4 处空 catch(loadHistory/handleQuery/handleViewHistory/handleDeleteHistory)加 toast
  • handleDeleteHistory 失败回滚 history,UI 与后端一致

Statistics P0

  • 删除重复的'总引用数'卡片(复制粘贴 bug),改为'30天新增'独立指标
  • error 状态渲染错误卡片+重试按钮(此前 error 声明从未使用,失败显空)
  • topics 为空加'暂无主题,请先创建订阅'引导
  • text-muted-foreground 统一改 text-ink-tertiary(跟随主题)

Pipelines P0

  • loadRuns catch 加 toast + error 状态,失败显错误态而非'暂无运行记录'
  • 删除未使用 import Badge/CheckCircle2/XCircle/Clock/Activity
  • limit 加 200/500 档

CSFeeds P0

  • loadData/toggleCategory/handleFetch/updateLimit 全部加 try/catch + toast(此前多处无 catch)
  • globalLimit onChange 加 NaN 校验 + 1-200 钳制
  • categories 为空加'加载失败请重试/暂无分类'空态;feeds 为空加'暂无已订阅分类'引导

Collect

  • 多源搜索 onChange 加 300ms 防抖(此前每键请求 suggestChannels)
  • fetchMultiSuggestions catch 加 toast(此前静默)
  • 抓取轮询 catch 加 toast + 5 分钟超时兜底(此前静默空转到超时)
  • 轮询逻辑去重(此前两段 ok/no_new_papers 分支重复)

DailyBrief

  • 轮询加连续错误计数上限(10 次),防网络持续异常静默空转到 5min 超时
  • 删除未使用 import ChevronRight
  • (520 行内联 style 抽取列为后续,避免暗色模式回归)

Agent

  • handleSend/handleAbilityClick catch 加 toast(此前静默吞错)
  • (审计称 ability chip loading 仍可点击为误报,disabled={loading} 已存在)

Writing

  • handleCopy/handleCopyMsg 加 try/catch + toast(剪贴板非 HTTPS 会抛)
  • 历史 localStorage 持久化(此前仅内存,刷新即丢)
  • 复制按钮删死类 group-hover,保留有效的 [.space-y-2:hover_&]
  • 历史项 inputPreview 不足 60 字符不加省略号

验证

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

PR3 — 收集/简报/Wiki/列表前端

Wiki:
- pollTask 删除无条件 setTimeout 双重调度(catch + 末尾各排一次),改为仅成功路径调度,
  修定时器累积+幽灵轮询 P0
- pollTask 加 5 分钟超时上限,超时 toast'研究超时,请稍后在历史记录查看'
- 4 处空 catch(loadHistory/handleQuery/handleViewHistory/handleDeleteHistory)加 toast
- handleDeleteHistory 失败回滚 history,UI 与后端一致

Statistics:
- 删除重复的'总引用数'卡片(复制粘贴 bug),改为'30天新增'独立指标
- error 状态渲染错误卡片+重试按钮(此前 error 声明从未使用,失败显空)
- topics 为空加'暂无主题,请先创建订阅'引导
- text-muted-foreground 统一改 text-ink-tertiary(跟随主题)

Pipelines:
- loadRuns catch 加 toast + error 状态,失败显错误态而非'暂无运行记录' P0
- 删除未使用 import Badge/CheckCircle2/XCircle/Clock/Activity
- limit 加 200/500 档

CSFeeds:
- loadData/toggleCategory/handleFetch/updateLimit 全部加 try/catch + toast(此前多处无 catch P0)
- globalLimit onChange 加 NaN 校验 + 1-200 钳制
- categories 为空加'加载失败请重试/暂无分类'空态
- feeds 为空加'暂无已订阅分类'引导

Collect:
- 多源搜索 onChange 加 300ms 防抖(此前每键请求 suggestChannels)
- fetchMultiSuggestions catch 加 toast(此前静默)
- 抓取轮询 catch 加 toast + 5 分钟超时兜底(此前静默空转到超时)
- 轮询逻辑去重(此前两段 ok/no_new_papers 分支重复)
- 卸载清理 multiSuggestTimer

DailyBrief:
- 轮询加连续错误计数上限(10 次),防网络持续异常静默空转到 5min 超时
- 超时文案改'请稍后在历史记录查看结果'
- 删除未使用 import ChevronRight
- (520 行内联 style 抽取列为后续,避免暗色模式回归)

Agent:
- handleSend/handleAbilityClick catch 加 toast(此前静默吞错)
- (审计称 ability chip loading 仍可点击为误报,disabled={loading} 已存在)

Writing:
- handleCopy/handleCopyMsg 加 try/catch + toast(剪贴板非 HTTPS 会抛)
- 历史 localStorage 持久化(此前仅内存,刷新即丢)
- 复制按钮删死类 group-hover,保留有效的 [.space-y-2:hover_&]
- 历史项 inputPreview 不足 60 字符不加省略号
@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

Copy link
Copy Markdown
Owner Author

/oc

@opencode-agent

Copy link
Copy Markdown
Contributor

APIError: invalid access token or token expired

opencode session  |  github run

@Color2333
Color2333 merged commit 0291dfa into main Jul 17, 2026
2 checks passed
@Color2333
Color2333 deleted the fix/audit-pr3-frontend branch July 17, 2026 13:59
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