Tasks benchmark: List route excludes its dated fixtures #1246

Open
opened 2026-10-06 23:25:45 +00:00 by kayg · 1 comment
Owner

The Tasks UI profile seeds dated Tasks, then opens /tasks?layout=list without a view query. The route defaults to Inbox, whose predicate excludes any Task with a When or Deadline date. The profile then waits for the first List row and times out even though the API accepted the seeded Tasks. This invalidates the List time-to-content result. Evidence: apps/web/e2e/tasks-perf.mjs seeds When = run date + 1 day and Deadline = run date + 3 days, while measureRoute opens only ?layout=list; apps/web/src/lib/tasks/views.ts defines Inbox as active && !scheduled && !due.

Steps: run TASKS_PERF_ITEMS=1000 TASKS_PERF_RUNS=3 TASKS_PERF_BURST_SECONDS=5 node apps/web/e2e/tasks-perf.mjs against the local production SPA. The first 390 px Board route becomes ready, but the List locator waits for a row that the selected Inbox view does not contain.

Expected: the profile opens the view containing the seeded rows, for example /tasks?view=next-7-days&layout=list.

Actual: it opens Inbox and reports a 180-second List timeout. No application defect is established by this run.

Severity: minor (invalid benchmark route).

The Tasks UI profile seeds dated Tasks, then opens `/tasks?layout=list` without a `view` query. The route defaults to Inbox, whose predicate excludes any Task with a When or Deadline date. The profile then waits for the first List row and times out even though the API accepted the seeded Tasks. This invalidates the List time-to-content result. Evidence: `apps/web/e2e/tasks-perf.mjs` seeds `When = run date + 1 day` and `Deadline = run date + 3 days`, while `measureRoute` opens only `?layout=list`; `apps/web/src/lib/tasks/views.ts` defines Inbox as `active && !scheduled && !due`. Steps: run `TASKS_PERF_ITEMS=1000 TASKS_PERF_RUNS=3 TASKS_PERF_BURST_SECONDS=5 node apps/web/e2e/tasks-perf.mjs` against the local production SPA. The first 390 px Board route becomes ready, but the List locator waits for a row that the selected Inbox view does not contain. Expected: the profile opens the view containing the seeded rows, for example `/tasks?view=next-7-days&layout=list`. Actual: it opens Inbox and reports a 180-second List timeout. No application defect is established by this run. Severity: minor (invalid benchmark route).
Author
Owner

Fixed on job/bash-tasks in bc66e4a5b (fix(bench): profile the seeded Tasks view (#1246)). The profile now opens view=next-7-days for route readiness and drag samples so its run-relative When/Deadline fixtures appear. On the corrected 1,000-Task run, all nine Board/List/Matrix readiness samples completed at 390 px and 1440 px; the later drag-preview sample timed out and is tracked separately in #1258. The earlier #1240 timeout was a false positive because the route selected Inbox.

Fixed on `job/bash-tasks` in `bc66e4a5b` (`fix(bench): profile the seeded Tasks view (#1246)`). The profile now opens `view=next-7-days` for route readiness and drag samples so its run-relative When/Deadline fixtures appear. On the corrected 1,000-Task run, all nine Board/List/Matrix readiness samples completed at 390 px and 1440 px; the later drag-preview sample timed out and is tracked separately in #1258. The earlier #1240 timeout was a false positive because the route selected Inbox.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1246
No description provided.