Files
b962dfbdb1 fix(gantt): cascaded issues and the critical path keep their working-day duration (#11065)
* fix(tracker): cascaded issues keep their working-day duration

In working-days mode simulateCascade placed a shifted issue's anchor on a
working day but moved its other end by the same number of calendar
days, so the issue kept its calendar-day length and could end on a
weekend or a holiday. A pushed successor and a pulled predecessor now
keep their length in working days (workingDaySpan, never below 1); the
free end is dueForSpan / startForSpan of the anchored end, for all four
relation kinds. The anchor, the FS gap floor and the violation check are
unchanged, and without a calendar the arithmetic is byte-identical.

Test updates: the chain push from #11054 now ends B on Mon 19 (two
working days) and C on Tue 20 - Wed 21; the multi-hop floor test uses a
Monday primary so the floor still dominates the second hop; the pull
test uses a two-working-day predecessor and keeps its expectation.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>

* fix(tracker): critical path preserves working-day durations

computeCriticalPath preserved each issue's duration in milliseconds, so
with a working-days calendar the latest start of a predecessor rolled
back across a weekend was too early and its slack too large. The forward
and backward passes now keep the working-day span (endFor / startFor via
dueForSpan / startForSpan) when a calendar is active, so LS/LF match what
the cascade would produce. Legacy mode keeps the millisecond duration;
slack stays in milliseconds.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>

* fix(tracker): address review — no silent truncation of long bars, critical-path coverage, doc placement

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>

---------

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
Co-authored-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-10-13 17:18:44 +02:00
..
2023-10-07 16:38:21 +06:00
2022-03-31 15:32:42 +07:00
2024-02-12 23:57:11 +07:00