Interface : corrections de relecture du lot 2 — « Optimiser » seulement dans l'éditeur du preset en service

La ligne de l'optimiseur s'affichait dans l'éditeur de TOUT preset local, y
compris un preset neuf ou un autre que celui en service, alors que la mesure
porte toujours sur le preset actif (le README le dit) : un clic depuis
l'éditeur d'un autre preset aurait optimisé et proposé d'écrire celui en
service.

- La dernière liste des presets est gardée ; la ligne n'apparaît que si le
  preset ouvert est l'actif, et local.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-04 12:33:10 +02:00
1 parent 568f344273
commit b7d7bfbe59
3 files changed
+22

No files matched your search

+11
View File
@@ -4420,8 +4420,12 @@ let pendingPreset = 0;
// redessin et la puce semblait clignoter en boucle. On ne les rejoue que quand la // redessin et la puce semblait clignoter en boucle. On ne les rejoue que quand la
// sélection CHANGE vraiment. // sélection CHANGE vraiment.
let paintedSel = ''; let paintedSel = '';
// Dernière liste lue : l'éditeur y voit si le preset ouvert est celui en
// service (ligne « Optimiser », qui ne mesure que lui).
let presetsLast = [];
async function loadPresets(){ async function loadPresets(){
const p=await jget('/api/presets'); const p=await jget('/api/presets');
presetsLast = Array.isArray(p) ? p : [];
// Bascule terminée : le preset visé est devenu l'actif, on éteint l'attente. // Bascule terminée : le preset visé est devenu l'actif, on éteint l'attente.
if(pendingPreset && p[pendingPreset-1] && p[pendingPreset-1].active) pendingPreset = 0; if(pendingPreset && p[pendingPreset-1] && p[pendingPreset-1].active) pendingPreset = 0;
const act = p.find(x=>x.active); const act = p.find(x=>x.active);
@@ -6029,6 +6033,13 @@ function populateSettings(){
set('s-cram', cfgReadKey('CACHE_RAM')); set('s-cram', cfgReadKey('CACHE_RAM'));
refreshCacheRAM(); refreshCacheRAM();
refreshMoe(); refreshMoe();
// L'optimiseur mesure le preset EN SERVICE (local) : sa ligne n'apparaît que
// dans l'éditeur de celui-ci, pas d'un autre preset ni d'un preset neuf.
const tuneRow = document.getElementById('m-tune-row');
if(tuneRow){
const act = (typeof presetsLast !== 'undefined' ? presetsLast : []).find(x => x.active);
tuneRow.style.display = (act && !act.external && editingKey && act.id === editingKey) ? '' : 'none';
}
set('s-tbatch', cfgReadKey('THREADS_BATCH')); set('s-tbatch', cfgReadKey('THREADS_BATCH'));
set('s-kv', cfgReadKey('KV_TYPE')); set('s-kv', cfgReadKey('KV_TYPE'));
syncKVSub(); syncKVSub();
+4
View File
@@ -34,8 +34,12 @@ let pendingPreset = 0;
// redessin et la puce semblait clignoter en boucle. On ne les rejoue que quand la // redessin et la puce semblait clignoter en boucle. On ne les rejoue que quand la
// sélection CHANGE vraiment. // sélection CHANGE vraiment.
let paintedSel = ''; let paintedSel = '';
// Dernière liste lue : l'éditeur y voit si le preset ouvert est celui en
// service (ligne « Optimiser », qui ne mesure que lui).
let presetsLast = [];
async function loadPresets(){ async function loadPresets(){
const p=await jget('/api/presets'); const p=await jget('/api/presets');
presetsLast = Array.isArray(p) ? p : [];
// Bascule terminée : le preset visé est devenu l'actif, on éteint l'attente. // Bascule terminée : le preset visé est devenu l'actif, on éteint l'attente.
if(pendingPreset && p[pendingPreset-1] && p[pendingPreset-1].active) pendingPreset = 0; if(pendingPreset && p[pendingPreset-1] && p[pendingPreset-1].active) pendingPreset = 0;
const act = p.find(x=>x.active); const act = p.find(x=>x.active);
+7
View File
@@ -1019,6 +1019,13 @@ function populateSettings(){
set('s-cram', cfgReadKey('CACHE_RAM')); set('s-cram', cfgReadKey('CACHE_RAM'));
refreshCacheRAM(); refreshCacheRAM();
refreshMoe(); refreshMoe();
// L'optimiseur mesure le preset EN SERVICE (local) : sa ligne n'apparaît que
// dans l'éditeur de celui-ci, pas d'un autre preset ni d'un preset neuf.
const tuneRow = document.getElementById('m-tune-row');
if(tuneRow){
const act = (typeof presetsLast !== 'undefined' ? presetsLast : []).find(x => x.active);
tuneRow.style.display = (act && !act.external && editingKey && act.id === editingKey) ? '' : 'none';
}
set('s-tbatch', cfgReadKey('THREADS_BATCH')); set('s-tbatch', cfgReadKey('THREADS_BATCH'));
set('s-kv', cfgReadKey('KV_TYPE')); set('s-kv', cfgReadKey('KV_TYPE'));
syncKVSub(); syncKVSub();