Stockage : corrections de relecture — le remède Unraid décrit tel qu'il existe

« Exclusive access » n'est pas un réglage qu'on passe à Yes sur la page du
partage : c'est un état, que Unraid 6.12 accorde quand « Permit exclusive
shares » est activé et que le partage vit tout entier sur un pool, sans
stockage secondaire (/mnt/user/<partage> devient un lien vers le pool). La
consigne précédente envoyait chercher une option introuvable.
- conseil, compose et README : le vrai chemin (Global Share Settings,
  mover vers le pool puis Secondary = None, « Exclusive access : Yes »),
  et redémarrer le conteneur, Docker ne résolvant le lien qu'au démarrage ;
- un seul chemin par montage fuse.shfs : /data/models répétait /data ;
- l'encart de l'UI, permanent tant que la cause dure, devient masquable
  (localStorage, pour ce texte seulement — un autre conseil réapparaît).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-04 02:35:38 +02:00
1 parent 056f307983
commit 9f6bd725e6
7 files changed
+86 -26

No files matched your search

+3 -1
View File
@@ -75,7 +75,9 @@ document.documentElement.setAttribute('data-side',localStorage.getItem('loki-sid
</details>
<!-- Avertissement de lancement (App Translocation macOS) — masqué par défaut. -->
<div id="app-warn" class="muted" style="display:none;font-size:11px;line-height:1.5;margin:0 0 10px;padding:8px 10px;border-radius:4px;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent)"></div>
<div id="app-hint" class="muted" style="display:none;font-size:11px;line-height:1.5;margin:0 0 10px;padding:8px 10px;border-radius:4px;border:1px solid var(--border)"></div>
<!-- Conseil de performance (stockage Unraid via fuse.shfs) : permanent tant
que la cause dure, donc masquable — mémorisé pour CE texte seulement. -->
<div id="app-hint" class="muted" style="display:none;position:relative;font-size:11px;line-height:1.5;margin:0 0 10px;padding:8px 24px 8px 10px;border-radius:4px;border:1px solid var(--border)"><span id="app-hint-text"></span><button type="button" onclick="dismissHint()" title="masquer ce conseil" aria-label="masquer ce conseil" style="position:absolute;top:3px;right:3px;margin:0;padding:0 5px;border:0;background:none;color:inherit;font-size:14px;line-height:1.3">×</button></div>
<div id="model-err" style="display:none;font-size:11px;line-height:1.5;margin:0 0 10px;padding:8px 10px;border-radius:4px;color:var(--err);border:1px solid color-mix(in srgb,var(--err) 45%,transparent);background:color-mix(in srgb,var(--err) 12%,transparent)"></div>
<!-- Journal du moteur : replié par défaut, ouvert au clic sur la pastille d'état
OU par son propre chevron — c'est une section comme les autres, sinon on ne
+16 -1
View File
@@ -52,9 +52,16 @@ async function loadStatus(){
}
// Conseil de performance (stockage Unraid via fuse.shfs) : encart discret,
// pas le bandeau d'alerte — rien n'est perdu, seul le décodage ralentit.
// Il reste affiché tant que la cause dure : masquable, et seulement pour CE
// texte — un autre conseil (autre chemin concerné) réapparaît.
const hb=document.getElementById('app-hint');
if(hb){
if(s.hint){ hb.textContent=s.hint; hb.style.display=''; }
let gone='';
try{ gone=localStorage.getItem('loki-hint-dismissed')||''; }catch(e){}
if(s.hint && s.hint!==gone){
document.getElementById('app-hint-text').textContent=s.hint;
hb.dataset.hint=s.hint; hb.style.display='';
}
else { hb.style.display='none'; }
}
// Modèle qui ne charge pas (souvent un moteur incompatible) : message explicite
@@ -65,6 +72,14 @@ async function loadStatus(){
else { me.style.display='none'; }
}
}
// Masque le conseil de stockage pour ce navigateur (simple confort : sans
// localStorage, il revient au prochain rafraîchissement, rien de plus).
function dismissHint(){
const hb=document.getElementById('app-hint');
if(!hb) return;
try{ localStorage.setItem('loki-hint-dismissed', hb.dataset.hint||''); }catch(e){}
hb.style.display='none';
}
// 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.