docs/dev: sync backend rework, MQTT, and devcontainer hygiene
README: add Versioning (unified SemVer, pre-releases, build metadata); emphasize UTC handling and streaming endpoint; add Dev Container notes (UI-only Remote Containers, npm ci, idempotent aliases) TECH-CHANGELOG: backend rework notes (serialization camelCase, UTC normalization, streaming metadata); add component build metadata template (image tags/SHAs) Copilot instructions: integrate maintenance guardrails; reinforce UTC and camelCase conventions; document MQTT topics and scheduler retained payload behavior Devcontainer: map Remote Containers to UI; remove in-container install; switch to npm ci; make aliases idempotent
This commit is contained in:
13
README.md
13
README.md
@@ -217,6 +217,7 @@ For detailed deployment instructions, see:
|
||||
- Videos include a `video` payload with a stream URL and playback flags:
|
||||
- `video`: includes `url` (streaming endpoint) and `autoplay`, `loop`, `volume`, `muted`
|
||||
- Streaming endpoint supports byte-range requests (206) to enable seeking: `/api/eventmedia/stream/<media_id>/<filename>`
|
||||
- Server-side UTC: All backend comparisons are performed in UTC; API returns ISO strings without `Z`. Frontend appends `Z` before parsing.
|
||||
|
||||
## Recent changes since last commit
|
||||
|
||||
@@ -232,6 +233,18 @@ These changes are designed to be safe if metadata extraction or probes fail —
|
||||
See `MQTT_EVENT_PAYLOAD_GUIDE.md` for details.
|
||||
- `infoscreen/{uuid}/group_id` - Client group assignment
|
||||
|
||||
## 🧩 Developer Environment Notes (Dev Container)
|
||||
- Extensions: UI-only `Dev Containers` runs on the host UI; not installed inside the container to avoid reinstallation loops. See `/.devcontainer/devcontainer.json` (`remote.extensionKind`).
|
||||
- Installs: Dashboard uses `npm ci` on `postCreateCommand` for reproducible installs.
|
||||
- Aliases: `postStartCommand` appends shell aliases idempotently to prevent duplicates across restarts.
|
||||
|
||||
## 📦 Versioning
|
||||
- Unified app version: Use a single SemVer for the product (e.g., `2025.1.0-beta.3`) — simplest for users and release management.
|
||||
- Pre-releases: Use identifiers like `-alpha.N`, `-beta.N`, `-rc.N` for stage tracking.
|
||||
- Build metadata: Optionally include component build info (non-ordering) e.g., `+api.abcd123,dash.efgh456,sch.jkl789,wkr.mno012`.
|
||||
- Component traceability: Document component SHAs or image tags under each TECH-CHANGELOG release entry rather than exposing separate user-facing versions.
|
||||
- Hotfixes: For backend-only fixes, prefer a patch bump or pre-release increment, and record component metadata under the unified version.
|
||||
|
||||
## 📁 Project Structure
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user