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

@@ -210,7 +210,32 @@ window.onload = function() {
function loadWifiLog() {
const container = document.getElementById('card_wifi_content');
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) {