From 55f4765a20199e0ec3c1ea124526709c7cd3da9d Mon Sep 17 00:00:00 2001 From: Miles Ward Date: Tue, 26 May 2026 00:02:20 -0400 Subject: [PATCH] v0.4.6: iVentoy-style PXE menu, top-right user menu, Settings touchups MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PXE boot menu polish (iVentoy-inspired): - render_menu now opens with a best-effort `console --picture /branding/pxe-logo || console` line so iPXE builds with PNG support paint the operator's uploaded raster logo as the background. - ASCII OpenPXE wordmark banner sits at the top of the menu in `item --gap` lines — always visible on every iPXE build, including the snponly/undionly variants without graphics console. - New footer line above `choose`: "OpenPXE v0.4.6 - ", where is mapped from iPXE's ${buildarch}/${platform} to "x86 BIOS", "x86_64 UEFI", or "arm64 UEFI". No URL, per brief. - New GET /branding/pxe-logo route serves the operator's PNG / JPEG / WebP / GIF as-is for iPXE to consume. SVG uploads 404 here (iPXE can't rasterize SVG) — the always-visible ASCII wordmark stands in. Route stays public after admin setup so iPXE clients (no cookies) can fetch it. UI: - Removed the bottom-left "signed in as / Sign out" row. - Added a person-icon button next to the theme toggle in the topbar. Click opens a small popover with: Name (display only), Edit account (jumps to Settings), Sign out. Esc + click-outside close it. - Settings → Account card form chrome made consistent. The previous `label.field` selector only styled type=text/number, leaving password inputs with default browser chrome. Switched to a negation-list selector that covers every typed input we use, plus -webkit-appearance:none + a 1px focus ring. Light + dark mode both show the same border/padding/focus state across all four account fields. - Settings → SSO card now renders display name, IdP logo URL (new), and metadata source on one 3-column row. The metadata