1
0
Fork 0
polaris-task-force/tests/e2e
Z8MB1E 80ad24580a fix(tech-tree): save canvas positions in one request so auto-arrange cannot overload the server
Every canvas position write (Auto-arrange, Save positions, drags, freeze pins)
used to send one PATCH per technology, all at once. On a large tree that was
dozens of concurrent full document updates, which exhausted the database pool
and could crash the server.

- Add POST /api/tech-tree/positions: validates `{ positions: [{ id, x, y }] }`
  (null x/y clears a pin, capped at 2000) and applies every position in a
  single UPDATE on the tree position columns. Access mirrors the technologies
  update rule (technologies:update or Intelligence membership).
- Route all canvas position writes through it; failures now surface in the
  toolbar instead of being swallowed.
- Auto-arrange is optimistic: the canvas re-lays out on click and the pins
  are restored if the save fails. A spinner status chip shows while a layout
  save runs, and layout controls and dragging are locked until it finishes.
- Integration tests for validation and the bulk write; the e2e checks the busy
  indicator and that no per-node PATCHes are sent.
2026-10-03 04:08:29 -04:00
..
banner_check.spec.mjs test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
frontend.e2e.spec.ts test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
global-setup.ts test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
operations-reservations.e2e.spec.ts test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
operations.e2e.spec.ts test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
opord-recall.e2e.spec.ts test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
supply-boxes.e2e.spec.ts test(e2e): seed e2e user, serialize workers, and deflake specs 2026-09-30 18:43:29 -04:00
tech-tree.e2e.spec.ts fix(tech-tree): save canvas positions in one request so auto-arrange cannot overload the server 2026-10-03 04:08:29 -04:00
tours.e2e.spec.ts feat(tours): add permission-aware guided tours with replay and device opt-out 2026-09-30 18:43:21 -04:00