Compare commits

..

8 Commits

Author SHA1 Message Date
TIP Automation User
2c62c7bc92 Chg: update image tag in helm values to v2.6.0 2022-07-11 11:14:07 +00:00
TIP Automation User
2befa3ce6f Chg: update image tag in helm values to v2.6.0-RC4 2022-07-09 12:17:45 +00:00
Charles Bourque
5a39deaa37 Merge pull request #97 from stephb9959/main
[WIFI-9921] Telemetry now only showing selected types when receiving messages
2022-06-28 15:05:54 +01:00
Charles
85b92f46f5 [WIFI-9921] Telemetry now only showing selected types when receiving messages
Signed-off-by: Charles <charles.bourque96@gmail.com>
2022-06-28 15:03:51 +01:00
TIP Automation User
abb8b2ba0f Chg: update image tag in helm values to v2.6.0-RC3 2022-06-23 19:01:26 +00:00
Charles Bourque
a22f33dade Merge pull request #96 from stephb9959/main
[WIFI-9773] Wifi Scan request sometimes stalling
2022-06-21 18:14:09 +01:00
Charles
237b8b5ede [WIFI-9773] Wifi Scan request sometimes stalling
Signed-off-by: Charles <charles.bourque96@gmail.com>
2022-06-21 18:12:17 +01:00
Charles
438d008c34 2.6.27: wifi analysis with no records fix
Signed-off-by: Charles <charles.bourque96@gmail.com>
2022-06-21 18:12:17 +01:00
11 changed files with 82 additions and 55 deletions

View File

@@ -8,7 +8,7 @@ fullnameOverride: ""
images:
owgwui:
repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui
tag: v2.6.0-RC2
tag: v2.6.0
pullPolicy: Always
services:

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "ucentral-client",
"version": "2.6.26",
"version": "2.6.29",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ucentral-client",
"version": "2.6.26",
"version": "2.6.29",
"dependencies": {
"@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1",

View File

@@ -1,6 +1,6 @@
{
"name": "ucentral-client",
"version": "2.6.26",
"version": "2.6.29",
"dependencies": {
"@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.1",

View File

@@ -719,9 +719,9 @@
"telemetry": {
"connection_failed": "Verbindung konnte nicht hergestellt werden. Fehler: {{error}}",
"interval": "Intervall",
"last_update": "Letztes Update",
"lifetime": "Dauer",
"outputmode": "Ausgabemodus",
"last_update": "Letztes Update",
"types": "Typen"
},
"trace": {
@@ -816,6 +816,7 @@
"radios": "Radios",
"scan_warning": "Ihr 5G-Funkgerät befindet sich auf einem Radarkanal, Sie müssen „Override DFS“ aktivieren, um das Scannen aller 5G-Kanäle zu ermöglichen",
"title": "WLAN-Analyse",
"vendor": "Verkäufer"
"vendor": "Verkäufer",
"waiting_for_data": "Warten auf Empfang von Gerätedaten. Bitte schauen Sie später noch einmal nach"
}
}

View File

@@ -719,9 +719,9 @@
"telemetry": {
"connection_failed": "Failed to create connection. Error: {{error}}",
"interval": "Interval",
"last_update": "Last Update",
"lifetime": "Duration",
"outputmode": "Output Mode",
"last_update": "Last Update",
"types": "Types"
},
"trace": {
@@ -816,6 +816,7 @@
"radios": "Radios",
"scan_warning": "Your 5G radio is on a radar channel, you must enable “Override DFS” to allow scanning of all 5G channels",
"title": "Wi-Fi Analysis",
"vendor": "Vendor"
"vendor": "Vendor",
"waiting_for_data": "Waiting to receive device data. Please check again later"
}
}

View File

@@ -719,9 +719,9 @@
"telemetry": {
"connection_failed": "No se pudo crear la conexión. Error: {{error}}",
"interval": "intervalo",
"last_update": "Última actualización",
"lifetime": "Duración",
"outputmode": "Modo salida",
"last_update": "Última actualización",
"types": "Los tipos"
},
"trace": {
@@ -816,6 +816,7 @@
"radios": "Radios",
"scan_warning": "Su radio 5G está en un canal de radar, debe habilitar \"Anular DFS\" para permitir el escaneo de todos los canales 5G",
"title": "Análisis de Wi-Fi",
"vendor": "Vendedor"
"vendor": "Vendedor",
"waiting_for_data": "Esperando recibir datos del dispositivo. Vuelva a consultar más tarde"
}
}

View File

@@ -719,9 +719,9 @@
"telemetry": {
"connection_failed": "Échec de la création de la connexion. Erreur : {{error}}",
"interval": "Intervalle",
"last_update": "Dernière mise à jour",
"lifetime": "Durée",
"outputmode": "Mode de sortie",
"last_update": "Dernière mise à jour",
"types": "Les types"
},
"trace": {
@@ -816,6 +816,7 @@
"radios": "Radios",
"scan_warning": "Votre radio 5G est sur un canal radar, vous devez activer \"Override DFS\" pour permettre le balayage de tous les canaux 5G",
"title": "Analyse Wi-Fi",
"vendor": "vendeur"
"vendor": "vendeur",
"waiting_for_data": "En attente de réception des données de l'appareil. Veuillez revérifier plus tard"
}
}

View File

