Harry-Chen / Learn-Helper

清华大学网络学堂助手
https://chrome.google.com/webstore/detail/learn-helper/mdehapphdlihjjgkhmoiknmnhcjpjall
MIT License
208 stars 37 forks source link

[bug report] 已读状态消失 #160

Closed zhc7 closed 1 month ago

zhc7 commented 4 months ago

我仔细研究了一下,发现好像#158 排序混乱的根本原因是已读状态丢失。目前还没找到稳定复现的办法,不过好像一般发生在自动更新以后。有时候自动更新以后所有已读状态就全部变成未读了。

zhc7 commented 4 months ago

好像跟同时开两个插件标签页有关 然后通常有一个是处于离线状态

AsakuraMizu commented 4 months ago

好像跟同时开两个插件标签页有关 然后通常有一个是处于离线状态

能具体描述是怎么出现这个结果的吗?我的一种猜测是:

  1. 同时打开了插件标签页 A B
  2. A 弹出了网络问题对话框
  3. B 中正常收到了新内容
  4. 在 B 中点击进行了阅读
  5. 回到 A 中点击了“重试刷新”

这样好像确实会导致已读状态消失的问题

AsakuraMizu commented 4 months ago

不对 好像都不需要离线 只要有一边儿刷新了并读了另一边儿还没刷新就会有这个问题?

那或许应该禁止开多个标签页

Harry-Chen commented 4 months ago

不对 好像都不需要离线 只要有一边儿刷新了并读了另一边儿还没刷新就会有这个问题?

那或许应该禁止开多个标签页

或者是否有某种“定起刷新”的机制,比如页面在不活跃时,每过一会检查状态有没有更新,并在必要的时候 reload

zhc7 commented 4 months ago

好像跟同时开两个插件标签页有关 然后通常有一个是处于离线状态

能具体描述是怎么出现这个结果的吗?我的一种猜测是:

  1. 同时打开了插件标签页 A B
  2. A 弹出了网络问题对话框
  3. B 中正常收到了新内容
  4. 在 B 中点击进行了阅读
  5. 回到 A 中点击了“重试刷新”

这样好像确实会导致已读状态消失的问题

这样好像只会丢失最新读的那几条的已读状态,但是我有时候遇到的情况是所有状态都没了,不过这种概率比较小

AsakuraMizu commented 1 month ago

暂时实现了禁止了标签页多开,后续版本中会进一步优化刷新逻辑