Skip to content

fix: render overdue task bars verbatim on their due date instead of extending to today - #29

Merged
andrew-blue merged 1 commit into
mainfrom
fix/it-84-no-auto-due-date
Nov 13, 2026
Merged

andrew-blue merged 1 commit into
mainfrom
fix/it-84-no-auto-due-date

Conversation

@andrew-blue

Copy link
Copy Markdown

Summary

Stop extending overdue task bars to today so overdue tasks always render verbatim ending on their actual dueDate (both at rest and during whole-bar drag previews), while preserving .bar-overdue visual indicators and overdue labels.

Related Issue

Linear: IT-84

Changes

  • src/utils/date.ts: Extracted computeBarDayRange so tasks with a startDate always span [startDate, dueDate] inclusive and completed/overdue tasks without a startDate anchor a compact 2-day bar ending on dueDate (clamped cleanly at chartStart).
  • src/components/GanttRow.tsx: Replaced inline overdue-to-today stretching with computeBarDayRange, updated barStartBaseDate to anchor completed/overdue tasks without startDate at dueDate, and updated movedPreview so dragging an overdue task keeps its preview bar ending on movedPreview.due.
  • src/utils/date.test.ts & e2e/gantt.spec.ts: Added unit tests for computeBarDayRange and Chrome/Firefox Playwright E2E coverage verifying verbatim overdue bar rendering, zero automatic mutations on load, .bar-overdue styling, and DetailPanel overdue readout.

Checklist

  • npm run format:check passes
  • npm run lint passes (eslint . --max-warnings 0)
  • npm run build, VITE_BACKEND=gcp npm run build, and npm run build:server pass
  • npm test passes (24 files / 372 tests passed, 1 file / 17 Firestore emulator tests skipped)
  • npm run test:e2e passes (24/24 across Chrome and Firefox)
  • Interactive review/testing completed by subagent reviewer

Verification

  • npm run format:check: passed
  • npm run lint: passed (0 errors, 0 warnings)
  • npm run build, VITE_BACKEND=gcp npm run build, npm run build:server: passed
  • npm test: 372 passed, 17 Firestore emulator tests skipped
  • npm run test:e2e: 24/24 passed across Chrome and Firefox
  • Independent subagent interactive review verified verbatim overdue bar bounds (with and without startDate), outgoing dependency arrow anchor at dueDate, live drag preview bounds, zero automatic mutations, and zero console/page errors in Chromium and Firefox.

@andrew-blue
andrew-blue merged commit e31bc97 into main Nov 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant