fix(fuzzer): убрал лишний ре-рендер таблицы результатов durante benchmark

renderResults() вызывался каждые 600мс и пересоздавал всю таблицу — при
100+ стратегиях UI зависал. Теперь таблица перерисовывается только при
появлении нового результата или завершении бенчмарка.
This commit is contained in:
Dushnilin
2026-08-27 16:24:56 +03:00
parent cd85e3e169
commit 1f2b7edd0d
2 changed files with 28 additions and 2 deletions
@@ -13110,6 +13110,8 @@ function renderStrategyFuzzerModal(ruleNames = []) {
applyBestBtn2.disabled = false;
}
};
let lastRenderedCount = 0;
let lastRenderedFinishedAt = 0;
const pollStatus = async () => {
if (isPolling) return;
isPolling = true;
@@ -13119,7 +13121,13 @@ function renderStrategyFuzzerModal(ruleNames = []) {
currentState = res.data;
isRunning = res.data.running;
updateProgressUI(res.data);
renderResults(res.data);
const resultCount = res.data.results?.length || 0;
const finishedAt = res.data.finished_at || 0;
if (resultCount !== lastRenderedCount || finishedAt !== lastRenderedFinishedAt) {
renderResults(res.data);
lastRenderedCount = resultCount;
lastRenderedFinishedAt = finishedAt;
}
if (!isRunning) {
stopPolling();
startBtn.innerText = _("\u{1F680} Start Benchmark");
@@ -13287,6 +13295,8 @@ function renderStrategyFuzzerModal(ruleNames = []) {
showToast(_("Strategy benchmark started"), "success");
startBtn.disabled = false;
isRunning = true;
lastRenderedCount = 0;
lastRenderedFinishedAt = 0;
startPolling();
} else {
const errMsg = !res.success ? res.error : _("Unknown error");