fix: custom conditions apply on add; correct server WS env docs
Custom conditions (per-campaign freeform) previously only persisted to the
campaign palette — Add button did NOT apply them to the targeted participant,
and badges rendered via CONDITIONS (missing custom ids) so applied custom
conditions did not display. Now:
- addCustomCondition(label, participantId) persists to palette AND toggles
onto the participant in one step. Enter + Add button both pass p.id.
- Admin badge lookup uses allConditions (built-ins + custom), not CONDITIONS.
Shared contract: toggleCondition accepts ANY string. Prove it in tests:
- turn.combat.test.js adds CUSTOM_CONDITIONS ('hexed','rager',
'marked_for_death','🛡️blessed') to the seeded queue + random pool, asserts
condition-not-string invariant, and a dedicated add/remove round-trip test.
- replay-combat.js mirrors the same CUSTOM_CONDITIONS through the live backend.
Server-mode docs/env: REACT_APP_BACKEND_WS (stale pre-rename) -> correct
REACT_APP_BACKEND_REALTIME_URL=ws://.../ws in README, env.example,
docker/Dockerfile (STORAGE=ws -> server). DEVELOPMENT.md + scripts/README.md
now point to ./scripts/dev-start.sh as the primary dev entrypoint.
133 shared tests green.
This commit is contained in:
@@ -247,15 +247,22 @@ docker compose -f docker/docker-compose.yml up --build
|
||||
```
|
||||
This serves the app at `http://localhost:8080` (override with `PORT`), proxies `/api` and `/ws` to the backend, and persists the SQLite database in a named Docker volume. Override the Firestore-style app-id namespace with `TRACKER_APP_ID` if needed.
|
||||
|
||||
**Local dev (backend + frontend separately):**
|
||||
**Local dev (recommended):**
|
||||
```bash
|
||||
npm install # installs root, server/, and shared/ workspaces
|
||||
npm run server:dev # starts backend on :4001 (SQLite at server/data/tracker.sqlite)
|
||||
./scripts/dev-start.sh # backend :4001 + frontend :3999, server mode
|
||||
./scripts/dev-stop.sh # stop both
|
||||
```
|
||||
|
||||
**Manual (fallback):**
|
||||
```bash
|
||||
npm install
|
||||
npm run server:dev # starts backend on :4001 (SQLite at data/tracker.sqlite)
|
||||
|
||||
# in another terminal:
|
||||
REACT_APP_STORAGE=ws \
|
||||
REACT_APP_STORAGE=server \
|
||||
REACT_APP_BACKEND_URL=http://127.0.0.1:4001 \
|
||||
REACT_APP_BACKEND_WS=ws://127.0.0.1:4001/ws \
|
||||
REACT_APP_BACKEND_REALTIME_URL=ws://127.0.0.1:4001/ws \
|
||||
npm start
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user