mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-31 18:35:56 +00:00
1.7 KiB
1.7 KiB
id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
| id | title | type | feature | scope | locale | aliases | related_tools | related_pages | prerequisites | negative | last_verified | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dashboard.refresh.faq | 仪表盘不刷新 / 任务变化后看不到 | faq | dashboard | end-user | zh |
|
|
|
|
v1.7.90 |
仪表盘不刷新 / 任务变化后看不到
问题
任务完成 / 改了截止时间 / 加了新任务,但仪表盘的列表 / 数字没立刻变化。
原因
仪表盘的数据流是「前端 store + WebSocket 推送 + 600ms 防抖定时器」的混合:
- 进入仪表盘页时立即拉一次任务列表
- 后续靠 WebSocket 推送实时变化
- 任何任务字段变更触发
getTaskForDashboard(600):600 毫秒后重算分组
但如果:
- WebSocket 断开重连 → 期间的事件丢失
- 浏览器后台休眠 → 定时器暂停
- 跨标签页的修改 → 仍依赖 WebSocket 推送
可能出现仪表盘看到的与真实状态有几秒差异。
解决
- 手动触发重算:进任意其他页(如左侧栏点项目)再回仪表盘 → 强制拉新数据
- 刷新浏览器(F5):彻底重拉所有 store
- 看右下角连接状态:若显示"已断开"等几秒待重连
- 确认任务确实生效:进任务详情看 complete_at / end_at 字段
不支持
- 没有"手动刷新仪表盘"按钮
- 没有刷新间隔配置(固定 600ms 防抖)
- 不支持 polling 周期性拉数据,只走 WebSocket 推送