Bug: Collections dependencies are not properly checked

Mark Barnes
Mark Barnes Member Posts: 15,432 ✭✭✭

It's possible to create Collection A which is dependent on Collection B, and then make collection B dependent on collection A. Thankfully it doesn't cause a crash, but Logos shouldn't let this loop happen.

It's also possible to create Collection A which is dependent on Collection B, and then delete Collection B. But collection B remains in Collection A, although it doesn't exist. This shouldn't happen either, and ideally Logos should warn you if you delete collections that other collections are dependent upon.

This is my personal Faithlife account. On 1 March 2022, I started working for Faithlife, and have a new 'official' user account. Posts on this account shouldn't be taken as official Faithlife views!

Comments

  • George Allakhverdyan
    George Allakhverdyan Member Posts: 1,075 ✭✭✭


    It's possible to create Collection A which is dependent on Collection B, and then make collection B dependent on collection A. Thankfully it doesn't cause a crash, but Logos shouldn't let this loop happen.

    It's also possible to create Collection A which is dependent on Collection B, and then delete Collection B. But collection B remains in Collection A, although it doesn't exist. This shouldn't happen either, and ideally Logos should warn you if you delete collections that other collections are dependent upon.


    Thanks for the feedback, I will pass this up the ladder.

  • Jacob Carpenter (Faithlife)
    Jacob Carpenter (Faithlife) Member, Logos Employee Posts: 336

    It's possible to create Collection A which is dependent on Collection B, and then make collection B dependent on collection A. Thankfully it doesn't cause a crash, but Logos shouldn't let this loop happen.

    This is actually by design. There are arbitrarily complex cases that could introduce collection dependencies and it would be very hard to tell the user why they couldn't include/exclude a certain collection. We have test cases to ensure we handle interesting circular/chained dependency situations correctly.

    It's also possible to create Collection A which is dependent on Collection B, and then delete Collection B. But collection B remains in Collection A, although it doesn't exist

    Oddly enough this is actually sync related. If you wait for sync to happen after deleting B, and then re-open collection A, you'll see B has been removed. This has been fixed internally and should be included in the next beta.

    Thanks.

  • Jacob Carpenter (Faithlife)
    Jacob Carpenter (Faithlife) Member, Logos Employee Posts: 336

    ... and should be included in the next beta.

    This fix was actually committed as beta 5 was heading out the door; it will be in beta 6.

This discussion has been closed.