Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: 复习笔记时,直接推送了没有到期的笔记 #56

Closed
tangwells opened this issue Jun 22, 2024 · 11 comments
Closed

[Bug]: 复习笔记时,直接推送了没有到期的笔记 #56

tangwells opened this issue Jun 22, 2024 · 11 comments
Labels
bug Something isn't working

Comments

@tangwells
Copy link

Describe the bug

对于一篇笔记,如果选择重来(5m),并不会自动打开下一篇笔记,而是一直呈现这篇笔记。但在 item info 中,其下一次复习时间确实是5m 后。实际操作发现,除了选择5m 的间隔,10m 的间隔也会触发这一问题。
对应的控制台信息如下:
image
全屏信息展示:
Pasted Graphic 2

To Reproduce

  1. 随意打开一篇今日待复习笔记。
  2. 选择重来按钮。

Expected behavior

选择重来(5m),应在5m 后再复习该笔记

Screenshots

No response

OS of your device

mac os sonoma 14.5

Obsidian version

v1.6.3

Plugin version

v1.12.4.5

Installer version

No response

Additional context

No response

Config file

No response

@tangwells tangwells added the bug Something isn't working label Jun 22, 2024
@tangwells
Copy link
Author

使用你原先发给我的那个测试用的 main.js,该 bug 没有出现

@tangwells tangwells changed the title [Bug]: 笔记间隔为5m 或者10m 时,也就是重来或者困难,直接推送实际没有间隔 [Bug]: 笔记间隔为5m 或者10m 时,也就是重来或者困难,直接推送而没有依据间隔 Jun 22, 2024
@tangwells
Copy link
Author

tangwells commented Jun 23, 2024

大佬,悬浮栏的不是什么大问题,重点是这个 bug。我新建了一个仓库来进行测试,发现当前插件逻辑是:

  • 当打开一篇笔记开始复习时,它会优先推送今天待复习笔记中,nextreviewtime 距离当下最近的一篇笔记,即便这篇笔记是我选择重来的笔记。
  • 由于我选择重来的笔记的间隔时间是5m,因此当插件要推送给我下一篇笔记时,它会遍历整个「今天待复习队列」,然后发现这个间隔5m 的笔记是距离当下最近的笔记,因此就把这个笔记又直接推送给我了。

按照以上分析,肯定会有一种情况:假设「今日待复习队列」里有1篇笔记,「新笔记队列」里有10篇笔记。除非安排「今日待复习队列」里的这篇笔记的间隔时间大于1天,也就是让其脱离「今日待复习队列」。否则插件永远不会推送来自「新笔记队列」中的任何一篇笔记。
IMG_2796.MOV.zip实际的测试,也印证了我的猜测。

@Newdea
Copy link
Collaborator

Newdea commented Jun 23, 2024

嗯,在查了,先用之前那版吧

@Newdea
Copy link
Collaborator

Newdea commented Jun 23, 2024

现在这版(1.12.4.6)修复了,我电脑上已经可以只在到期时推送了,你再试下。

@tangwells
Copy link
Author

目前没有这个问题了,我先 cloze了。

@Newdea
Copy link
Collaborator

Newdea commented Jun 24, 2024

大佬,更新之后问题变得更奇怪了。现在是对于我的带有#review标签的复习队列,无论是开始复习时打开一篇笔记,还是复习完后跳转到下一篇笔记,都会自动弹出 item info 窗口。 而且这个问题在同一个库的另一个队列是不存在的,在新库新建立的复习队列也不存在,仅在这个#review的复习队列里存在。 控制台的截图如下: image 录制的视频如下: IMG_2800.MOV.zip

弹出item info 窗口就是复习了没到期的笔记时(即针对问题 #56 ),做的一个调试功能。

只出现我的带有#review标签的复习队列,对于另一个复习队列是不存在这两个问题的。

这个问题是在使用了 clear queue 命令后出现的么?

按理说这个问题不应该再出现,目前代码中已经加入了每天自动清一次队列的。

        if (now.getDate() != new Date(this.lastQueue).getDate()) {
            this.newAdded = 0;
            this.clearQueue();
            newDayFlag = true;
        }

如果这个问题还是反复出现,请提供下对应的笔记库,
!!!注意删除其他文件,只保留#review的几个笔记就可以,笔记内容全删除,只保留标签就行

或你在沙盒库中能稳定复现,直接提供对应的笔记库也可。

@Newdea Newdea reopened this Jun 24, 2024
@Newdea Newdea changed the title [Bug]: 笔记间隔为5m 或者10m 时,也就是重来或者困难,直接推送而没有依据间隔 [Bug]: 复习笔记时,直接推送了没有到期的笔记 Jun 24, 2024
@tangwells
Copy link
Author

这个问题是在使用了 clear queue 命令后出现的么?

我先前并没有使用过这个命令。一个好消息是这个会自动弹出 item info 窗口的 bug 消失了。消失前的我的最后一个具体操作是:在阅读模式下,使用快捷键“0”来对笔记选择重来。
感觉这个 bug 很玄学,不过能跑就行。

@tangwells
Copy link
Author

消失前的我的最后一个具体操作是:在阅读模式下,使用快捷键“0”来对笔记选择重来。

现在看来与这个操作似乎没有直接关系,因为就在刚刚,这个bug 它又复现了。复现的场景是,某篇笔记选择了今天重来,再推送给我时「记得」的间隔为1天,我在选择记得后就开始每篇笔记都自动弹出 item info 窗口了。控制台的信息与我先前发送的是一致的。我再观察一下,如果还是出现这个问题我再给你发送笔记库。

@tangwells
Copy link
Author

bug 库.zip
这是我的笔记库,个人及重要信息都已删除,插件啥的打开即用。上传前已确认还是会自动弹出 item info 窗口的。

@Newdea
Copy link
Collaborator

Newdea commented Jun 25, 2024

用你这个复现了几次弹item info窗口,看了复习数据,是可以复习,并不算是提前。

正常推送的逻辑 :

  1. 上次复习时间是当天之前,nextReview是当天之内;或
  2. 上次复习时间是当天,nextReview在现在时间之前。

弹item info 窗口的判断条件不全导致的,已经修改了,试过没有再出现,你再试下。效果如何请反馈下。
main_fix.zip

@tangwells
Copy link
Author

自动弹出 item info 窗口的问题解决了!

Newdea added a commit that referenced this issue Jun 26, 2024
fix #58 卡片复习数据显示不正确
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants