mirror of
https://github.com/hcengineering/platform.git
synced 2026-10-13 19:55:18 +02:00
* 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>