the memory leak on changing resource allocation (moving tasks) which was solved in July theis year again happens in version 5.5.2. The code that was changed the last time is in SchedulerProResourceMixin, method
calculateAllocation()
lines that changed the last time to correct the problem
if (this.eventRangesCalendar) {
this.resource?.getProject().clearCombinationsWith(this.eventRangesCalendar)
}
const eventRangesCalendar = this.eventRangesCalendar = new bryntum.gantt.ResourceAllocationEventRangeCalendar({ intervals : eventRanges })
all the steps to reproduce the issue have been done together with Nickolay the last time
investigating more situations we found out that adding a single dependency manually increases the unreleased heap by around 80 MByte, see attached performance logging (you should see the action that we did in the recording). There is nearly no code from us involved, just handlers for
beforeDependencyCreateDrag(eventObject) {
// Only allow dependency drag if selected and milestone or (PD)
return ssusFbeforeDependencyCreateDrag(eventObject);
},
beforeDependencyCreateFinalize(eventObject) {
// Only allow dependency drop if selected and (PD)
return ssusFbeforeDependencyCreateFinalize(eventObject);
},
afterDependencyCreateDrop(eventObject) {
// after finishing dependency create
return ssusFafterDependencyCreateDrop(eventObject);
},
dependencyValidationStart(eventObject) {
// after finishing dependency create
return ssusFdependencyValidationStart(eventObject);
},
dependencyValidationComplete(eventObject) {
// after finishing dependency create
return ssusFdependencyValidationComplete(eventObject);
},
which are just returning true/false and record which dependency was added
description and walk through for problem 1, add dependency
description and walk through for problem 2, move task
by the way, is there a way to reduce the memory needed for the data itself (currently our raw data have a size of around 20 MByte which leads to around 500 MByte in the Bryntum stores)