3x-ui/web/job
Rouzbeh† d9ccf157c3
feat: add manual and automatic WARP IP rotation (#5099)
* feat: add manual and automatic WARP IP rotation

* fix: update generated api and frontend schemas

* fix(warp): validate rotation interval, fix auto-update timing, sync editor

- Validate the auto-update interval as an integer and store it via setInt;
  a non-integer value previously broke GetAllSetting for the whole panel.
- Seed warpLastUpdate when the interval is saved and when changing IP
  manually, so auto-update counts from "now" instead of epoch 0 and a
  manual rotation doesn't trigger an immediate scheduled one.
- Guard WarpIpJob: when lastUpdate is unset, establish a baseline and skip
  instead of rotating on the next tick.
- Log WARP license re-apply failures instead of swallowing them.
- After a manual "Change IP", sync the in-memory Xray editor with the keys
  the backend persisted so a later template save can't revert them; only
  toast success when the interval save actually succeeds.
- Add the WARP rotation UI strings to all 13 locales.
- Drop trailing whitespace introduced in entity.go and xray_setting.go.

---------

Co-authored-by: Rqzbeh <Rqzbeh@example.com>
Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
2026-06-09 01:43:43 +02:00
..
check_client_ip_job.go feat: synchronize access.log client IPs across nodes (#5098) 2026-06-09 00:59:50 +02:00
check_client_ip_job_integration_test.go fix(iplimit): skip stale access-log emails after client rename/delete 2026-06-06 02:20:39 +02:00
check_client_ip_job_test.go feat: synchronize access.log client IPs across nodes (#5098) 2026-06-09 00:59:50 +02:00
check_cpu_usage.go v3 2026-05-10 02:13:42 +02:00
check_hash_storage.go fix: address open bug reports (#4539, #4538, #4535, #4531, #4515) (#4545) 2026-05-25 00:08:06 +02:00
check_hash_storage_test.go fix: address open bug reports (#4539, #4538, #4535, #4531, #4515) (#4545) 2026-05-25 00:08:06 +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 Feat/multi inbound clients (#4469) 2026-05-19 12:20:24 +02:00
mtproto_job.go feat(mtproto): add MTProto (FakeTLS) protocol via managed mtg sidecar (#5076) 2026-06-08 14:28:19 +02:00
node_heartbeat_job.go feat(nodes): multi-hop node attribution for chained sub-nodes (#4983) (#5005) 2026-06-06 12:33:39 +02:00
node_traffic_sync_job.go feat: synchronize access.log client IPs across nodes (#5098) 2026-06-09 00:59:50 +02:00
node_traffic_sync_job_test.go Feat/multi inbound clients (#4469) 2026-05-19 12:20:24 +02:00
outbound_subscription_job.go feat: add support for subscription-based outbounds with auto-update (#5037) 2026-06-08 18:09:53 +02:00
periodic_traffic_reset_job.go Feat/multi inbound clients (#4469) 2026-05-19 12:20:24 +02:00
stats_notify_job.go v3 2026-05-10 02:13:42 +02:00
warp_ip_job.go feat: add manual and automatic WARP IP rotation (#5099) 2026-06-09 01:43:43 +02:00
xray_traffic_job.go feat(nodes): multi-hop node attribution for chained sub-nodes (#4983) (#5005) 2026-06-06 12:33:39 +02:00