2 Commits
Author SHA1 Message Date
abdus 969046dec2 feat(router): Rework dashboard layout, add public IP/log controls, fix writes on ABSB.5
- Full-width CSS grid layout with Ping/Line/Connection cards at equal height
- Show public IP (via api.ipify.org) alongside WAN IP, with a "Get new public IP"
  button that drops and re-establishes the PPPoE session
- Replace the wrong oid=zlog log endpoint with the real one the stock UI uses,
  and add a logging on/off toggle (router logging was off by default)
- Poll the router in background threads with cached responses, since a live
  /api/overview request took ~16s and made the page hang on "Connecting..."
- Fix: writes (DNS, logging toggle, reboot, WAN disconnect/connect) started
  returning 403 after the ABSB.5 firmware upgrade; it now requires the session
  key repeated in a CSRFToken header on every POST/PUT/DELETE, not just the
  ?sessionkey= query param GETs still accept
- Fix: Router is now a context manager that always logs out in __exit__, and
  SIGTERM (what pkill sends) now triggers that cleanup too -- previously every
  restart during dev leaked a session until the router hit its concurrent
  login limit and locked out all further logins
- Fix: WAN Disconnect/Connect often don't return an HTTP response before the
  link they're answering over drops; treat that timeout as "sent, unknown
  outcome" and verify by polling instead of crashing, and retry Connect if
  the router's own auto-reconnect doesn't kick in (it can get stuck at N/A)
2026-10-19 00:33:39 +03:00
abdus 545098eceb feat(router): Add local dashboard with auto-login, status, devices and restart 2026-10-18 22:50:39 +03:00