Issue with Indent/Outdent on newer version

Hi ramil, I hope everything is good.

I am in the process of upgrading the Gantt library for my company from vers 7.1.9 to 8.0.6 and I am facing an issue that is reproducible on Multiselection and Indent/Outdent tasks

Note that this is reproducible issue the logic in the page source as well as using shift+LEFT/RIGHT for indent/outdent.

To reproduce:

Results: The task completely disappears from the GRID. If you refresh the page, the task will be back with new position.

Can you please tell me if this is a valid bug and if there is a more stable version? Thank you

NOTE: After investigating with different versions, 8.0.2 seems to be the last stable version on that front.

Hello Karl,
Yes, it is a bug that appeared in the 8.0.3 version. We are aware of it. The dev team will fix it in the future, but I cannot give you any ETA.

However, there is a workaround for the bug. You can use the moveTask method to move the task to a different parent, then restore the previous parent. After that, the task is returned to the initial position, and the bug with that task is no longer reproduced (until you reload the page).
https://snippet.dhtmlx.com/f2curzaw

Hi ramil, I tried playing around with the propose workaround but it does not seem to work properly as when I click the button, the tasks move all over the place and the indent/outdent issue remains reproducible.

Edit: So now I understand that this should only be clicked when the issue occur (but it doesn’t always work properly), any way to attach this to the SHIFT-ARROW shortcuts?

Hello Karl,
It seems that I hardcoded the task ID in the moveTask method. I updated the snippet, so, now it updates the selected task:
https://snippet.dhtmlx.com/f2curzaw

It is possible to call the function after the keyboard shortcuts, but if you use the gantt.addShortcut, you replace the existing shortcut. And that means, you need to manually add the code to indent or outdent tasks.
A simpler way would be to attach the event listener to the window object. Also, after the task disappears, the focus is moved to another task. So, in addition to that, you need to restore the previous focus.

Here is an example of how it can be implemented:
https://snippet.dhtmlx.com/yik0wjvx