@@ -719,9 +719,9 @@
"telemetry": {
"connection_failed": "Falha ao criar conexão. Erro: {{error}}",
"interval": "intervalo",
"last_update": "Última atualização",
"lifetime": "Duração",
"outputmode": "Modo saída",
"last_update": "Última atualização",
"types": "Tipos"
},
"trace": {
@@ -816,6 +816,7 @@
"radios": "Rádios",
"scan_warning": "Seu rádio 5G está em um canal de radar, você deve habilitar “Override DFS” para permitir a varredura de todos os canais 5G",
"title": "Análise de Wi-Fi",
"vendor": "fornecedor"
"vendor": "fornecedor",
"waiting_for_data": "Aguardando para receber dados do dispositivo. Verifique novamente mais tarde"
}
}

View File

@@ -1,4 +1,4 @@
import React, { useEffect, useState } from 'react';
import React, { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import PropTypes from 'prop-types';
import Select from 'react-select';
@@ -55,6 +55,17 @@ const TelemetryModal = ({ show, toggle }) => {
}
};
const msgToDisplay = useMemo(() => {
const display = {};
if (lastMessage) {
for (const type of types) {
display[type.value] = lastMessage[type.value];
}
}
return display;
}, [lastMessage, types]);
const getUrl = () => {
setLastUpdate('');
setLastMessage({});
@@ -82,14 +93,13 @@ const TelemetryModal = ({ show, toggle }) => {
.then((response) => {
if (chosenMethod === 'true') {
addToast({
title: t('common.success'),
body: t('commands.command_success'),
color: 'success',
autohide: true,
});
title: t('common.success'),
body: t('commands.command_success'),
color: 'success',
autohide: true,
});
toggle();
}
else if (response.data.uri && response.data.uri !== '') {
} else if (response.data.uri && response.data.uri !== '') {
setReceivedMessages(0);
setSocket(new WebSocket(response.data.uri));
}
@@ -259,7 +269,7 @@ const TelemetryModal = ({ show, toggle }) => {
</CRow>
<CRow>
<CCol>
<pre>{JSON.stringify(lastMessage, null, 2)}</pre>
<pre>{JSON.stringify(msgToDisplay, null, 2)}</pre>
</CCol>
</CRow>
<CRow>

View File

@@ -238,7 +238,7 @@ const WifiAnalysis = () => {
return (
<div>
<CCard>
<CCard className="mb-0">
<CCardHeader className="dark-header d-flex flex-row-reverse align-items-center">
<div className="pl-2">
<CPopover content={t('common.refresh')}>
@@ -254,35 +254,47 @@ const WifiAnalysis = () => {
</div>
</CCardHeader>
<CCardBody>
<CRow className="mb-4">
<CCol className="text-center">
<input
type="range"
style={{ width: '80%' }}
className="form-range"
min="0"
max={range}
step="1"
onChange={(e) => updateSelectedStats(e.target.value)}
defaultValue={range}
disabled={!selectedRadioStats}
/>
<h5>
{t('common.timestamp')}: {tableTime}
</h5>
</CCol>
</CRow>
<div className="overflow-auto" style={{ height: 'calc(100vh - 300px)' }}>
<h5 className="pb-3 text-center">{t('wifi_analysis.radios')}</h5>
<RadioAnalysisTable data={selectedRadioStats ?? []} loading={loading} range={range} />
<h5 className="pt-5 pb-3 text-center">{t('wifi_analysis.associations')}</h5>
<WifiAnalysisTable
t={t}
data={selectedAssociationStats ?? []}
loading={loading}
range={range}
/>
</div>
{!loading && parsedAssociationStats.length === 0 ? (
<div className="text-center">
<h3>{t('wifi_analysis.waiting_for_data')}</h3>
</div>
) : (
<>
<CRow className="mb-4">
<CCol className="text-center">
<input
type="range"
style={{ width: '80%' }}
className="form-range"
min="0"
max={range}
step="1"
onChange={(e) => updateSelectedStats(e.target.value)}
defaultValue={range}
disabled={!selectedRadioStats}
/>
<h5>
{t('common.timestamp')}: {tableTime}
</h5>
</CCol>
</CRow>
<div className="overflow-auto" style={{ height: 'calc(100vh - 300px)' }}>
<h5 className="pb-3 text-center">{t('wifi_analysis.radios')}</h5>
<RadioAnalysisTable
data={selectedRadioStats ?? []}
loading={loading}
range={range}
/>
<h5 className="pt-5 pb-3 text-center">{t('wifi_analysis.associations')}</h5>
<WifiAnalysisTable
t={t}
data={selectedAssociationStats ?? []}
loading={loading}
range={range}
/>
</div>
</>
)}
</CCardBody>
</CCard>
<CModal size="xl" show={showModal} onClose={toggleModal}>

View File

@@ -82,7 +82,7 @@ const WifiScanModal = ({ show, toggleModal }) => {
setActiveScan(false);
setHideOptions(false);
setErrorCode(0);
setIes(undefined);
setIes([]);
}, [show]);
const parseThroughList = (scanList) => {
@@ -164,7 +164,7 @@ const WifiScanModal = ({ show, toggleModal }) => {
override_dfs: dfs,
bandwidth: bandwidth !== '' ? bandwidth : undefined,
activeScan,
ies: ies.length > 0 ? ies.map(({ value }) => value) : undefined,
ies: ies?.length > 0 ? ies.map(({ value }) => value) : undefined,
};
const headers = {
Accept: 'application/json',