From 8fa946085d47057fa916651da126a42899b95fdf Mon Sep 17 00:00:00 2001 From: Jalil Arfaoui Date: Fri, 27 Feb 2026 12:26:28 +0100 Subject: [PATCH] Show AP max theoretical bitrate in Speed line --- src/extension.ts | 20 +++++++++++++++----- src/types.ts | 1 + src/wifiInfo.ts | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index ae74c41..8e018ea 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -602,17 +602,27 @@ export default class WifiSignalPlusExtension extends Extension { } private formatBitrate(info: ConnectedInfo): string { - const { txBitrate, rxBitrate, bitrate } = info; + const { txBitrate, rxBitrate, bitrate, maxBitrate } = info; + let speed: string; if (txBitrate !== null && rxBitrate !== null) { const tx = txBitrate as number; const rx = rxBitrate as number; - return tx === rx ? `${tx} Mbit/s` : `↑${tx} ↓${rx} Mbit/s`; + speed = tx === rx ? `${tx} Mbit/s` : `↑${tx} ↓${rx} Mbit/s`; + } else if (txBitrate !== null) { + speed = `↑${txBitrate} Mbit/s`; + } else if (rxBitrate !== null) { + speed = `↓${rxBitrate} Mbit/s`; + } else { + speed = `${bitrate} Mbit/s`; } - if (txBitrate !== null) return `↑${txBitrate} Mbit/s`; - if (rxBitrate !== null) return `↓${rxBitrate} Mbit/s`; - return `${bitrate} Mbit/s`; + const max = maxBitrate as number; + if (max > 0) { + speed += ` (max ${max})`; + } + + return speed; } private formatChannelWidth(width: ChannelWidthMHz | null): string { diff --git a/src/types.ts b/src/types.ts index 129c6f0..d03d178 100644 --- a/src/types.ts +++ b/src/types.ts @@ -142,6 +142,7 @@ export interface ConnectedInfo extends BaseConnectionInfo { readonly channelWidth: ChannelWidthMHz | null; readonly txBitrate: BitrateMbps | null; readonly rxBitrate: BitrateMbps | null; + readonly maxBitrate: BitrateMbps; } export interface ScannedNetwork { diff --git a/src/wifiInfo.ts b/src/wifiInfo.ts index c51285a..7b5ffce 100644 --- a/src/wifiInfo.ts +++ b/src/wifiInfo.ts @@ -297,6 +297,7 @@ export class WifiInfoService { channelWidth: iwInfo.channelWidth, txBitrate: iwInfo.txBitrate, rxBitrate: iwInfo.rxBitrate, + maxBitrate: asBitrateMbps(ap.get_max_bitrate() / 1000), }); }