wrolpi/app/src/components/admin
Roland 8687816b84 controller: selectable hotspot protocol (WPA2/WPA3) with device capability probing
Probe the selected WiFi device with iw to determine which hotspot
protocols it can host: WPA2 requires AP mode; WPA3 requires SAE in AP
mode (SAE_OFFLOAD_AP, or a mac80211 driver with the CMAC cipher for
software SAE).  The Raspberry Pi's brcmfmac supports neither, so Pis
correctly offer WPA2 only (verified against real Pi 4/Pi 5 iw output).

The protocol is saved as hotspot.protocol in controller.yaml.
enable_hotspot() now always sets the Hotspot connection's key-mgmt
explicitly (sae + required PMF for WPA3) so a reused profile cannot
keep a stale protocol, and reverts to WPA2 if the driver rejects SAE.

New GET /api/hotspot/protocols endpoint; protocol dropdowns added to
both the ControllerPage React UI and the fallback controller UI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 21:12:24 -06:00
..
AdminRoute.js Creating browser extension to facilitate starting downloads. Chrome/Brave and Firefox supported. 2026-05-03 11:48:50 -06:00
browserDetect.js app: treat pure Chromium UA as supported for extension banner 2026-07-18 13:52:26 -06:00
Configs.js Add ordered collections (playlists): polymorphic items + item API (#475) 2026-06-11 19:46:34 -06:00
ControllerPage.js controller: selectable hotspot protocol (WPA2/WPA3) with device capability probing 2026-07-28 21:12:24 -06:00
ControllerPage.test.js controller: selectable hotspot protocol (WPA2/WPA3) with device capability probing 2026-07-28 21:12:24 -06:00
Downloads.js Key changes: 2026-04-04 13:48:19 -06:00
Downloads.test.js Adding selection to the Downloads page, user can delete or retry multiple downloads at once. 2025-12-26 10:35:30 -07:00
ExtensionInstallSuggestion.js app: only show extension install banner on Chromium/Firefox 2026-07-18 13:52:07 -06:00
ExtensionInstallSuggestion.test.js app: treat pure Chromium UA as supported for extension banner 2026-07-18 13:52:26 -06:00
ExtensionPage.js app: only show extension install banner on Chromium/Firefox 2026-07-18 13:52:07 -06:00
ExtensionPage.test.js Creating browser extension to facilitate starting downloads. Chrome/Brave and Firefox supported. 2026-05-03 11:48:50 -06:00
Settings.js Controller: move hotspot settings to controller.yaml with WiFi device dropdown. 2026-07-04 09:03:58 -06:00
Status.js controller: report cooling fan RPM in CPU status 2026-07-23 19:52:47 -06:00