77d8404f59
ci(test): load MsQuic for Linux tests [CI]
justme2026-10-10 04:11:55 +08:00
29d998bc94
build(quic): bundle Linux runtime libraries [CI]
justme2026-10-10 04:01:24 +08:00
e2e5e437cb
docs(deploy): document QUIC runtime and port requirements [CI]
justme2026-10-10 03:00:47 +08:00
b25b111134
feat(display): add compact QUIC and host health views
justme2026-10-10 03:00:23 +08:00
b964dc2bbc
feat(quic): replace probe UDP data plane with QUIC datagrams
justme2026-10-10 02:59:56 +08:00
4609048865
docs: merge the API guidelines into api.md; drop the one-off trial reports; fix the node-update description (Quadlet restart vs host updater); tidy TODO [CI]
justme2026-10-09 22:29:42 +08:00
900bbde46a
ci: run the slow e2e tests after the image builds (a parallel run got the backend AOT compile OOM-killed)
justme2026-10-09 15:24:07 +08:00
2d31bd091e
ci: gate on the fast tests (about 20s); slow end-to-end tests run in parallel with the image build [CI]
justme2026-10-09 14:30:38 +08:00
c9c21f8056
ci: fix the failed-test retry (wildcard filter, ignore zero-test exit code, two attempts) [CI]
justme2026-10-09 14:09:54 +08:00
b2b63c065d
ci: sync packaging and docs into the test cache; retry failed tests once [CI]
justme2026-10-09 14:02:42 +08:00
be04045c8c
ci: incremental backend tests, cached web dependencies, web build in parallel with the tests
justme2026-10-09 13:39:55 +08:00
006814823b
docs: main-only workflow, CI-filled versions, dev version format [CI]
justme2026-10-09 13:20:30 +08:00
7ff0d0f4e6
feat: print build info at startup; version placeholders filled in by CI [CI SKIP]
justme2026-10-09 13:20:30 +08:00
a9f78f99df
ci: version from the tag or the commits since it; dev images from main gated on tests; recognise -dev. tags [CI SKIP]
justme2026-10-09 13:20:30 +08:00
a3338e1cf3
fix(display): background quality as a three-way choice (blurred, sharp, original) [CI]
justme2026-10-09 04:57:01 +08:00
044ce0c339
feat(display): background photo groups with blurred, compressed and original versions; veil, sway and blur options in the appearance panel [CI]
justme2026-10-09 04:50:11 +08:00
e49990776b
feat(display): falling snow in three depth layers with wind, mouse and bullet time; appearance panel; dark glass tinted from the background [CI SKIP]
justme2026-10-09 03:54:49 +08:00
f8e8bb8acb
feat(display): pointer-sway background with a dark variant; acrylic glass tokens [CI]
justme2026-10-09 03:09:14 +08:00
70f20d38d0
feat(display): site name and avatar in the top bar, content aligned left [CI SKIP]
justme2026-10-09 03:08:54 +08:00
7ff03a9628
fix(display): a hovered card no longer covers the top bar [CI SKIP]
justme2026-10-09 03:08:53 +08:00
5dce387c87
ci: build a dev image to test automatic node updates [CI]
justme2026-10-09 02:10:38 +08:00
535bb3517d
feat: node updates by restart, auto by default; Podman Quadlet install from the panel alongside compose [CI]
justme2026-10-09 01:33:22 +08:00
88b1a0a9bb
feat: probe host stats, node cards with a separate lines panel grouped by carrier, Windows host sampling, manual carrier override [CI]
justme2026-10-08 21:56:19 +08:00
bac1c27e72
fix: compose passes .env through env_file; clearer name and channel messages [CI]
justme2026-10-08 20:47:38 +08:00
12be44645f
feat: install nodes and the backend from a static compose file; remove dead code [CI]
justme2026-10-08 20:24:23 +08:00
e014a19554
docs: reorganize into design, security, api, ops and dev; drop stale designs; refresh the diagrams [CI]
justme2026-10-08 19:37:56 +08:00
636a784043
fix: the panel polls the registry for its own and the nodes' releases [CI]
justme2026-10-08 19:09:21 +08:00
0f8f3f9a54
feat: trusted release keys setting; drop the duplicate release registration route [CI]
justme2026-10-08 18:50:16 +08:00
904ea2b0ae
refactor: remove the runtime binary binding; every release registration path verifies the CI signature [CI]
justme2026-10-08 18:30:05 +08:00
a4f3d1892a
ci: all-platform node binaries in the signed release manifest; signed SHA256SUMS for the archives; web build once before the parallel backend builds; release 0.3.3 [CI SKIP]
v0.3.3
justme2026-10-08 16:26:29 +08:00
76efc15e9a
Merge branch 'main' into dev
justme2026-10-08 16:13:02 +08:00
cab505b837
fix(ci): back to building the web apps inside the backend build; the two architectures run one after the other; release 0.3.2 [CI SKIP]
v0.3.2
justme2026-10-08 16:12:59 +08:00
3ee8b6bb3d
Merge branch 'main' into dev
justme2026-10-08 16:05:42 +08:00
cd9e677331
fix(ci): build the web apps once before the two backend architectures; release 0.3.1 [CI]
v0.3.1
justme2026-10-08 16:05:38 +08:00
0fa2f2a26a
Merge branch 'main' into dev
justme2026-10-08 15:59:32 +08:00
879d1c8593
fix: installer checks containers only; the panel reads signed manifests from the registry when it has none; unsigned-updater nodes are labeled from the panel's manifests; sign node release images; release 0.3.0 [CI]
v0.3.0
justme2026-10-08 15:59:28 +08:00
0e7a8c14fb
Merge branch 'main' into dev
justme2026-10-08 15:30:16 +08:00
4a1e48db20
test: share one operator and trust root across the trust tests; make the setup test cleanup best-effort [CI SKIP]
justme2026-10-08 15:30:12 +08:00
4a15dba8de
Merge branch 'main' into dev
justme2026-10-08 06:47:15 +08:00
f22fdf8b68
feat: first-run claim wizard (no default admin, claim code from the backend log); owner list shows account and passkey; container install first [CI]
justme2026-10-08 06:47:10 +08:00
2ae63653c4
feat: the node itself requires an owner passkey (shared by agent and probe) and reports it; the panel derives the account and passkey it is bound to [CI]
justme2026-10-08 06:15:07 +08:00
8c37db1577
feat: every agent and probe must have an owner passkey, enforced by the panel, the installers and fleet-enroll [CI]
justme2026-10-08 06:04:04 +08:00
8410735377
Merge branch 'main' into dev
justme2026-10-08 05:44:20 +08:00
0b384a58f5
fix: hash the node binary without the registry auth file that does not exist yet [CI]
justme2026-10-08 05:43:51 +08:00
6310358490
Merge branch 'main' into dev
justme2026-10-08 05:41:02 +08:00
4841f7b15b
feat: bind each node to the binary it runs at its first handshake; refuse changes that are not in a CI-signed manifest [CI]
justme2026-10-08 05:39:13 +08:00
117d34a2af
feat: signed manifests live in the image registry; updaters and first deploys fetch and verify them without the panel [CI]
justme2026-10-08 05:05:13 +08:00
4106f831dc
feat!: drop the backend-side elevation windows; password and passkey sessions share capabilities, passkeys guard what nodes verify; the trust page lists added and removed passkeys [CI]
justme2026-10-08 04:57:28 +08:00
0dc8c6fe34
Merge branch 'main' into dev
justme2026-10-08 04:23:16 +08:00
f704c66dd9
feat: CI registers release manifests without a token; the panel verifies the CI signature instead [CI]
justme2026-10-08 04:22:01 +08:00
1f70c8d31e
Merge branch 'main' into dev
justme2026-10-08 04:10:29 +08:00
fbda9487d5
feat: serve the web apps from the Backend (embedded, allow-listed, no filesystem access) so passkeys bind to the panel's own domain [CI]
justme2026-10-08 04:09:40 +08:00
4a3631f82b
fix: gate password sessions on the login method so data-source sessions also get the passkey-only page [CI SKIP]
justme2026-10-08 04:09:39 +08:00
3b88a3419d
ci: build the dev images for the genesis-pinned trust model [CI]
justme2026-10-08 03:28:03 +08:00
0e0b925c8b
Merge branch 'main' into dev
justme2026-10-08 03:22:20 +08:00
a2f88a344b
feat!: genesis-pinned operator set, server identity with an encrypted control link, key-less join codes; release key continuity
v0.2.0
justme2026-10-08 03:21:44 +08:00
9bb6841dce
feat: pinned agents and probes only accept peers carrying the operator's proof; the panel ships the signed operator chain with the rosters [CI SKIP]
justme2026-10-07 23:24:33 +08:00
fc2bbdcc6d
feat: operator trust root: passkey-signed operator set, signed join codes, nodes verify and pin the chain at enrollment [CI SKIP]
justme2026-10-07 23:19:59 +08:00