What this PR does
Every server reported platform: "linux", so the OS breakdown on homeio.app/stats said nothing. The stats ping now also sends:
install:"docker"or"host", from the existingisContainerRuntime()check.distroanddistroVersion:IDandVERSION_IDfrom/etc/os-release(for exampledebian/12,ubuntu/24.04), host installs only. Inside a container that file describes the image, not the machine, so Docker installs sendnull. Values that are not plain identifiers are dropped.
The kernel version is left out on purpose: it is close to unique per machine and says little.
The stats worker on homeio.app already accepts these fields (and still accepts pings from 1.9.5 and 1.9.6 without them), and /stats shows Install method and Distribution.
README, .env.example, ROADMAP, CHANGELOG and the Settings toggle text describe the new fields.
Tests
parseOsRelease: quoted and unquoted values, rolling releases withoutVERSION_ID, junk values.- Docker installs send no distribution.
- Payload field list updated. Full suite: 850 passed;
next buildpasses.
🤖 Generated with Claude Code