fix(dashboard): prevent column reset on evolve-agent reload
- Remove localStorage wipe before mergeCachedResults() — was deleting cached research results when Evolve button triggered load() - mergeCachedResults(): only fill gaps (existing===undefined||0), never override scores from DB — prevents stale cache from shadowing live data
This commit is contained in:
@@ -154,10 +154,6 @@ async function load(){
|
||||
const eRes=await fetch('data/evolution.json');
|
||||
evoData=await eRes.json();
|
||||
reportData.generated = reportData.generated || new Date().toISOString();
|
||||
// Больше не смешиваем API-данные с локальным кэшем — иначе stale cached scores перекрывают живые данные из БД
|
||||
if (reportData.source && reportData.source.includes('db')) {
|
||||
try { localStorage.removeItem('__researchResults'); } catch(e) {}
|
||||
}
|
||||
$('updated').textContent=new Date(reportData.generated).toLocaleString('ru-RU');
|
||||
|
||||
const agents=Object.values(reportData.agents).filter(a=>Object.values(a.evaluations).some(s=>s>0));
|
||||
@@ -304,7 +300,11 @@ function mergeCachedResults(){
|
||||
}
|
||||
for(const r of (rec.models||[])){
|
||||
const shortM=modelShort(r.model);
|
||||
reportData.agents[agent].evaluations[shortM]=r.score;
|
||||
// Only fill gaps — never override existing DB scores
|
||||
const existing=reportData.agents[agent].evaluations[shortM];
|
||||
if(existing===undefined||existing===0){
|
||||
reportData.agents[agent].evaluations[shortM]=r.score;
|
||||
}
|
||||
if(r.score>reportData.agents[agent].best_score){
|
||||
reportData.agents[agent].best_model=shortM;
|
||||
reportData.agents[agent].best_score=r.score;
|
||||
|
||||
Reference in New Issue
Block a user