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
kamilkrzywda
cf811dcf4d
feat: v0.10.0 — right Jobs & Market pane (contracts accept/dispatch, market buy/sell/refuel with live previews); catalog + economy constants exposed in /api/state; shared applySnapshot for instant action feedback
2026-09-17 19:18:42 +00:00
kamilkrzywda
03653fc50e
feat: v0.9.2 — power-of-two time scale: slider steps through the 1/2/4/8/16/32/64 ladder, POST /api/sim clamp widened to [1,64]
2026-09-17 19:15:15 +00:00
kamilkrzywda
62f9929b51
feat: v0.9.1 — left-pane time controls refined: log-scale slider (t→round(60^t), 250 ms debounced commit with release flush + in-flight queue) replaces the scale select; game clock now shows seconds (HH:MM:SS UTC)
2026-09-17 16:13:28 +00:00
kamilkrzywda
9502cd1975
feat: v0.9.0 — single-screen 3-pane shell + left Assets pane (wallet/reputation/fleet/time controls) from a single /api/state poll; right pane placeholder
2026-09-17 15:43:29 +00:00
kamilkrzywda
aa70eb5286
feat: v0.8.0 — player-actions API: accept/dispatch/buy/sell/refuel endpoints (tick-first, full-snapshot responses), spawn coverage rule, test create-contract hook
2026-09-17 13:54:13 +00:00
kamilkrzywda
96835e935d
feat: v0.7.0 — server-authoritative sim engine: tick-on-read clock (time-scale + pause via POST /api/sim), contract expiry + market spawn, analytic plane movement/finalization
2026-09-17 12:38:52 +00:00
kamilkrzywda
7fdc43bc7e
feat: v0.6.0 — data foundation: Drizzle ORM + SQLite (sql.js/WASM) persistence, first-run seed, read-only GET /api/state snapshot
2026-09-17 11:51:42 +00:00
kamilkrzywda
4d9a1e9fa9
feat: v0.5.0 — machine-readable API docs: GET /api/version + OpenAPI 3.1 spec at /api/openapi; AGENTS.md points agents at the live spec
2026-09-17 10:15:25 +00:00
kamilkrzywda
1c50cfeab2
feat: v0.4.1 — untrack map-asset pack (~100 MB): compose volume mount + runtime fallback to remote OFM styles
2026-09-17 09:14:34 +00:00
kamilkrzywda
501c452377
feat: v0.4.0 — self-host OFM styles/fonts/sprites (tiles stay remote) + top-bar style switcher defaulting to Fiord
2026-09-17 08:24:58 +00:00
kamilkrzywda
b011953087
feat: v0.3.1 — show app version in header (sourced from package.json)
2026-09-17 06:37:28 +00:00
kamilkrzywda
b7796e5d78
feat: v0.3.0 — flat 2D camera: remove zoom-driven tilt + terrain; max zoom ~100 km screen width
2026-09-17 00:33:10 +00:00
kamilkrzywda
11619d11b2
feat: v0.2.9 — drop 18 metro satellite airports; multi-airport cities show one dot each
2026-09-17 00:23:14 +00:00
kamilkrzywda
ca92945fd0
feat: v0.2.8 — reduce dataset to large_airport only; map shows the 260 biggest airports
2026-09-16 23:53:32 +00:00
kamilkrzywda
3c8d9c9b53
feat: v0.2.7 — drop small_airport rows; map shows the 1045 bigger airports
2026-09-16 23:40:14 +00:00
kamilkrzywda
fbf583fddd
chore: v0.2.6 — Docker build on bun, prod-only runtime image
2026-09-16 22:41:41 +00:00
kamilkrzywda
f3d8f4b163
chore: v0.2.5 — e2e workflow mandated in AGENTS.md, local dev path removed from config
2026-09-16 21:23:18 +00:00
kamilkrzywda
db624b94e2
chore: v0.2.4 — e2e default mode targets prod build behind Traefik via docker compose
2026-09-16 21:07:48 +00:00
kamilkrzywda
967bb123b6
chore: v0.2.3 — e2e launches browsers on shared remote Playwright server by default (E2E_LOCAL/E2E_REMOTE)
2026-09-16 20:31:24 +00:00
kamilkrzywda
185e914db2
chore: v0.2.2 — e2e config supports remote runner (E2E_REMOTE/E2E_BASE_URL)
2026-09-16 20:06:42 +00:00
kamilkrzywda
abdeca2a6a
fix: v0.2.1 — clamp map zoom to 3–14
2026-09-16 19:50:26 +00:00
kamilkrzywda
eef3430ad5
feat: v0.2.0 — Docker deployment behind shared Traefik proxy (flight.dev.kkhost.pl)
2026-09-16 18:32:22 +00:00
kamilkrzywda
30e33a08cf
feat: v0.1.0 — scaffold + MapLibre map with EU airports
2026-09-16 18:24:27 +00:00
kamilkrzywda
fd2a887524
docs: initial baseline — game design plan, workflow rules, env template
2026-09-16 17:24:50 +00:00