Skip to content

Troubleshooting

Source code
---
import '@revolist/gantt/styles.css';
import GanttScheduling from '@revolist/revogrid-examples/components/gantt/GanttScheduling.vue';
---
<GanttScheduling client:only="vue" />

Common checks:

  • Missing ganttCalendars or mismatched calendarId.
  • Duplicate IDs in tasks/dependencies/resources/assignments.
  • Dependency points to missing task ID.
  • A circular dependency chain such as Setup load balancer -> Configure firewall -> Setup load balancer. The scheduler reports this as dependency-cycle; inspect the issue’s taskIds and dependencyIds, then remove or change one of the links.
  • Invalid task date ranges or malformed constraints.
  • No visible timeline because viewport/zoom span does not include task dates.

If a task appears to jump during drag or resize, first check for dependency validation issues. Automatic tasks normally clamp to the earliest date allowed by their predecessors. A circular dependency cannot produce a valid predecessor order, so RevoGrid reports dependency-cycle and leaves dependency clamping disabled until the cycle is fixed.

Use the scheduling result passed to your diagnostics flow to locate the invalid links:

const cycleIssue = schedulerResult.issues.find(
(issue) => issue.code === 'dependency-cycle',
);
if (cycleIssue) {
console.table({
tasks: cycleIssue.taskIds.join(', '),
dependencies: cycleIssue.dependencyIds.join(', '),
});
}

Validation and diagnostics are produced by:

  • engine/scheduler-engine/validation.ts
  • engine/scheduler-types.ts