chore(ci+logs): eslint в CI, npm audit, logger с уровнями, retention error_logs

Шаги 1.6 и 1.7 плана production-готовности:
- eslint flat-config (баг-ловушки, легаси warn), lint блокирующий в pr-check
- npm audit --audit-level=high в CI (отчёт)
- фикс реального бага: условный useRef в TaskTitleInline
- server/utils/logger.ts (LOG_LEVEL/LOG_FORMAT) в 5 горячих местах
- error_logs retention 30 дней (worker), redactSensitive в captureErrorLog
- 0 errors lint, vitest 96/96
This commit is contained in:
2026-09-08 00:11:38 +03:00
parent 6eaca79cc6
commit abd5d4b65f
14 changed files with 1579 additions and 19 deletions

View File

@@ -1527,6 +1527,7 @@ function TaskTitleInline({ task, taskIdNumber, formId, isTaskFinal }: { task: Ta
const [draft, setDraft] = useState(task.title);
const draftRef = useRef(task.title);
const wrapperRef = useRef<HTMLDivElement>(null);
const lastTitleTapRef = useRef<number>(0);
// Пока не редактируем — синхронизируем черновик с актуальным заголовком
useEffect(() => {
@@ -1609,8 +1610,6 @@ function TaskTitleInline({ task, taskIdNumber, formId, isTaskFinal }: { task: Ta
);
}
const lastTitleTapRef = useRef<number>(0);
const enterTitleEdit = () => {
if (isTaskFinal) return;
setDraft(task.title);