Commit Graph

1506 Commits

Author SHA1 Message Date
henrygd aaa8eb773f updates 2026-04-29 18:05:40 -04:00
henrygd 099935e78e updates 2026-04-29 17:59:30 -04:00
henrygd d2eb3b259a updates 2026-04-29 15:49:43 -04:00
henrygd b89314889d update collections 2026-04-28 19:20:27 -04:00
henrygd 04e2b8b974 updates 2026-04-28 18:29:41 -04:00
henrygd 891b03426f updates 2026-04-28 17:46:56 -04:00
henrygd b182b699d7 update 2026-04-27 10:05:58 -04:00
henrygd e65a4a515e updates 2026-04-26 22:40:18 -04:00
henrygd df249b24f6 updates 2026-04-26 19:25:57 -04:00
henrygd 788483ac56 updates 2026-04-26 19:03:21 -04:00
henrygd f830665984 updates 2026-04-26 17:19:15 -04:00
henrygd af49ebf2df updates 2026-04-26 15:37:00 -04:00
henrygd 0378023b6f update 2026-04-26 13:37:33 -04:00
henrygd 89ac8dc585 updates 2026-04-25 18:43:47 -04:00
henrygd 9896bcdf43 updates 2026-04-25 15:27:24 -04:00
henrygd ddd47e67ac update 2026-04-25 14:39:04 -04:00
henrygd 027159420c update 2026-04-24 01:50:27 -04:00
henrygd e154123511 updates 2026-04-23 21:34:56 -04:00
henrygd 9f7c1b22bb updates 2026-04-23 02:33:35 -04:00
henrygd 0d440e5fb9 updates 2026-04-23 01:13:01 -04:00
henrygd 5fc774666f updates 2026-04-22 21:40:52 -04:00
henrygd 8f03cbf11c updates 2026-04-22 19:40:21 -04:00
henrygd 1c5808f430 update 2026-04-22 19:29:36 -04:00
henrygd a35cc6ef39 upupdate 2026-04-22 18:03:31 -04:00
henrygd 16e0f6c4a2 updates 2026-04-22 17:42:11 -04:00
henrygd 6472af1ba4 updates 2026-04-21 21:57:24 -04:00
henrygd e931165566 updates 2026-04-21 15:44:08 -04:00
henrygd 48fe407292 use network probes 2026-04-21 15:29:46 -04:00
henrygd a95376b4a2 updates 2026-04-21 12:33:16 -04:00
henrygd 732983493a update 2026-04-20 21:28:09 -04:00
henrygd 264b17f429 updte 2026-04-20 21:27:16 -04:00
henrygd cef5ab10a5 updates 2026-04-20 21:24:46 -04:00
henrygd 3a881e1d5e add probes page 2026-04-20 11:52:37 -04:00
henrygd 209bb4ebb4 update 2026-04-20 10:48:05 -04:00
henrygd e71ffd4d2a updates 2026-04-19 21:44:21 -04:00
henrygd ea19ef6334 updates 2026-04-19 19:12:04 -04:00
henrygd 40da2b4358 updates 2026-04-18 20:28:22 -04:00
henrygd d0d5912d85 updates 2026-04-18 18:09:45 -04:00
Claude 4162186ae0 Merge remote-tracking branch 'upstream/main' into feat/network-probes
# Conflicts:
#	agent/connection_manager.go
2026-04-18 01:19:49 +00:00
Uğur Tafralı a71617e058 feat(agent): Add EXIT_ON_DNS_ERROR environment variable (#1929)
Co-authored-by: henrygd <hank@henrygd.me>
2026-04-17 19:26:11 -04:00
xiaomiku01 578ba985e9 Merge branch 'main' into feat/network-probes
Resolved conflict in internal/records/records.go:
- Upstream refactor moved deletion code to records_deletion.go and
  switched averaging functions from package-level globals to local
  variables (var row StatsRecord / params := make(dbx.Params, 1)).
- Kept AverageProbeStats and rewrote it to match the new local-variable
  pattern.
- Dropped duplicated deletion helpers from records.go (they now live in
  records_deletion.go).
- Added "network_probe_stats" to the collections list in
  records_deletion.go:deleteOldSystemStats so probe stats keep the same
  retention policy.
2026-04-17 13:49:18 +08:00
henrygd e5507fa106 refactor(agent): clean up records package and add tests 2026-04-15 16:24:40 -04:00
Lars Lehtonen a024c3cfd0 fix(cron): log unhandled records cleanup errors (#1909) 2026-04-15 15:33:55 -04:00
henrygd 07466804e7 ui: allow filtering systems by host and agent version (#163) 2026-04-14 16:27:38 -04:00
henrygd 981c788d6f agent: make sure prefixed ALL_PROXY env var works (#1919) 2026-04-14 14:46:43 -04:00
Rafael Marmelo f5576759de agent: Allow agent to connect to hub via SOCKS5 proxy 2026-04-14 14:46:43 -04:00
Sven van Ginkel be0b708064 feat(hub): add OAUTH_DISABLE_POPUP env var (#1900)
Co-authored-by: henrygd <hank@henrygd.me>
2026-04-13 20:00:05 -04:00
xiaomiku01 485830452e fix(agent): exclude DNS resolution from TCP probe latency
Resolve the target hostname before starting the timer so the
measurement reflects pure TCP handshake time only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:21:15 +08:00
xiaomiku01 2fd00cd0b5 feat(agent): use native ICMP sockets with fallback to system ping
Replace the ping-command-only implementation with a three-tier
approach using golang.org/x/net/icmp:

1. Raw socket (ip4:icmp) — works with root or CAP_NET_RAW
2. Unprivileged datagram socket (udp4) — works on Linux/macOS
   without special privileges
3. System ping command — fallback when neither socket works

The method is auto-detected on first probe and cached for all
subsequent calls, avoiding repeated failed attempts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:09:12 +08:00
xiaomiku01 853a294157 fix(ui): add gap detection to probe chart and fix color limit
- Apply appendData() for gap detection in both realtime and non-realtime
  modes, so the latency chart shows breaks instead of smooth lines when
  data is missing during service interruptions
- Handle null stats in gap marker entries to prevent runtime crashes
- Fix color assignment: use CSS variables (--chart-1..5) for ≤5 probes,
  switch to dynamic HSL distribution for >5 probes so all lines are
  visible with distinct colors

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:46:03 +08:00