37 + 73 = 100 btw
1. tracing
- much more tracing across agent and cc
- metrics, logs and spans exported through otlp (grpc)
- console logs, otlp logs and traces have independent filters now
- follow a command from cc to agent, or a snapshot from collection to storage, in one trace
- exporters retry temporary failures with backoff and keep queues bounded
- prolonged collector outages can lose telemetry
- exporter and transport diagnostics stay in console logs so exports don't generate more exports
- check out them fields at docs/telemetry.md
- process them with guides from docs/telemetry-recipes.md
2. more process info
- agent and cc report process/host uptime, process RSS, CPU time and open file descriptors
- the FD count includes files, sockets and pipes
- host total/available memory and 1/5/15-minute load are included where supported
- these are available through otlp now, with a UI view planned later
3. config duration now uses time strings
- instead of `*_seconds` or `*_days` which is bullshit
- write durations like "30s", "60d" or "1h 30m", parsed by humantime
- check docs/config-durations.md
- old numeric keys still load and produce a deprecation warning
- init-config --from-config rewrites those keys into the new format and keeps your telemetry and access settings
- api/ws numeric fields and existing numeric cli flags are unchanged
4. devices
- clearer labels in the UI
- rename or forget saved devices
- remember, attach and merge keep the details dialog open
- details stay accessible even when the device drops out of your current list filters
- presence comes from endpoints, and unnamed devices get better fallback names
- renaming with an invalid name returns 400, while storage failures return 500
5. backend cleanup
- this helps with tracing
- ~~no more~~ less long asf fns
- related device reads share a SQLite transaction for a consistent view
- snapshot traces show pool wait, transaction begin, row writes and commit separately
- wake lookup searches the full fleet, including devices beyond the UI list's 1,000-row cap
6. fleet collection caching
- reuse the grouped view until DB or connected-agent state changes
- if changes keep interrupting a rebuild, return 503 fleet_busy so the caller can retry
- current fleet/device/endpoint counts are also available as metrics
- cool
7. origin auth
- docs/origin-auth.md
- validate Cloudflare Access tokens at the origin
- caddy calls cc's /internal/auth/verify before proxying protected routes
- configure [access] with the protected app's issuer and AUD
- the signing-key URL defaults from the issuer and can be overridden
- cache signing keys according to HTTP freshness headers and revalidate with ETag/Last-Modified
- update the caddy config!
- keep cc bound to loopback so requests go through caddy's auth checks
- agent endpoints continue using their own authentication
- closing the confirmed origin bypass requires BOTH the cc config and the caddy update
8. retention + deployment bits
- device_retention defaults to "60d", and "0d" disables expiry
- an agent-collected device's retention age resets whenever cc receives a snapshot containing it
- complete snapshots immediately remove rows the agent has omitted
- saved devices and their manually attached identifiers remain saved
- OpenWrt UCI/environment setup, credential-entry fixes and an updated copy script
Ping, multi-CC, the process-info UI and profiling are planned for later.
all codex btw idfk what these do
there are things to do.
added dev push that make life easier (thanks copilot)
change scripts to use LF instead of crlf (again)
added more Bullshits (also thanks? to copilot)
made a mac -> name cache
rename stuff / move stuff
use an advanced ass parsing that reflects nothing and jus waste compute time.
idk man shi
add json get with errors.
add home_2 by copilot it looks so good.
add more routes.
delete ass code; produce just as ass code.
add more ideas from copilot?
linting.