Our pure JavaScript Scheduler component


Post by Exigo »

Hello

We've found a weird bug. Creating a task in SchedulerPro, and afterwards just checking if a dependecy is valid through dragging dependency, undoing the task and redoing it, breaks the scheduler. See attached video.

Code is attached and the example used is this:
https://bryntum.com/products/schedulerpro/examples-scheduler/undoredo/

We've located the fault in the code on version 5.2.10:
File SchedulerProProjectMixin.ts on line 278 in function isDependencyCyclic:

const branch            = this.replica.branch({ autoCommit : false, onComputationCycle : 'throw' })

When this is called the redoing of an undo on create task fails. If we don't check for isDependencyCyclic then undo/redo works fine.

Cheers
Andreas @ Exigo

Attachments
undo_redo_draw_dependency_bug.gif
undo_redo_draw_dependency_bug.gif (3.74 MiB) Viewed 413 times

Post by marcio »

Hey Andreas,

Thanks for the detailed report and example, I created a ticket to check/fix this - https://github.com/bryntum/support/issues/6209

Best regards,
Márcio


Post by Exigo »

Hey Marcio

We've found out that it also breaks undo/redo tasks created after the dependency check. Meaning that if our users want to create dependencies by dragging we will have to completely disable STM else our users might break their schedule afterwards. It is not enough to reset the queue.

Is there a work around? The best I have found is overwriting validateDependency or isDependencyCyclic functions, but then we can't use the option to validate. It is hard for me to see if this creates problems elsewhere in the code.

Cheers
Andreas @ Exigo


Post by marcio »

Hey Andrea,

Thanks for letting us know, I added a note to the ticket. For now, no work arounds besides the one that you did, but we already have our team working on the ticket and trying to fix it as quickly as possible. :)

Best regards,
Márcio


Post by nickolay »

Hi Andreas. I'm trying to reproduce this exception using our latest online examples and its not reproducible. Attaching a video in the github ticket: https://github.com/bryntum/support/issues/6209. Hopefully it has been fixed along the way from 5.2.10 to 5.3.2.

Please try with the latest code on your end and if its still reproducible provide some additional info?


Post by Exigo »

Hey Nickolay. We have plans of updating next week, I'll reply once we've tested this and a few others you've mentioned :)


Post by nickolay »

Ok, cool.


Post by Exigo »

Hey Nickolay

We finally got around to trying to upgrade. Unfortunately we cannot finish it due to this error:
https://github.com/bryntum/support/issues/4670

Since we use both Gantt, Grid and Schedulerpro, we have not been to upgrade, so we'll have to wait for that solution.

Cheers
Andreas @ Exigo


Post by nickolay »

Hey, ok, sure, no rush.


Post Reply