3x-ui/web/job
MHSanaei 106adca414
test: cover crypto, random, netsafe, sub helpers, xray equals, websocket hub, node service
Adds ~110 unit tests across previously untested packages. Focus on
pure-logic and concurrency surfaces where regressions would silently
affect users:

- util/crypto, util/random: password hashing round-trip, ss2022 key
  generation, alphabet/length invariants.
- util/netsafe: IsBlockedIP edge cases, NormalizeHost validation,
  SSRF guard with AllowPrivate context bypass.
- util/common, util/json_util: traffic formatter, Combine nil-skip,
  RawMessage empty-as-null and copy-on-unmarshal.
- sub: splitLinkLines, searchKey/searchHost, kcp share fields,
  finalmask normalization, buildVmessLink round-trip.
- xray: Config.Equals and InboundConfig.Equals field-by-field,
  getRequiredUserString/getOptionalUserString type checks.
- web/websocket: hub registration, throttling, slow-client eviction,
  nil-receiver safety, concurrent register/unregister.
- web/service: NodeService.normalize validation, normalizeBasePath,
  HeartbeatPatch.ToUI mapping.
- web/job: atomicBool concurrent set/takeAndReset semantics.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 10:00:09 +02:00
..
check_client_ip_job.go fix(iplog): parse xray access-log timestamps in local time 2026-05-13 21:50:16 +02:00
check_client_ip_job_integration_test.go v3 2026-05-10 02:13:42 +02:00
check_client_ip_job_test.go iplimit: dont count idle db-only ips toward the per-client limit 2026-04-23 21:11:45 +03:00
check_cpu_usage.go v3 2026-05-10 02:13:42 +02:00
check_hash_storage.go v3 2026-05-10 02:13:42 +02:00
check_xray_running_job.go v3 2026-05-10 02:13:42 +02:00
clear_logs_job.go v3 2026-05-10 02:13:42 +02:00
ldap_sync_job.go refactor(service): move all client mutation methods to ClientService 2026-05-17 10:48:28 +02:00
node_heartbeat_job.go feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
node_traffic_sync_job.go fix(nodes): route per-client ops through node clients API + orphan sweep 2026-05-17 23:29:29 +02:00
node_traffic_sync_job_test.go test: cover crypto, random, netsafe, sub helpers, xray equals, websocket hub, node service 2026-05-18 10:00:09 +02:00
periodic_traffic_reset_job.go refactor(clients): finish migrating to ClientService + tidy IP routes 2026-05-17 11:25:24 +02:00
stats_notify_job.go v3 2026-05-10 02:13:42 +02:00
xray_traffic_job.go fix: prevent online clients from randomly disappearing from panel UI (#4387) 2026-05-15 11:41:29 +02:00