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:
Deploy Bot
2026-05-28 12:24:40 +01:00
parent 56eb5c7eb6
commit 15ff887788

View File

@@ -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;