Separate maxBitrate from the grey details label into its own colored label in AP rows. Speed quality uses a dedicated palette: purple (>=1000), blue (>=300), green (>=100), yellow (>=50), orange (>=20), red (<20 Mbit/s).
Display all access points sharing the connected network's SSID in a dedicated section between Signal and Nearby Networks. The connected AP is marked with a green checkmark icon, other APs get a spacer to keep BSSIDs aligned. Section is hidden when only one AP exists. NM duplicate BSSIDs are deduplicated by keeping the strongest signal.
PanelMenu.ButtonBox.vfunc_allocate only handles its first child via
get_first_child(). Adding icon and label as direct children caused the
label to never be allocated, making the indicator invisible when WiFi
generation is unknown and the label should display instead of the icon.
Gio.Subprocess.communicate_utf8_async requires explicit promisification
via Gio._promisify() to be used with await. Without it, the call fails
with "At least 3 arguments required, but only 2 passed", causing silent
fallback to unknown WiFi generation on every refresh.
GLib.spawn_command_line_sync freezes the shell process while waiting
for the command to complete. Use Gio.Subprocess with
communicate_utf8_async instead, as required by EGO review guidelines.
Si disable() est appelé pendant l'initialisation async de
NetworkManager, le callback .then() pouvait créer l'indicateur
sur une extension déjà nettoyée. Le guard vérifie que wifiService
est encore présent avant de continuer.
- Remplace les PopupMenuItem textuels par des PopupBaseMenuItem avec
labels à gauche (dimmed) et valeurs alignées à droite
- Ajoute des headers de section (Performance, Signal) via PopupSeparatorMenuItem
- Ajoute des jauges horizontales pour Speed et Width avec layout vertical
(label+valeur au-dessus, barre pleine largeur en dessous)
- Ajoute un graphique d'historique du signal (St.DrawingArea + Cairo)
coloré selon la qualité (60 points, 5 min d'historique)
- Rafraîchit les données à l'ouverture du popup pour un affichage immédiat
- Max speed basé sur le théorique WiFi 7 4×4 MIMO 320 MHz (5760 Mbit/s)
- Max width basé sur le WiFi 7 (320 MHz)
- Ajout des générations WiFi 1 (802.11b), 2 (802.11a) et 3 (802.11g) dans les types et la détection legacy (fréquence + débit)
- Remplacement des icônes SVG WiFi 4-7 par les PNG officiels Wi-Fi Alliance (reverse signature, blanc sur transparent)
- Conservation des icônes SVG custom pour WiFi 1-3 (non fournies par la Wi-Fi Alliance)
- Remplacement de St.Label par St.Icon dans le panel avec la classe system-status-icon pour un dimensionnement adaptatif
- Fallback sur St.Label texte quand aucune icône n'est disponible (génération inconnue)
- Mise à jour du build pour copier les icônes dans dist/