1
0
Fork 0
polaris-task-force/tests/int
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
..
adjacency.int.spec.ts feat(base): production, modules, adjacency auras, compounds, and crew speed 2026-09-20 02:43:23 -04:00
admin-page-access.int.spec.ts feat(auth): scope Payload admin pages by permissions 2026-09-01 21:39:09 -04:00
aim-trainer.int.spec.ts refactor(minigames): move routes, components, and libs under minigames parents 2026-09-09 00:02:59 -04:00
announcements.int.spec.ts feat(announcements): add announcements system with roleDocs targeting and richText 2026-09-22 21:08:46 -04:00
api.int.spec.ts feat: initial payload scaffolding 2025-10-24 02:07:13 -04:00
arma-catalog-import.int.spec.ts feat(arma): extract catalog icons and extend the import library 2026-10-03 03:29:58 -04:00
arma-shop-money.int.spec.ts feat(arma): sync in-game shop money events to bank accounts 2026-10-01 10:04:32 -04:00
award-advancement.int.spec.ts feat(awards): add award advancement series 2026-09-11 17:07:37 -04:00
award-notifications.int.spec.ts feat(notifications): notify users when awards are granted via profile edit 2026-08-27 14:01:16 -04:00
blackjack-card-skins.int.spec.ts feat(blackjack): add blackjack minigame with realtime table wiring 2026-09-14 15:38:05 -04:00
blackjack-engine.int.spec.ts feat(blackjack): add blackjack minigame with realtime table wiring 2026-09-14 15:38:05 -04:00
blackjack-popups.int.spec.ts feat(blackjack): add blackjack minigame with realtime table wiring 2026-09-14 15:38:05 -04:00
blackjack-sound.int.spec.ts feat(blackjack): add blackjack minigame with realtime table wiring 2026-09-14 15:38:05 -04:00
blackjack-stats.int.spec.ts feat(blackjack): add blackjack minigame with realtime table wiring 2026-09-14 15:38:05 -04:00
blackjack-tables.int.spec.ts fix(blackjack): resolve leaver turns, dedupe pending joins, terminate spectators 2026-09-19 17:39:18 -04:00
chips.int.spec.ts feat(chips): persistent chip pool economy with shared balance card 2026-09-14 15:38:05 -04:00
construction-speed.int.spec.ts feat(base): production, modules, adjacency auras, compounds, and crew speed 2026-09-20 02:43:23 -04:00
custom-minefields.int.spec.ts fix(eod): unlock custom minefields after clearing two sectors 2026-09-09 18:55:00 -04:00
custom-radio-tests.int.spec.ts refactor(minigames): move routes, components, and libs under minigames parents 2026-09-09 00:02:59 -04:00
division-admin-access.int.spec.ts fix(access): reserve approval final states for the superuser tier, gate admin panel entry on page permissions 2026-09-22 14:50:40 -04:00
economy-consumption.int.spec.ts feat(economy): ingest purchase demand and price vendor listings from the ledger 2026-09-06 17:22:32 -04:00
economy-events.int.spec.ts feat(economy): add economy tick with demand simulation and price modifiers 2026-09-06 17:22:30 -04:00
economy.int.spec.ts feat(economy): add economy tick with demand simulation and price modifiers 2026-09-06 17:22:30 -04:00
evaluations.int.spec.ts feat(world): game map collections with basemaps, map permissions, and meter proximity 2026-09-16 23:13:57 -04:00
friday-ops-notice.int.spec.ts test(int): cover the Friday open-slot notice 2026-09-18 14:52:39 -04:00
generic-node.int.spec.ts feat(map): gate feature authoring and structure placement behind dedicated permissions 2026-09-30 14:50:14 -04:00
imminent-reminders.int.spec.ts feat(missions): auto-start and auto-complete ops, plus side-op scheduling 2026-10-03 03:29:35 -04:00
kill-tracking.int.spec.ts feat(arma): track player kills from sync events 2026-08-26 18:05:51 -04:00
leadership-transfers.int.spec.ts feat(promotions): add promotion nominations and leadership transfers 2026-10-03 03:29:24 -04:00
map-system.int.spec.ts feat(map): gate feature authoring and structure placement behind dedicated permissions 2026-09-30 14:50:14 -04:00
market.int.spec.ts feat(economy): ingest purchase demand and price vendor listings from the ledger 2026-09-06 17:22:32 -04:00
mission-card.int.spec.ts feat(projects): add project tracking workspace 2026-08-20 19:55:33 -04:00
mission-lifecycle.int.spec.ts feat(missions): auto-start and auto-complete ops, plus side-op scheduling 2026-10-03 03:29:35 -04:00
mission-reminder-toasts.int.spec.ts feat(intelligence): add mission feedback reminders 2026-08-28 00:20:41 -04:00
mission-reminder.int.spec.ts feat(world): game map collections with basemaps, map permissions, and meter proximity 2026-09-16 23:13:57 -04:00
mission-role-signups.int.spec.ts feat(missions): role sign-ups with FCFS waitlist and rich-text role descriptions 2026-09-30 14:50:26 -04:00
modules.int.spec.ts feat(base): production, modules, adjacency auras, compounds, and crew speed 2026-09-20 02:43:23 -04:00
notification-access.int.spec.ts fix(notifications): scope user notification reads 2026-09-01 17:17:34 -04:00
operation-allocation.int.spec.ts feat(operations): mission reservations and deterministic settlement 2026-09-20 02:43:47 -04:00
operation-economy.int.spec.ts feat(operations): bounded economy effects and market repair 2026-09-20 02:43:53 -04:00
operation-ledger.int.spec.ts feat(operations): versioned operation event and effect ledger 2026-09-20 02:43:40 -04:00
operation-readiness.int.spec.ts feat(operations): drop attendance from readiness scoring 2026-09-22 18:14:44 -04:00
operation-reservation-actions.int.spec.ts feat(operations): reservation actions, surfaces, and cancel flow 2026-09-21 07:46:27 -04:00
operation-reservation-options.int.spec.ts test(int): scope reservation vehicle and respawn balance assertions to the run 2026-09-21 20:48:02 -04:00
operation-reservation-surfaces.int.spec.ts fix(operations): move page data helpers to surface modules 2026-09-21 20:47:57 -04:00
operation-rollout.int.spec.ts chore(operations): rollout controls, reconciliation, and bridge recovery 2026-09-20 02:45:00 -04:00
operation-settlement.int.spec.ts feat(operations): mission reservations and deterministic settlement 2026-09-20 02:43:47 -04:00
operation-territory.int.spec.ts feat(operations): readiness and zone pressure aggregates 2026-09-20 02:43:53 -04:00
operation-ui-primitives.int.spec.ts feat(ui): tactical operation primitives and role surfaces 2026-09-20 02:44:53 -04:00
operations-surface.int.spec.ts feat(ui): tactical operation primitives and role surfaces 2026-09-20 02:44:53 -04:00
poker-card-skins.int.spec.ts feat(poker): add card skin toggle with light, dark, and classic svg decks 2026-09-11 17:07:05 -04:00
poker-dev-controls.int.spec.ts fix(poker): dev panel card pickers ignored the first selection 2026-09-16 19:10:37 -04:00
poker-engine.int.spec.ts feat(poker): engine upgrades, named tables, and stat extensions 2026-09-14 15:37:19 -04:00
poker-hand-hint.int.spec.ts feat(poker): grade hand ranks on a progressive style ladder 2026-09-11 17:30:03 -04:00
poker-popups.int.spec.ts feat(poker): felt UI popups, named table display, and dev controls 2026-09-14 15:37:19 -04:00
poker-rank-style.int.spec.ts feat(poker): grade hand ranks on a progressive style ladder 2026-09-11 17:30:03 -04:00
poker-sound.int.spec.ts feat(poker): add synthesized sfx and generative background jazz 2026-09-11 17:07:12 -04:00
poker-stats.int.spec.ts feat(poker): add poker engine, evaluation and stats libs with tests 2026-09-11 03:25:43 -04:00
poker-tables.int.spec.ts feat(poker): felt UI popups, named table display, and dev controls 2026-09-14 15:37:19 -04:00
preferences-form.int.spec.ts feat(preferences): add background texture toggle 2026-08-28 01:20:12 -04:00
production.int.spec.ts feat(base): production, modules, adjacency auras, compounds, and crew speed 2026-09-20 02:43:23 -04:00
promotion-nominations.int.spec.ts feat(promotions): add promotion nominations and leadership transfers 2026-10-03 03:29:24 -04:00
promotions.int.spec.ts feat(promotions): add rank promotion ceiling with GM promote flow 2026-09-14 15:37:05 -04:00
respawn-tickets.int.spec.ts test(int): scope reservation vehicle and respawn balance assertions to the run 2026-09-21 20:48:02 -04:00
ribbon-submissions.int.spec.ts feat(awards): add award advancement series 2026-09-11 17:07:37 -04:00
server-presence.int.spec.ts feat(server): add stale presence monitoring 2026-08-26 18:05:57 -04:00
session-countdown.int.spec.ts feat(session): add pre-expiry warning banner with extend button 2026-09-23 15:02:10 -04:00
session-token.int.spec.ts test(auth): cover session token expiry parsing 2026-08-28 00:20:58 -04:00
shipment-lifecycle.int.spec.ts feat(logistics): timestamp shipment lifecycle with client relay 2026-09-20 02:43:29 -04:00
shipping-client.int.spec.ts feat(logistics): timestamp shipment lifecycle with client relay 2026-09-20 02:43:29 -04:00
story-beats.int.spec.ts feat(story): swipe page turns in book view 2026-09-25 15:55:21 -04:00
supply-box-actions.int.spec.ts feat(logistics): supply box management surface 2026-09-21 08:19:33 -04:00
supply-box-sync.int.spec.ts feat(operations): supply-box sync store and handler 2026-09-21 07:40:44 -04:00
surveys.int.spec.ts feat(surveys): periodic reminder toasts for pending surveys 2026-09-23 21:07:13 -04:00
table-names.int.spec.ts feat(poker): engine upgrades, named tables, and stat extensions 2026-09-14 15:37:19 -04:00
tech-categories.int.spec.ts test(tech-tree): add integration and e2e coverage 2026-10-01 10:04:07 -04:00
tech-tree-edge-routes.int.spec.ts feat(tech-tree): drag groups, snap to grid, and route edges around nodes 2026-10-03 03:28:27 -04:00
tech-tree-layout.int.spec.ts test(tech-tree): add integration and e2e coverage 2026-10-01 10:04:07 -04:00
tech-tree-positions.int.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
tech-tree-prereq-edits.int.spec.ts test(tech-tree): add integration and e2e coverage 2026-10-01 10:04:07 -04:00
tech-tree-stability.int.spec.ts test(tech-tree): add integration and e2e coverage 2026-10-01 10:04:07 -04:00
tickets.int.spec.ts feat(helpdesk): add ticket controls actions and coverage 2026-09-01 17:48:40 -04:00
tours.int.spec.ts feat(tours): add permission-aware guided tours with replay and device opt-out 2026-09-30 18:43:21 -04:00
transfer-bot-delivery.int.spec.ts feat: Add remaining transfer components and utilities 2026-08-31 23:41:29 -04:00
transfer-requests.int.spec.ts feat: Add remaining transfer components and utilities 2026-08-31 23:41:29 -04:00
voiceover-config.int.spec.ts fix(voiceover): remove upload mime allowlist and pin upload config in test 2026-09-07 01:34:28 -04:00
wiki-documentation.int.spec.ts test(wiki): integration coverage for Documentation access gating 2026-09-30 18:43:39 -04:00
wiki.int.spec.ts fix(intel): require write permissions for wiki moderation qualification 2026-09-11 03:25:59 -04:00
world-map-screen.int.spec.ts feat(map): world map picker entry, intel fields, node icons, generic markers 2026-09-21 20:47:46 -04:00