UI : moteur fourni par l'image, et journal du moteur repliable

Le panneau « Moteur » proposait d'installer llama.cpp alors que l'image le
fournit déjà (/app/llama-server) : cliquer lançait une compilation qui
échouait sur « outils manquants : cmake », l'image n'embarquant ni cmake ni
compilateur.
- engineProvided() : vrai en conteneur quand BIN désigne un exécutable
  existant HORS de LOKI_HOME (donc ni dépôt cloné, ni précompilé, ni backend
  custom, qui sont gérés par Loki) ; exposé en clé 'provided' de /api/llamacpp
- les routes install / install-custom / update refusent en 409 avec un
  message explicite au lieu de partir en build
- l'UI affiche l'état réel (chemin du binaire) et masque les trois modes

Le journal du moteur n'était repliable que par un second clic sur la pastille
d'état — sans chevron ni titre cliquable, contrairement à toutes les autres
sections de la barre latérale. Il devient un <details><summary> comme les
autres ; la pastille reste un raccourci et le chargement suit l'événement
toggle, quel que soit le moyen d'ouverture.

Vérifié dans l'image : provided=true, config_bin=/app/llama-server,
POST /api/llamacpp/install → 409 explicite, <details id="svc-log-box"> servi.
This commit is contained in:
Loki committed 2026-08-15 07:49:46 +00:00
1 parent 1e232a7ff3
commit 5b434a4a59
5 files changed
+166 -56

No files matched your search

+4 -4
View File
@@ -36,13 +36,13 @@ async function loadStatus(){
else { me.style.display='none'; }
}
}
// Journal du moteur — replié par défaut, on l'ouvre en cliquant la pastille.
// Journal du moteur — section repliable comme les autres. La pastille d'état
// reste un raccourci ; le chargement du journal est déclenché par l'événement
// `toggle` du <details>, qu'on l'ouvre par la pastille ou par son chevron.
function toggleSvcLog(){
const box=document.getElementById('svc-log-box');
if(!box) return;
const show = box.style.display==='none';
box.style.display = show ? '' : 'none';
if(show){ loadSvcLog(); showPaths(); }
box.open = !box.open;
}
async function loadSvcLog(){
const el=document.getElementById('svc-log');