Skip to content

Issues with following transpositions in Interactive Lessons #1557

@Siderite

Description

@Siderite

When you reach the end of a line that continues with a transposition and you have sequential and/or spaced repetition enabled, the transposition is not followed.

[Site "https://lichess.org/study/1z3mukVH/NaJlmOGF"]
1. d4 d5 2. Nc3 c5 (2... Nf6 3. Bf4 c5 4. e3 e6) 3. Bf4 Nf6

Culprit is this line:

        const nextMoves = allNextMoves
          .filter(c => !(this.options.flow.sequential || this.options.flow.spacedRepetition) || this.inCurrentPath(c.path));

There are several issues here:

  • with the current implementation, without flow settings, completing a line that ends in a transposition allows you to jump to another branch. If you complete it, then both of them are marked completed, even if you did not follow the original line
    • here there should be a system to only mark a line once in a single run
  • with flow settings, you should be able to jump to another branch to complete the line, but somehow freely explore.
    • here, maybe inCurrentPath should always return true after marking a line true, but make sure to check this also in other places.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions