3x-ui/web/html
MHSanaei d8198f543b
fix(warp): harden API client and frontend, bump to v0a4005
Backend:
- check HTTP status on every Cloudflare API call so error bodies don't
  get parsed as success
- replace unchecked type assertions with comma-ok form (no more panics
  when Cloudflare returns an error response)
- return real errors when license/id/token fields are missing instead
  of swallowing the failure
- guard SetWarpLicense against an empty errors array
- 15s timeout on the shared http.Client
- build all request bodies and persisted state with json.Marshal
- bump API path to v0a4005 and CF-Client-Version to a-6.30-3596 to
  match the current Cloudflare WARP client

Frontend (warp_modal.html):
- remove stray </a-form-item> closing tag
- declare config/peer with const and null-check before dereferencing
- guard addOutbound/resetOutbound against missing warpOutbound
- rename getResolved -> getReserved (the array it builds is "reserved")

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 09:29:42 +02:00
..
common Implement CSRF protection and security hardening across the application (#4179) 2026-05-07 23:36:11 +02:00
component fix design 2026-05-06 17:12:08 +02:00
form refactor(fallbacks): share template, tighter UX, cleaner JSON 2026-05-07 20:27:34 +02:00
modals fix(warp): harden API client and frontend, bump to v0a4005 2026-05-08 09:29:42 +02:00
settings outbound: mobile style 2026-05-06 13:27:40 +02:00
inbounds.html fix: filter view in mobile 2026-05-06 14:45:46 +02:00
index.html fix(panel-update): poll for restart, fix dark-mode version label 2026-05-07 20:55:22 +02:00
login.html fix(security): sanitize remote IP headers and escape log viewer output 2026-05-04 16:39:29 +02:00
settings.html fix(security): sanitize remote IP headers and escape log viewer output 2026-05-04 16:39:29 +02:00
xray.html outbound: mobile style 2026-05-06 13:27:40 +02:00