lichess.org
Donate

Bug in Sequential and Spaced Repition

I created a new study and made one chapter. I entered this line in first:

1 d4 d5
2 Nc3 c5
3 Bf4 Nf6

I then went back to 2 Nc3 and made a variation:

2 ... Nf6
3 Bf4 c5
4 e3 e6

When practicing with "Preview" using either "Sequential" or "Spaced Repetition" I get tested on exactly those two lines - no transposition followed. I would expect the first line to follow the transposition and ask me to play e3 but it does not. If I turn both of those off then it works as expected. Both lines have me play e3 and end in the same position.

So, seems to be a bug in the "Extended interactive lesson flow", which is labeled as "WIP" so I suppose that is expected. Still, would be great if this could be fixed making this a much more powerful learning tool.

I created a new study and made one chapter. I entered this line in first: 1 d4 d5 2 Nc3 c5 3 Bf4 Nf6 I then went back to 2 Nc3 and made a variation: 2 ... Nf6 3 Bf4 c5 4 e3 e6 When practicing with "Preview" using either "Sequential" or "Spaced Repetition" I get tested on exactly those two lines - no transposition followed. I would expect the first line to follow the transposition and ask me to play e3 but it does not. If I turn both of those off then it works as expected. Both lines have me play e3 and end in the same position. So, seems to be a bug in the "Extended interactive lesson flow", which is labeled as "WIP" so I suppose that is expected. Still, would be great if this could be fixed making this a much more powerful learning tool.

Fixed in v2.4.169.

The problem was that lines are considered the physical moves (without any transpositions), yet extended interactive plays the transpositions as well. If a line ended with a transposition, it got played and the line was never marked as "done".

Thanks!

Fixed in v2.4.169. The problem was that lines are considered the physical moves (without any transpositions), yet extended interactive plays the transpositions as well. If a line ended with a transposition, it got played and the line was never marked as "done". Thanks!

This still seems to be a bug. It now does properly detect you have played all lines in that I get the "No more variations, reset?" popup, but it still does not follow the transpositions. If you create a study with the exact lines I provide above I think you will see what I mean. When you train one line will go all the way to the final e6 move while the other ends at Nf6, ignoring the transposition.

This still seems to be a bug. It now does properly detect you have played all lines in that I get the "No more variations, reset?" popup, but it still does not follow the transpositions. If you create a study with the exact lines I provide above I think you will see what I mean. When you train one line will go all the way to the final e6 move while the other ends at Nf6, ignoring the transposition.

@DrTomHere , give me an example study and let me play with it. As I solved the bug, I also tested that it worked in both variation and transposition. Make sure you have "Moves from transpositions" enabled.

@DrTomHere , give me an example study and let me play with it. As I solved the bug, I also tested that it worked in both variation and transposition. Make sure you have "Moves from transpositions" enabled.

I do have "Moves from transpositions" enable. It works fine when not using "Spaced Repetition". I'll send you the study in a DM and you can try it out.

I do have "Moves from transpositions" enable. It works fine when not using "Spaced Repetition". I'll send you the study in a DM and you can try it out.

Hey, I had a thought on this. One way to work around this is to use the PGN editor and use the denormalize feature. If I understand it correctly, that would copy all the transpositions into all the locations they can be reached from. Basically, making a complete tree with no transpositions. This PGN could then be loaded and used for the spaced repetition. In the short term, I can do this by just making a new chapter "White - expanded" and test with that.

Maybe this is something you could do in memory as a solution, when you find time. When someone clicks "preview" you denormalize the chapter, load that in place if the actual chapter, and test on that. It's an idea anyway.

Hey, I had a thought on this. One way to work around this is to use the PGN editor and use the denormalize feature. If I understand it correctly, that would copy all the transpositions into all the locations they can be reached from. Basically, making a complete tree with no transpositions. This PGN could then be loaded and used for the spaced repetition. In the short term, I can do this by just making a new chapter "White - expanded" and test with that. Maybe this is something you could do in memory as a solution, when you find time. When someone clicks "preview" you denormalize the chapter, load that in place if the actual chapter, and test on that. It's an idea anyway.

@DrTomHere said ^

Maybe this is something you could do in memory as a solution, when you find time. When someone clicks "preview" you denormalize the chapter, load that in place if the actual chapter, and test on that. It's an idea anyway.

That's a lot easier said than done. And you have to consider that at any moment the user might refresh the page, the network could go down, etc. Reliably adding and deleting branches on the fly is NOT easy with Lichess.

Probably I will just have to generate an extra number of "lines" from transpositions, then mark them done based on the actual move order. That can cause a lot of edge issues when, for example, you change your flow settings and now the lines stored on your machine are no longer the lines that you need to finish.

Not trivial, but I will think of some ways of solving this.

In truth, the real solution now is, indeed, using Denormalize. You physically have the lines and you can explore them, mark them differently - because you could conceivably - consider one move order superior and you would need to add different comments on different paths.

@DrTomHere said [^](/forum/redirect/post/kdz6P3SL) > Maybe this is something you could do in memory as a solution, when you find time. When someone clicks "preview" you denormalize the chapter, load that in place if the actual chapter, and test on that. It's an idea anyway. That's a lot easier said than done. And you have to consider that at any moment the user might refresh the page, the network could go down, etc. Reliably adding and deleting branches on the fly is NOT easy with Lichess. Probably I will just have to generate an extra number of "lines" from transpositions, then mark them done based on the actual move order. That can cause a lot of edge issues when, for example, you change your flow settings and now the lines stored on your machine are no longer the lines that you need to finish. Not trivial, but I will think of some ways of solving this. In truth, the real solution now is, indeed, using Denormalize. You physically have the lines and you can explore them, mark them differently - because you could conceivably - consider one move order superior and you would need to add different comments on different paths.

Join the L1Chess Tools Users Team team, to post in this forum