Journal d'installation : la progression de Strata visible, plus de lignes en double

- Les barres de progression qui se redessinent avec \r (téléchargement du
  modèle par l'installeur de Strata) n'apparaissaient jamais : le journal ne
  découpait que sur \n et restait figé pendant tout le téléchargement. Une
  version toutes les 10 s est montrée ; \r\n reste une fin de ligne.
- Le suivi du job relançait une requête chaque seconde sans attendre la
  précédente : quand le serveur était occupé, deux réponses ajoutaient les
  mêmes lignes au journal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-07 10:54:09 +02:00
1 parent 5016396998
commit ac6d8ad144
4 files changed
+82 -6

No files matched your search

+12 -1
View File
@@ -453,10 +453,21 @@ function lcStartPolling(){
lcPollJob();
}
// Une seule requête à la fois : l'intervalle d'une seconde relançait un appel
// avant la réponse du précédent quand le serveur était occupé (téléchargement,
// accès distant), et les deux ajoutaient les MÊMES lignes au journal.
let lcPollInflight = false;
async function lcPollJob(quiet){
if(lcPollInflight) return;
lcPollInflight = true;
const from = lcLogNext;
let j;
try{ j = await jget('/api/llamacpp/job?from='+lcLogNext); }catch(_){ return; }
try{ j = await jget('/api/llamacpp/job?from='+from); }catch(_){ return; }
finally{ lcPollInflight = false; }
if(!j.exists) return;
// Le journal a été remis à zéro ou avancé entre-temps (nouveau job) : ces
// lignes ne suivent plus ce qui est affiché.
if(from !== lcLogNext) return;
const phaseEl = document.getElementById('lc-job-phase');
if(j.lines && j.lines.length){
const pre = document.getElementById('lc-log');