v1.9.5: Modal wifi_connect.log - message clair si fichier absent

Au lieu d'afficher l'erreur Apache "404 Not Found" qui faisait croire
à un bug, le modal indique maintenant que le log n'existe que lorsqu'une
tentative de connexion WiFi a déjà eu lieu. Inclut aussi un échappement
HTML basique du contenu et limite l'affichage aux 1000 dernières lignes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-05-20 11:44:26 +02:00
parent 3aae307842
commit bf38fdf811
3 changed files with 40 additions and 2 deletions

View File

@@ -1 +1 @@
1.9.4 1.9.5

View File

@@ -1,5 +1,18 @@
{ {
"versions": [ "versions": [
{
"version": "1.9.5",
"date": "2026-05-20",
"changes": {
"features": [],
"improvements": [
"logs.html (modal WiFi connect logs): message clair quand le fichier n'existe pas encore (au lieu du 404 d'Apache qui faisait croire à un bug). Échappement HTML du contenu et limitation aux 1000 dernières lignes pour la performance"
],
"fixes": [],
"compatibility": []
},
"notes": "Petit ajustement UX du modal introduit en v1.9.4: si aucune tentative WiFi n'a eu lieu depuis v1.9.3, on indique simplement qu'il faut en déclencher une plutôt que d'afficher une erreur HTTP."
},
{ {
"version": "1.9.4", "version": "1.9.4",
"date": "2026-05-20", "date": "2026-05-20",

View File

@@ -210,7 +210,32 @@ window.onload = function() {
function loadWifiLog() { function loadWifiLog() {
const container = document.getElementById('card_wifi_content'); const container = document.getElementById('card_wifi_content');
if (!container) return; if (!container) return;
displayLogFile('../logs/wifi_connect.log', container, true, 1000); container.innerHTML = '<div class="text-center"><i>Loading log file...</i></div>';
fetch('../logs/wifi_connect.log')
.then(response => {
if (response.status === 404) {
container.innerHTML = '<div class="alert alert-info mb-0">'
+ 'Aucun log WiFi pour le moment. '
+ 'Ce journal est créé lors de la première tentative de connexion WiFi depuis le mode hotspot. '
+ 'Reviens ici après avoir cliqué sur "Se connecter" depuis la page WiFi.'
+ '</div>';
return null;
}
if (!response.ok) {
throw new Error(`HTTP ${response.status} ${response.statusText}`);
}
return response.text();
})
.then(text => {
if (text === null) return;
const lines = text.split('\n');
const tail = lines.slice(-1000).join('\n');
container.innerHTML = `<pre style="white-space: pre-wrap; word-wrap: break-word; margin: 0;">${tail.replace(/</g, '&lt;')}</pre>`;
container.scrollTop = container.scrollHeight;
})
.catch(err => {
container.innerHTML = `<div class="text-danger">Error loading log file: ${err.message}</div>`;
});
} }
function displayLogFile(logFilePath, containerElement, scrollToBottom = true, maxLines = 0) { function displayLogFile(logFilePath, containerElement, scrollToBottom = true, maxLines = 0) {