feat(#233): timeline UX rework#242
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Review findings ordered by fix priority:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- resourceTypes DELETE: scope deleteMany to projectId and 404 when no row matches, preventing cross-tenant resource type deletion (IDOR) - timeline PUT /:featureId: verify the feature belongs to the owned project before upserting, preventing cross-tenant timeline overwrites (IDOR) - namedResources POST/DELETE: wrap capacity-plan exit, create/delete and count re-sync in a single transaction to avoid count desync under concurrent requests Adds cross-tenant 404 tests for the resourceTypes DELETE and timeline PUT routes and updates mocks for the transactional named-resource flow. Note: the IPv6 rate-limit hardening (ipKeyGenerator) is deferred — the installed express-rate-limit@7.5.1 does not export that helper. Co-authored-by: NickMonrad <NickMonrad@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Reworks the timeline experience and related optimiser flows, including new planning drawers, scheduling logic, and supporting timeline/resource UI updates.
Related issue
Closes #233
Changes
E2E Tests
Tests added/modified:
e2e/tests/timeline.spec.ts- updated Timeline and Starting Team Finder selectors/copy for the current UXe2e/tests/gantt.spec.ts- updated Quick schedule flow selectorse2e/tests/helpers.ts- added sharedquickSchedule()andopenStartingTeamFinder()helperse2e/TESTS.md- updated test inventory/documentation for the renamed Timeline UXE2E test results (
npm run test:e2e):Testing
npm testpasses in/servernpx tsc --noEmitpasses in/servernpx tsc --noEmitpasses in/clientnpm run test:e2epasses (Playwright - requires dev servers on :3001 and :5173)e2e/TESTS.mdupdated to reflect any test additions or changesManual testing
Notes