Contradiction Information Lost
Initial Report: When adding multiple contradictions on the same statement and then saving, the data for all but the last contradiction will not be saved. This was reported by two users and then confirmed by me using a minimal trial. The full reproduction steps are likely more complicated.
Revised Report: When a statement has multiple contradictions, some of the variable references in the contradiction's event functions refer to a different variable at runtime than when the event was defined. For instance, the contradiction index of a destination selector is the index of the last contradiction, and not the contradiction to which the destination selector "belongs." The selector that gets updated is the last selector, even if that isn't the event target. Consequently, every time a contradiction destination is changed, the editor just saves the destination for the last contradiction. Evidence selectors have an identical problem. Similarly, when deleting a contradiction, the last data removed will be for the last contradiction.
Comments (4)
-
-
reporter No, AAM. The contradictions are never removed (which is what you meant by lost), it's the data for the contradiction that can't be saved. This is the difference between a contradiction being deleted and being unable to edit a contradiction.
So what would happen in this case is that the data stays as it was from the moment before the new contradiction was made.
I've found the cause of the bug, and I've also discovered that its scope is much larger than initially reported. I'll update the report momentarily.
-
reporter - edited description
-
assigned issue to
Updated initial report with more precise reproduction steps, broader scope, and mechanism of the bug.
-
reporter - changed status to resolved
Fixed by pull request #46.
- Log in to comment
If one contradiction is made, the user saves, then another contradiction is made on the same statement, will one of them be lost on the next save?