feat: task due date warning badge (#180)#182
Conversation
- Add dueDateStatus helper to compute task due date urgency - Add TaskCard component with due date warning badges - Yellow 'Due soon' badge for tasks due within 2 days - Red 'Overdue' badge for overdue tasks - Add unit tests covering all boundary conditions - Add translations for en and nl - Set up vitest for testing framework Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Quality Report — ConductionNL/planix @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 215/215 | |||
| PHPUnit | ❌ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
Quality workflow — 2026-04-20 14:05 UTC
Download the full PDF report from the workflow artifacts.
| "jsdom": "^29.0.2", | ||
| "style-loader": "~4.0.0", | ||
| "stylelint": "^15.11.0", | ||
| "vitest": "^1.0.0", |
There was a problem hiding this comment.
[unfixed: vitest@4.x upgrade is a breaking change requiring separate validation] Rule: GHSA-67mh-4wv8-2f99 / OWASP A06:2021 — vitest@^1.0.0 introduces a vulnerable esbuild <=0.24.2 via the vite/vite-node chain. The esbuild vulnerability allows any website to send requests to the development server and read responses. Risk is limited to developer workstations during test runs with vitest --ui; normal vitest run in CI does not expose a public server. Fix: upgrade to vitest@4.x (npm audit fix --force), but this is a semver-breaking change — npm audit itself warns it would install vitest@4.1.4. Escalated for product-team validation.
Security Review — Clyde BarcodeResult: FAIL (0 fixed, 1 unfixed WARNING, 0 CRITICAL) Checks Run
Findings
NotesNew code (TaskCard.vue, taskHelpers.js): Clean. Vue template auto-escaping applied correctly, no Pre-existing npm audit findings (axios SSRF, dompurify bypass, follow-redirects, vue ReDoS, brace-expansion DoS) are out of scope for this PR — they were present on Introduced WARNING: Verdict: FAIL — one unfixed WARNING in new devDependency chain. Applier (Axel Pliér) to decide whether to block or accept the dev-only risk. See inline comment for per-finding detail. |
Quality Report — ConductionNL/planix @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 215/215 | |||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
Coverage: 0% (0/3 statements)
Quality workflow — 2026-05-19 03:37 UTC
Download the full PDF report from the workflow artifacts.
Closes #180
Summary
Adds visual warning indicators to tasks that are approaching or past their due date. Tasks due within 2 days display a yellow "Due soon" badge, and overdue tasks display a red "Overdue" badge. The implementation includes a helper function for computing due date status and unit tests covering all boundary conditions.
Spec Reference
openspec/changes/task-due-date-warning/design.mdChanges
src/utils/taskHelpers.js— AddeddueDateStatushelper that computes task urgency (approaching/overdue/null) based on due datesrc/components/TaskCard.vue— New task card component displaying task details with due date warning badgessrc/utils/__tests__/taskHelpers.test.js— Unit tests covering no due date, future dates, approaching dates, and overdue datesvitest.config.js— Test configuration for the projectpackage.json— Added vitest testing framework and dependenciesl10n/en.json— English translations for badge text and status labelsl10n/nl.json— Dutch translations for badge text and status labelsTest Coverage
src/utils/__tests__/taskHelpers.test.js— Comprehensive test suite with 15 tests covering:All tests pass successfully. The implementation also passes linting and builds without errors.