fix(assistant): «Забыть всё» теперь сбрасывает и производный профиль

clearMemory ставит точку отсчёта asst_forget_<uid> (datetime now); слабые
предметы/темы в _studentProfile считаются только по активности после неё, так
что панель памяти видимо очищается. Кнопка «Забыть всё» в виджете показывается
лишь при наличии заметок/слабых тем, профиль помечен как авто-обновляемый.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-24 22:36:29 +03:00
parent 7b4a274aed
commit 29fc270c0e
2 changed files with 17 additions and 9 deletions
+3 -2
View File
@@ -631,12 +631,13 @@
var cat = MEM_CAT[n.kind] || 'заметка';
return '<div class="asst-mem-note"><span><span class="asst-mem-cat">' + esc(cat) + '</span>' + esc(n.text) + '</span><button class="asst-mem-x" data-id="' + n.id + '" title="Забыть">&times;</button></div>';
}).join('');
var forgettable = (m.notes && m.notes.length) || (p.weakSubjects && p.weakSubjects.length) || (p.weakTopics && p.weakTopics.length);
var body = m.enabled === false
? '<div class="asst-mem-off">Персональная память выключена администратором.</div>'
: '<div class="asst-mem-body">' +
(prof.length ? '<div class="asst-mem-prof">' + prof.map(function (x) { return '<div>• ' + x + '</div>'; }).join('') + '</div>' : '') +
(prof.length ? '<div class="asst-mem-prof">' + prof.map(function (x) { return '<div>• ' + x + '</div>'; }).join('') + '<div style="font-size:.66rem;color:#9aa5b4;margin-top:7px">Считается по твоей активности и обновляется автоматически.</div></div>' : '') +
(notes ? '<div class="asst-mem-notes-h">Заметки</div>' + notes : (prof.length ? '' : '<div class="asst-empty">Пока я ничего не запомнил — позанимайся, и здесь появятся слабые темы и заметки.</div>')) +
((notes || prof.length) ? '<button class="asst-link" data-a="forget" style="margin-top:12px;color:#e0335e">Забыть всё</button>' : '') +
(forgettable ? '<button class="asst-link" data-a="forget" style="margin-top:12px;color:#e0335e">Забыть всё</button>' : '') +
'</div>';
openBubble(
'<div class="asst-name"><span class="asst-name-face">' + faceSVG('happy') + '</span>Что я о тебе помню' +