Commit Graph
100 Commits
Author SHA1 Message Date
kamilkrzywda c9e9113a45 Slow sim to 1× on landing and resume last selected speed (ISS-057, v0.30.0)
CI / build + unit + e2e (pull_request) Successful in 8m57s
2026-09-20 20:27:59 +00:00
kamilkrzywda 5e7ec903d3 Merge pull request 'Remove flaky time-controls e2e test (v0.29.1)' (#60) from fix/remove-flaky-time-controls-test into master
CI / build + unit + e2e (push) Successful in 9m31s
2026-09-20 20:36:14 +02:00
kamilkrzywda 0b946b743c Remove flaky time-controls e2e test (v0.29.1)
CI / build + unit + e2e (pull_request) Successful in 8m19s
2026-09-20 18:23:20 +00:00
kamilkrzywda 86d486fb69 Merge pull request 'Ignore job: dismiss open jobs from the market (ISS-047 part B, v0.29.0)' (#59) from feat/ignore-job into master
CI / build + unit + e2e (push) Failing after 8m0s
2026-09-20 20:15:41 +02:00
kamilkrzywda b4b25551ff Fix ignore route slug collision ([packageId] → [id]) — Next.js runtime 500s (ISS-047 part B)
CI / build + unit + e2e (pull_request) Successful in 8m21s
2026-09-20 18:07:18 +00:00
kamilkrzywda 8a12f07703 Ignore a job: dismiss an open package so it leaves the market (ISS-047 part B, v0.29.0)
CI / build + unit + e2e (pull_request) Failing after 12m34s
New terminal status 'ignored' + ignorePackage action + POST /api/packages/{packageId}/ignore
(no body, no penalty; top-up logic refills the market). Ignore button per open-package row in
the Jobs tab. OpenAPI gains the 13th endpoint; unit tests for the action (happy/409x5/404),
engine terminal-status coverage, and a new e2e spec test.
2026-09-20 14:28:47 +00:00
kamilkrzywda a84bc7ed21 Merge pull request 'Right pane tabs (Jobs | Planes market) + 5 new plane types with tech-spec panels (ISS-047 part A, v0.28.0)' (#58) from feat/right-pane-tabs-plane-market into master
CI / build + unit + e2e (push) Failing after 9m20s
2026-09-20 16:11:34 +02:00
kamilkrzywda 7524f943d2 Right pane tabs Jobs/Planes market + 5 new plane types with tech-spec panels + sell-plane cargo guard (ISS-047 part A)
CI / build + unit + e2e (pull_request) Successful in 8m56s
2026-09-20 13:57:52 +00:00
kamilkrzywda 4f182a22b6 Merge pull request 'Right pane width matches left pane: 280→360px + toast offset (ISS-046)' (#56) from ui/right-pane-width into master
CI / build + unit + e2e (push) Successful in 7m56s
2026-09-20 15:29:41 +02:00
kamilkrzywda 34b38dd5d5 Right pane width matches left pane: 280→360px + toast offset (ISS-046)
CI / build + unit + e2e (pull_request) Successful in 8m8s
2026-09-20 13:17:33 +00:00
kamilkrzywda b2133fd25c Merge pull request 'Weight-based cargo capacity + weight/distance payout (ISS-045)' (#52) from feat/weight-capacity-payout into master
CI / build + unit + e2e (push) Successful in 7m52s
2026-09-20 14:54:54 +02:00
kamilkrzywda 179fad450d Package weight, payload capacity and per-kg payout (ISS-045)
CI / build + unit + e2e (pull_request) Successful in 8m2s
Packages carry a real weightKg (unit weight x count with +/-30% jitter),
plane capacity becomes maxPayloadKg instead of 6 slots, load validation
sums cargo weight against the payload, and the payout gains a per-kg part.
Loadout display shows tonnage; OpenAPI swaps CatalogEntry.capacity for
maxPayloadKg and adds PackageState.weightKg.
2026-09-20 12:42:03 +00:00
kamilkrzywda 85b7b07f53 Merge pull request 'Flight queue UI: dotted map line, left-pane Queue sub-section, e2e (ISS-043 part 2)' (#51) from feat/flight-queue-ui into master
CI / build + unit + e2e (push) Successful in 9m9s
2026-09-20 13:57:39 +02:00
kamilkrzywda 5ef661a06f Fix queue.spec.ts test 1: refuel to full before the long leg (fuel 409 was timing out the fly poll)
CI / build + unit + e2e (pull_request) Successful in 9m0s
2026-09-20 11:48:36 +00:00
kamilkrzywda 408cd933f4 Flight queue UI: dotted map line, left-pane Queue sub-section, e2e (ISS-043 part 2)
CI / build + unit + e2e (pull_request) Failing after 6m51s
2026-09-20 11:31:11 +00:00
kamilkrzywda 3395fb4f90 Merge pull request 'ISS-043 (part 1): flight queue backend — data model, auto-chain on landing, add/cancel endpoints' (#50) from feat/flight-queue-backend into master
CI / build + unit + e2e (push) Successful in 6m21s
2026-09-20 13:04:17 +02:00
kamilkrzywda 537c494daa ISS-043: add queue endpoints to e2e OpenAPI path list
CI / build + unit + e2e (pull_request) Successful in 6m17s
2026-09-20 10:57:57 +00:00
kamilkrzywda 69b708dad3 Flight queue backend: planes hold a queue of upcoming legs, auto-chain on landing (ISS-043 part 1)
CI / build + unit + e2e (pull_request) Failing after 6m37s
- planes.queue TEXT NOT NULL DEFAULT '[]' — ordered JSON array of not-yet-started
  leg ICACs; active leg stays destIcao + departureSimTime. DDL + guarded ALTER
  migration for existing DBs; seed sets queue: [] explicitly.
- deliverPackages() auto-chains on arrival: with a non-empty queue and fuel
  covering the first queued leg (same requiredFuelFor rule as /fly), the plane
  immediately starts that leg from the arrival airport (stays 'flying',
  departureSimTime = arrival instant, queue shortened). Short tank → grounds
  safely with the queue kept intact; empty queue → unchanged grounding. Cargo
  delivery for the reached airport runs first and is unaffected. Ordering kept:
  delivery still runs before tickOnce's pause check, so a chained plane counts
  as still flying — no premature last-plane pause (ISS-041 preserved).
- New endpoints via performAction(): POST /api/planes/{planeId}/queue {destIcao}
  (append; works grounded or flying; 400 bad body/unknown ICAO, 404 unknown
  plane) and POST /api/planes/{planeId}/queue/cancel {index} (remove queued leg
  by index; active in-flight leg never affected; 400 non-integer/out-of-range,
  404 unknown plane). Both return the full state snapshot.
- PlaneState.queue: string[] in /api/state (null/malformed-safe parse helper
  shared with the engine); OpenAPI updated (PlaneState.queue, QueueLegRequest,
  CancelQueuedLegRequest, both paths) and openapi.test.ts expectations extended.
- Tests: auto-chain block in engine.test.ts (chain / short-fuel ground / empty
  queue) + chained-plane-no-pause regression guard; queueLeg/cancelQueuedLeg
  blocks in actions.test.ts; type-compat queue: [] fixtures in deriveEvents,
  right-pane, mapData and seed tests.

v0.25.0 — part 1 (backend) of ISS-043; UI/map rendering lands in a follow-up.
2026-09-20 10:39:00 +00:00
kamilkrzywda e109e003c0 Merge pull request 'ISS-041: pause on landing (keep speed) + auto-resume when a flight starts' (#49) from fix/pause-on-landing-auto-unpause into master
CI / build + unit + e2e (push) Successful in 7m51s
2026-09-20 12:00:02 +02:00
kamilkrzywda cbe0cda15d Pause on landing + auto-unpause on dispatch (ISS-041)
CI / build + unit + e2e (pull_request) Successful in 7m43s
Replace the ISS-011 auto-slow with pause-on-landing: when the last plane
in flight lands, tickOnce sets sim_state.paused=true WITHOUT touching
timeScale (speed preserved). flyPlane() now clears paused before
persisting so starting a flight resumes a paused sim — inside runAction(),
tick + unpause + dispatch are atomic under the sim lock.

Tests: engine.test.ts auto-slow block rewritten for pause semantics; new
flyPlane test asserts dispatch clears paused with speed untouched. E2E:
auto-slow.spec.ts renamed to pause-on-landing.spec.ts asserting the new
behavior (paused=true AND timeScale still 1000 after landing; /fly clears
paused). Cross-cutting fix: every per-spec setScale helper now POSTs
{timeScale, paused:false} — a scale-only fast-forward after a landing would
otherwise leave the clock frozen. Deliberate mid-test pauses untouched.
2026-09-20 09:48:56 +00:00
kamilkrzywda 4620707abc Merge pull request 'ISS-040: on-board package hover traces from carrier's current position' (#48) from fix/onboard-hover-current-location into master
CI / build + unit + e2e (push) Successful in 7m6s
2026-09-20 11:24:33 +02:00
kamilkrzywda 3024606ac8 On-board package hover traces from the carrier's current position (ISS-040)
CI / build + unit + e2e (pull_request) Successful in 7m11s
2026-09-20 09:16:06 +00:00
kamilkrzywda f44e7aa0f5 Merge pull request 'v0.23.1 — Align toast stack to map right edge, clear of right pane (#39)' (#44) from ui/toast-align-map-right into master
CI / build + unit + e2e (push) Successful in 6m14s
2026-09-20 10:52:40 +02:00
kamilkrzywda 58d05f5287 Align toast stack to map right edge, clear of right pane (#39)
CI / build + unit + e2e (pull_request) Successful in 7m1s
2026-09-20 08:42:58 +00:00
kamilkrzywda e18d39edd0 Merge pull request 'v0.23.0 — Move Refuel-to-full from market into left pane next to Relocate (#35)' (#42) from ui/move-refuel-to-left-pane into master
CI / build + unit + e2e (push) Successful in 7m58s
2026-09-20 10:34:43 +02:00
kamilkrzywda a7150a1062 Move Refuel-to-full from market into left pane next to Relocate (#35)
CI / build + unit + e2e (pull_request) Successful in 6m52s
2026-09-20 08:25:57 +00:00
kamilkrzywda 8eeef401ae Merge pull request 'v0.22.2 — commit ORCHESTRATOR.md manual' (#38) from docs/orchestrator-md-v2 into master
CI / build + unit + e2e (push) Successful in 6m9s
2026-09-20 09:57:56 +02:00
kamilkrzywda f273d385c2 docs: make ORCHESTRATOR.md durable — drop specifics that rot (test counts, CI run numbers, paint values)
CI / build + unit + e2e (pull_request) Successful in 6m29s
2026-09-20 07:50:11 +00:00
kamilkrzywda 3b02c7feac docs: document GITEA_TOKEN in .env.example
CI / build + unit + e2e (pull_request) Failing after 7m17s
2026-09-20 07:41:55 +00:00
kamilkrzywda 1ba70ebbf3 docs: commit ORCHESTRATOR.md manual (token via gitignored .env)
CI / build + unit + e2e (pull_request) Successful in 6m32s
2026-09-20 07:34:04 +00:00
kamilkrzywda 08a819e44c Merge pull request 'v0.22.1 — gitignore local-only ORCHESTRATOR.md' (#37) from fix/gitignore-local-docs into master
CI / build + unit + e2e (push) Successful in 6m27s
2026-09-20 09:06:59 +02:00
kamilkrzywda 50a9147665 chore: gitignore local-only ORCHESTRATOR.md manual
CI / build + unit + e2e (pull_request) Successful in 6m30s
2026-09-20 06:58:42 +00:00
kamilkrzywda 5391636979 Merge pull request 'v0.22.0 — ISS-022/025/027 hover route trace (job list, on-board rows, relocation panel)' (#34) from feat/hover-trace into master
CI / build + unit + e2e (push) Failing after 7m10s
2026-09-20 03:58:03 +02:00
kamilkrzywda ab79d9b17f fix(e2e): renderedFeatures — evaluate maplibre geometry getter in-page before Playwright serialization drops it
CI / build + unit + e2e (pull_request) Successful in 7m28s
2026-09-20 01:50:23 +00:00
kamilkrzywda 505a58b4fe fix(e2e): expectHoverRoute — ignore queryRenderedFeatures artifacts without LineString geometry (CI run #70)
CI / build + unit + e2e (pull_request) Failing after 7m49s
2026-09-20 01:22:23 +00:00
kamilkrzywda 2655ef81c8 fix: hover-route line not drawn in e2e — MapLibre clips queried lines across tiles and quantizes their coordinates (strict single-feature equality never matched)
CI / build + unit + e2e (pull_request) Failing after 6m44s
2026-09-19 22:52:12 +00:00
kamilkrzywda ac4e3fa316 feat: v0.22.0 — ISS-022 target airport distinct-color ring on job-list / relocation hover
CI / build + unit + e2e (pull_request) Failing after 8m51s
2026-09-19 22:01:02 +00:00
kamilkrzywda f2dbad5e03 feat: v0.22.0 — ISS-022/025/027 hover route trace on job list, on-board rows and relocation panel 2026-09-19 21:47:00 +00:00
kamilkrzywda 096a6bfe61 Merge pull request 'v0.21.0 — ISS-023 Relocate (empty flight) panel moves to left pane' (#33) from feat/relocate-left-pane into master
CI / build + unit + e2e (push) Successful in 5m52s
2026-09-19 23:14:42 +02:00
kamilkrzywda 71ee63b38a feat: v0.21.0 — ISS-023 Relocate panel moves to left pane
CI / build + unit + e2e (pull_request) Successful in 5m54s
2026-09-19 21:02:55 +00:00
kamilkrzywda a4f7947666 Merge pull request 'feat: v0.20.0 — ISS-021 move On board to left pane, widen left 360/280' (#31) from feat/onboard-left-pane into master
CI / build + unit + e2e (push) Successful in 6m8s
2026-09-19 22:52:02 +02:00
kamilkrzywda 570ad52d47 feat: v0.20.0 part 2 — ISS-028 on-board rows two-line layout + airport name ellipsis
CI / build + unit + e2e (pull_request) Successful in 7m1s
2026-09-19 20:41:33 +00:00
kamilkrzywda 59974d1b79 feat: v0.20.0 — ISS-021 move On board to left pane, widen left 360/280 2026-09-19 20:41:33 +00:00
kamilkrzywda af5176354a Merge pull request 'v0.19.2 — AGENTS.md: CI-only e2e workflow + connected-issues exception' (#32) from docs/agents-md-e2e-ci-only into master
CI / build + unit + e2e (push) Successful in 6m23s
2026-09-19 22:34:34 +02:00
kamilkrzywda f5468bb640 docs: v0.19.2 — AGENTS.md e2e section reflects CI-only runs; connected issues may be done together
CI / build + unit + e2e (pull_request) Successful in 7m5s
2026-09-19 20:06:40 +00:00
kamilkrzywda 0970ee4710 docs: v0.19.1 — AGENTS.md documents enforced CI gate + auto-merge
CI / build + unit + e2e (pull_request) Successful in 7m32s
CI / build + unit + e2e (push) Successful in 6m43s
2026-09-19 18:49:52 +00:00
kamilkrzywda 6e1439391a Merge pull request 'v0.19.0 — ISS-011 auto-slow to 1× when all planes have landed' (#24) from feat/auto-slow-on-idle into master
CI / build + unit + e2e (push) Successful in 5m59s
2026-09-19 20:27:00 +02:00
kamilkrzywda 86379fc9c6 feat: v0.19.0 — ISS-011 auto-slow to 1x when all planes have landed
CI / build + unit + e2e (pull_request) Successful in 6m14s
2026-09-19 18:07:42 +00:00
kamilkrzywda f0602453ea Merge pull request 'v0.18.0 — ISS-010 relocate empty planes + bigger airport markers + popup options' (#20) from feat/plane-relocation into master
CI / build + unit + e2e (push) Successful in 6m4s
2026-09-19 18:44:56 +02:00
kamilkrzywda 337eda2743 test: target the plane option specifically in relocation popup e2e
CI / build + unit + e2e (pull_request) Successful in 7m32s
2026-09-19 16:35:19 +00:00
kamilkrzywda 8852ae11f2 test: fix POPUP_AIRPORT scoping in relocation popup e2e
CI / build + unit + e2e (pull_request) Failing after 6m49s
2026-09-19 16:23:03 +00:00
kamilkrzywda 008a77e456 feat: v0.18.0 part 3 — market row to relocate a grounded plane
CI / build + unit + e2e (pull_request) Failing after 6m17s
2026-09-19 16:03:03 +00:00
kamilkrzywda 3e62d63418 feat: v0.18.0 part 2 — airport popup relocate options 2026-09-19 15:57:33 +00:00
kamilkrzywda 09c1d8bcd8 feat: v0.18.0 part 1 — ISS-010 bigger airport markers 2026-09-19 15:57:23 +00:00
kamilkrzywda 0467b54c70 Merge pull request 'v0.17.0 — ISS-008 toasts for errors/events + browser notifications' (#19) from feat/toasts-and-notifications into master
CI / build + unit + e2e (push) Successful in 6m31s
2026-09-19 17:33:14 +02:00
kamilkrzywda 51d4f21d6b fix: v0.17.0 — sim-control POST retries + permission-aware notifications e2e
CI / build + unit + e2e (pull_request) Successful in 6m52s
2026-09-19 15:23:20 +00:00
kamilkrzywda d8dc785757 feat: v0.17.0 — ISS-008 toasts for errors/events + browser notifications
CI / build + unit + e2e (pull_request) Failing after 6m59s
2026-09-19 14:52:36 +00:00
kamilkrzywda eb69359a38 Merge pull request 'v0.16.1 — ISS-007 smooth client-side sim clock with per-snapshot re-sync' (#18) from feat/smooth-sim-clock into master
CI / build + unit + e2e (push) Successful in 6m34s
2026-09-19 16:27:21 +02:00
kamilkrzywda 3acf471295 test: fix ISS-007 clock parse — replace only fixed the first space
CI / build + unit + e2e (pull_request) Successful in 6m4s
2026-09-19 14:20:34 +00:00
kamilkrzywda 7d2f8f07c8 feat: v0.16.1 — ISS-007 smooth client-side sim clock with per-snapshot re-sync
CI / build + unit + e2e (pull_request) Failing after 6m42s
2026-09-19 14:00:47 +00:00
kamilkrzywda 05d956f71b Merge pull request 'v0.16.0 — ISS-005 weighted fuel burn + "refuel just enough" per package' (#17) from feat/fuel-weight-refuel-for-flight into master
CI / build + unit + e2e (push) Successful in 6m23s
2026-09-19 15:44:09 +02:00
kamilkrzywda ae1cb93a4f test: harden full-core-loop against Load/Fly precondition races
CI / build + unit + e2e (pull_request) Successful in 6m32s
2026-09-19 13:36:27 +00:00
kamilkrzywda 687e4f2169 fix: forFlight refuel leaves an exactly-feasible tank (round up) — e2e 409
CI / build + unit + e2e (pull_request) Failing after 5m26s
2026-09-19 13:00:06 +00:00
kamilkrzywda a801311fc5 feat: v0.16.0 — ISS-005 weight-proportional fuel burn + refuel just enough for the loaded package
CI / build + unit + e2e (pull_request) Failing after 5m28s
Part A: r(F) = k(We + rho*F) L/km, k calibrated so a full tank burns exactly
the old constant; closed forms in lib/sim/movement.ts (fuelAtWeighted,
requiredFuelFor, burnRateConstant, FUEL_DENSITY_KG_PER_L). Catalog gains
emptyWeightKg (ATR72 OEW 9300 kg), exposed in the snapshot. All three burn
call sites (engine landing, state live fuel, fly validation) moved to the
weighted model; old constant-rate fuelAt removed.

Part B: POST /api/planes/{planeId}/refuel takes an optional body
{mode:'full'|'forFlight', packageId} — no body keeps today's fill-to-full
behavior exactly (fuel lands bit-exact on maxFuel); forFlight adds just
enough for the loaded package's destination leg (409 not-loaded/expired/
doesn't-fit, 400 bad body). UI: per-cargo-row 'Refuel' button
(refuel-for-{pkg.id}), market button renamed 'Refuel to full'.

OpenAPI: RefuelRequest schema + optional requestBody + 400 on refuel, fly's
409 description updated, CatalogEntry.emptyWeightKg. Tests: new weighted-burn
suite, forFlight action/route cases (incl. ~7670 km UNNT<->LPPD doesn't-fit),
openapi guards; landing-fuel assertions in engine.test.ts + e2e/actions.spec.ts
use the closed form; the e2e 'return leg unfuelable' scenario reworked — a full
tank now covers the EDDF<->LEZL round trip, so the 409 moves to the second
outbound. New e2e: row Refuel deducts exactly L*price / raises fuel by exactly
L via the endpoint's own response snapshot.
2026-09-19 12:24:34 +00:00
kamilkrzywda 1dc5beb0dd Merge pull request 'v0.15.1 — ISS-004 right pane widened, On-board wrapping fixed' (#16) from fix/right-pane-width into master
CI / build + unit + e2e (push) Successful in 5m4s
2026-09-19 13:38:52 +02:00
kamilkrzywda b6bfcedaf6 test: click the rendered marker position while paused — closes render-lag race (CI run #37)
CI / build + unit + e2e (pull_request) Successful in 5m0s
2026-09-19 11:32:19 +00:00
kamilkrzywda 4c99dbe550 fix: v0.15.1 — ISS-004 right pane widened to 360px, on-board wrap fixes
CI / build + unit + e2e (pull_request) Failing after 6m15s
2026-09-19 11:05:02 +00:00
kamilkrzywda e6d7e03934 Merge pull request 'v0.15.0 — ISS-002 hovering a plane or package in the side panels highlights it on the map' (#15) from feat/map-hover-highlight into master
CI / build + unit + e2e (push) Failing after 4m21s
2026-09-19 12:57:45 +02:00
kamilkrzywda 08094a00e2 test: hover spec — fleet row testid is plane-${p.id} (double prefix), derive from state
CI / build + unit + e2e (pull_request) Successful in 5m42s
2026-09-19 10:51:18 +00:00
kamilkrzywda eff934a1cc test: decisive hover diagnostics — browser snapshot vs node state + fleet HTML; CI fresh DB per run
CI / build + unit + e2e (pull_request) Failing after 6m3s
2026-09-19 10:35:36 +00:00
kamilkrzywda 3209dea425 test: hover spec — robust fleet-row wait + fit map to both endpoints before asserting
CI / build + unit + e2e (pull_request) Failing after 6m15s
2026-09-19 10:06:48 +00:00
kamilkrzywda 3b6506832f feat: v0.15.0 — ISS-002 hovering a plane or package in the side panels highlights it on the map
CI / build + unit + e2e (pull_request) Failing after 6m8s
2026-09-19 09:37:42 +00:00
kamilkrzywda 7db8fcc549 Merge pull request 'v0.14.0 — ISS-006 time-scale slider values up to 1000x; tests use fastest time' (#14) from feat/time-scale-slider-1000x into master
CI / build + unit + e2e (push) Successful in 4m27s
2026-09-19 11:16:55 +02:00
kamilkrzywda d65d4e45b9 test: pause sim around plane-popup marker click at 1000× (rendered marker lags fresh state by one poll)
CI / build + unit + e2e (pull_request) Successful in 4m43s
2026-09-19 09:11:10 +00:00
kamilkrzywda bd00b2b4c4 feat: v0.14.0 — ISS-006 time-scale slider values up to 1000x; tests use fastest time
CI / build + unit + e2e (pull_request) Failing after 4m52s
2026-09-19 08:49:30 +00:00
kamilkrzywda 0c9279818a ci: e2e list reporter — per-test progress in job log
CI / build + unit + e2e (pull_request) Successful in 19m58s
CI / build + unit + e2e (push) Successful in 18m20s
2026-09-19 08:09:32 +00:00
kamilkrzywda eb2e7a7430 Merge pull request 'CI: Gitea Actions pipeline (build → unit → e2e) + pull-request workflow' (#9) from ci/pr-workflow into master
CI / build + unit + e2e (push) Failing after 13m20s
2026-09-19 09:59:49 +02:00
kamilkrzywda 97f82dd464 ci: self-hosted map assets for e2e — download + cache pack, mount ./public
CI / build + unit + e2e (pull_request) Successful in 18m27s
2026-09-19 07:55:29 +00:00
kamilkrzywda aa5eabeb78 ci: bounded retries around playwright browser install — flaky CDN, progress accumulates 2026-09-19 07:53:22 +00:00
kamilkrzywda 35493f92f0 ci: cache playwright browsers across runs; drop no-op save step 2026-09-19 07:53:22 +00:00
kamilkrzywda e694011302 ci: e2e — static in-network IP for the app (bypass DNS) + post-deploy chromium diagnostics 2026-09-19 07:53:22 +00:00
kamilkrzywda 0bfbd2a2e8 ci: e2e — bypass proxy for in-network app host + connectivity diagnostics 2026-09-19 07:53:22 +00:00
kamilkrzywda b112339dd3 ci: keep e2e webServer alive — up -d returns immediately, playwright needs a long-running cmd 2026-09-19 07:53:22 +00:00
kamilkrzywda f89f0407ae ci: image build needs no outbound net — copy job-installed node_modules; base alpine→slim 2026-09-19 07:53:22 +00:00
kamilkrzywda 14aaf26900 ci: revert to run-12 workflow state — retries restored, diagnostics removed 2026-09-19 07:53:22 +00:00
kamilkrzywda c30f5f650f ci: v0.13.0 — DNS diagnostics daemon-side probe uses local node:22-alpine (no image pull) 2026-09-19 07:53:22 +00:00
kamilkrzywda 54c7a0c5f5 ci: v0.13.0 — drop retry wrappers; add non-fatal DNS diagnostics step 2026-09-19 07:53:22 +00:00
kamilkrzywda d0149c6ab3 ci: v0.13.0 — retry wrappers for flaky runner network (bun install, dep install, e2e image build) 2026-09-19 07:53:22 +00:00
kamilkrzywda 579d425b64 ci: v0.13.0 — plain-progress image build, bun cache mounts + actions/cache around dep install 2026-09-19 07:53:22 +00:00
kamilkrzywda 543aad310c ci: v0.13.0 — drop daemon probing; runner provides docker out of the box 2026-09-19 07:53:22 +00:00
kamilkrzywda 5ee0d89826 ci: v0.13.0 — e2e via shared docker network (flight-ci-e2e) instead of endpoint-derived URL 2026-09-19 07:53:22 +00:00
kamilkrzywda 47381f2011 ci: adapt to full-dind runner — drop dind service, resolve daemon endpoint 2026-09-19 07:53:22 +00:00
kamilkrzywda 775b0e479a ci: allow manual workflow dispatch 2026-09-19 07:53:22 +00:00
kamilkrzywda 0c921556fb chore: v0.13.0 — CI pipeline (build → unit → e2e) on PRs to master + push, dind-isolated e2e stack (docker-compose.ci.yml), playwright config env-var overrides (PW_REMOTE_BROWSER/E2E_DEPLOY_CMD/E2E_BASE_URL/E2E_COMPOSE_ARGS, backward-compatible), @playwright/test pinned as devDependency; AGENTS.md switched to pull-request workflow 2026-09-19 07:53:22 +00:00
kamilkrzywda db998a9dfb test: v0.12.3 — remove unreliable curved-route e2e assertion (querySourceFeatures returns tile-simplified geometry at low zoom, so coordinate counts are not a valid signal; arc stays unit-tested in lib/mapData.test.ts) 2026-09-19 07:39:28 +00:00
kamilkrzywda 79cf5a05e2 fix: v0.12.2 — ISS-003 route leg lines now follow the curved great-circle path (greatCircleArc, 25 sampled points via sim slerp) instead of a straight two-point chord; e2e asserts >2 coordinates in the routes source 2026-09-18 14:06:38 +00:00
kamilkrzywda 7c51cadef7 fix: v0.12.1 — ISS-001 time-scale slider no longer snaps back to the stale value on speed change (optimistic scale kept until a snapshot confirms it); sim-control commit machinery hardened (synchronous busy ref, in-flight queue flush loop, sent/queued/failed outcomes so queued commits never drop the display) 2026-09-18 12:10:40 +00:00
kamilkrzywda ab2e9fa54a feat: v0.12.0 — contracts → packages: load/fly/abandon gameplay (ATR 72-600 capacity 6, manual flight to any airport, time-scaled abandon penalty 15–60%), one-time DB migration preserving wallet/clock; new endpoints /api/packages/:id/load|abandon + /api/planes/:planeId/fly 2026-09-18 11:02:56 +00:00
kamilkrzywda 0208673da7 feat: v0.11.0 — map interactions per PLAN.md: expanded airport popup (approx local time + deterministic generated weather), animated plane markers from /api/state polls with status popups, active contract route lines (pending dashed vs in-flight solid); pure libs lib/weather.ts, lib/localTime.ts, lib/mapData.ts 2026-09-18 07:40:39 +00:00
kamilkrzywda 4c06ed26ff fix: v0.10.1 — dispatch pickers independent per accepted contract (placeholder default, no first-eligible auto-fallback; stale-select fix via explicit placeholder option) 2026-09-18 06:48:55 +00:00