Problem
The public demo (demo.easyzfs.cloudless.club) has no analytics; the landing has the GoatCounter tracker but the demo does not, so demo visits are invisible.
Proposal
Track demo visits in the SAME GoatCounter site as the landing (stats.easyzfs.cloudless.club) with paths prefixed /demo, same pattern as gnacho/helios#112:
- Tracker injected only in the demo build/artifact; normal builds never include it (self-hosted installs must not phone home).
- window.goatcounter = { path: p => '/demo' + p } before count.js.
- CSP served by the Go server must allow stats.easyzfs.cloudless.club in script-src and connect-src, gated so live installs stay unchanged.
Acceptance
- Demo serves the tracker; normal build does not.
- Demo CSP allows the stats origin.
- A visit records a hit in GoatCounter with path starting /demo.
Problem
The public demo (demo.easyzfs.cloudless.club) has no analytics; the landing has the GoatCounter tracker but the demo does not, so demo visits are invisible.
Proposal
Track demo visits in the SAME GoatCounter site as the landing (stats.easyzfs.cloudless.club) with paths prefixed /demo, same pattern as gnacho/helios#112:
Acceptance