You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
webadmin: ArduPilot logo header, password show/hide eye, static cache
* Vendored static/ardupilot_logo.png (245x88 RGBA, 7 KiB) and a
blue (#3a7cb3) header bar that extends to the page edges so the
transparent logo PNG visually merges with the bar. Logo and title
share one .brand <a> back to /; nav links are inverted to white;
the log-out button is white-on-blue with a hover wash.
* Per-passphrase show/hide eye via static/password-toggle.js. JS
wraps every <input type=password> on the page (idempotent via a
data-attribute marker) with an SVG eye button that toggles
input.type between password and text. tabindex=-1 keeps the eye
out of the form's tab order; aria-label flips with state.
* autocomplete=new-password on every PasswordField except the
/login one (which keeps current-password). Without this Chrome
pre-fills the 'New passphrase' fields on /admin/<port2>/ from
the credential it has stored for /login. spellcheck/autocorrect
/autocapitalize=off complete the picture.
* SEND_FILE_MAX_AGE_DEFAULT=86400 so static assets carry
Cache-Control: public, max-age=86400. Without this Flask emits
no cache header, the meta-refresh flow re-fetches the logo
every 5 s, and the header flashes mid-paint. Explicit
width/height + fetchpriority=high on the <img> tag let the
browser carve out the slot at parse time.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments