Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,18 @@ jobs:
--health-interval 10s
--health-timeout 5s
--health-retries 5
valkey:
# GoWay Live's bus between API tasks (`live/cluster.ts`): its leases,
# demand and fan-out are tested against a real server, the engine
# production runs (ElastiCache Valkey 8.0), not only an in-memory fake.
image: valkey/valkey:8.0
ports:
- 6379:6379
options: >-
--health-cmd "valkey-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
Expand Down Expand Up @@ -432,7 +444,22 @@ jobs:
-v ON_ERROR_STOP=1 -tAc "SELECT postgis_lib_version();")
echo "PostGIS $version"
case "$version" in 3.5.*) ;; *) echo "::error::expected PostGIS 3.5.x, got $version"; exit 1 ;; esac
- name: Install a Redis server binary for the live bus outage test
# `live/__tests__/cluster.test.ts` stops and restarts a server of its
# own (on a random port) to prove the tasks recover from a Valkey
# outage; the service container above cannot be stopped from a test.
# policy-rc.d keeps apt from starting it on 6379, which the Valkey
# service already holds.
run: |
set -euo pipefail
printf '#!/bin/sh\nexit 101\n' | sudo tee /usr/sbin/policy-rc.d >/dev/null
sudo chmod +x /usr/sbin/policy-rc.d
sudo apt-get update -qq
sudo apt-get install -y -qq --no-install-recommends redis-server
redis-server --version
- name: Run the backend test suite
env:
TEST_VALKEY_URL: redis://127.0.0.1:6379
run: bun run test:backend

# THE one status check `main` should require. Everything above reports here.
Expand Down
11 changes: 5 additions & 6 deletions docs/MAP_FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ starts off. Shipping it is deleting that line.
| `cityLife` | stable | **on** | web (needs `city3d`; the road archive where published, the basemap's roads everywhere else) | `?cityLife=0/1` | live (re-attach) |
| `cityStreets` | stable | **on** | web (needs `city3d`; draws only where the road archive is published) | `?cityStreets=0/1` | live (re-attach) — [`MAP_STREETS.md`](./MAP_STREETS.md) |
| `landmarks` | stable | **on** | web (needs `city3d`; a model draws, and the tour offers it, only over published city tiles) | `?landmarks=0/1` | live (re-attach; the Landmarks control and "Landmark tour" come and go, a running tour ends) |
| `live` | labs | off | web, **development builds only** (needs a backend that lists `LIVE_SOURCES`; `docs/MAP_LIVE.md`) | `?live=1` | live (mount/unmount: the panel in the top-right stack, the layer, its credits and the coverage channel come and go) |
| `live` | stable | **on** | web (draws only where the backend lists `LIVE_SOURCES`: `GET /live/sources` 503 → nothing, asked again while open; `docs/MAP_LIVE.md` → Production) | `?live=0/1` | live (mount/unmount: the panel in the top-right stack, the layer, its credits and the coverage channel come and go) |
| `flyover` | stable | **on** | web, native | `?flyover=0/1` | live ("Fly the route", `/studio`) |

**Everything is on on goway.to** (owner, 2026-10-12: "everything should be
Expand Down Expand Up @@ -156,10 +156,9 @@ page with nothing to list leaves the rail.
map's quality profile — [`MAP_PERFORMANCE.md`](./MAP_PERFORMANCE.md); it
applies live).
- **Layers**: Street 3D, the 3D city, its tiles (and the official building
data they carry), trees, simulated traffic, landmarks, and the flyover with
"Open Camera Studio" while it is on — each with what it shows. Once Labs is
revealed, the woods fill joins, and live data in development builds (until
goway.to's backend serves it).
data they carry), trees, simulated traffic, landmarks, live data, and the
flyover with "Open Camera Studio" while it is on — each with what it shows.
Once Labs is revealed, the woods fill joins.
- **Labs**, only once revealed: what Labs is, and "Hide Labs".
- **General**: what GoWay already lets a person set — the theme (light, dark,
system: Bloom's own mode, persisted by `BloomProvider` under `goway.theme`)
Expand All @@ -180,7 +179,7 @@ back first returns to the section list.
**Revealing Labs** is deliberately not an `.env` decision: `?labs=1` on any
goway.to address once (remembered on the device; `?labs=0` forgets), or press
and hold the settings button, which opens the modal on the Labs page. It works in production — it only SHOWS switches
(the woods fill; live data in development builds), and every Labs feature
(the woods fill), and every Labs feature
still starts off, so a shared link can never switch an experimental renderer
on for somebody else.

Expand Down
Loading
Loading