The queue shows on the Queue page, above a project's task list and in its Queue view, each reordering, removing and sizing it #201
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "task/3764-s6-the-queue-s-three-surfaces-s4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracker: #3764
Step 6 of #3672's planspec: S4 V1, V2 and V3.
What it delivers
/queuesits in the sidebar under Needs you, with the number of flow runs queued across every queue. It has one section per queue (GET /api/queues), named by its project and base. Each section lists the runs going, the runs queued in order and the runs done today./queue?run=<id>, the link behind the Flow card's "Queued 2nd", opens with that run selected and scrolled into view.GET /api/projects/:id/queues). It shows the runs going, the first three queued, and a count ("2 more") that unfolds the rest.?mode=queue). Each of the project's queues shows in three lanes: Queued, Going and Done today. The view reads none of the project's tasks.POST /api/flow-runs/:id/move:{"at":"top"}when the run lands first,{"after":<the run ahead>}otherwise. Remove in a queued run's ⋯ menu sendsPOST /api/flow-runs/:id/stop. The queue's "at a time" stepper sendsPUT /api/projects/:id/queueswith{base, slots}.MoreMenu, which the queue rows use too. The runner settings' stepper is nowStepper, which the queues use.isBoardModegives way toviewModeOf(list,boardorqueue), and every caller is migrated.Tests
web/src/lib/queue.test.tspins how a move places a run (at: "top"vsafter), what a queued run's line names, a queue's counts and how a run done today reads.router.test.tspins/queue?run=, andboard.test.tspins the view modes.the queuescenes inweb/e2e/work-the-flows.spec.ts:{"at":"top"}, and ArrowDown on the grip sends{"after":…}(Queue page).{"after":…}(the project's queue, unfolded).{"after":…}(Queue view)./stop.{"base":"master","slots":2}, and the run it frees a slot for begins.Regressions
Each fails on the code before its fix and passes after (
npx playwright test e2e/work-the-flows.spec.ts -g "the queue" --ignore-snapshots, with the source of the fix set aside and the web rebuilt):in the project’s folded queue, the third run moved down by its arrow key unfolds the rest, its grip keeping focus. Before: the move was sent with{"after":<format>}, thentoBeFocusedtimed out, sinceelement(s) not found: the run had gone into "2 more" and focus fell to the body.the project’s Queue view reads none of its tasks. Before:GET /api/projects/:id/tasks?page=1&per_page=50was read twice, once on open and once after one ArrowUp move. The test expected no read.Goldens
Added in Chromium, light and dark at 1280×800 and 390×844, from a full run of
playwright.config.ts:queue-page(S4 V1, its run opened from "Queued 2nd" selected),project-queue(S4 V2) andproject-queue-lanes(S4 V3). Each scene holds a run waiting on a task it follows, one blocked by another task, and runs done and stopped today.Re-recorded, each in a full run of its config, because they show the sidebar (Queue now sits under Needs you) or a project page (Queue now sits beside List and Board, and the project's queue sits above its task list):
playwright.config.ts, desktop:accounts,add-a-runner,cards,flows,forbidden-words,memories,project-gates,project-repository,roles,runner-dependenciesandsecrets;board:unfiltered-project-switch;surfaces:accounts,all-tasks,flow-editor,flows,memories,needs-you,projects,runners,stream,streams,task-asks,task-blocked,task-diagramandtask-run-strip;work-the-flows:dispatch-dialog,dispatch-roles,dispatch-roles-cut,dispatch-runner,dispatch-tags,dispatch-task-menu,flow-at-step,flow-blocked,flow-done,flow-named,flow-queued-behind,flow-queued-blocked,flow-refused,flow-resumed,flow-stopped,flow-unmet, theneeds-you*scenes,question-picksandrunners-running.playwright.config.ts, desktop and phone:project-form,surfacesproject-boardandproject-list, andwork-the-flowsdispatch-row-menu.playwright.navigator.config.ts:coloursidebar,context,crowded,floors,galaxy,layered,navigator-page,page-zoom,remaining,stream-liststreamsandtask-listtask-list;task-listproject-list.playwright.webkit.config.ts, desktop:dispatch-dialog.The S4 mockups (artifact version 36) could not be reached from the run. The surfaces follow the planspec's words for S4 V1, V2 and V3 and the design system in
web/design/README.md: a drag handle in its own segment at the left, Remove in a ⋯ menu, and state colours from the one map.Gates
sak-gate full, gate run 2, ate17584ab: passed. It covers the builds, the web's checks and unit tests with the design check,tests/run.sh, the release, the deploy contract,playwright.config.ts(797 passed, 1 skipped) andplaywright.runner.config.ts(10 passed).playwright.navigator.config.ts(168 passed) andplaywright.webkit.config.ts(1 passed) ran in full at825ada4cto re-record their goldens. The gate does not run them. The two later commits change no golden.