fix(11): guard от потери userModels/scripts при автосейве
All checks were successful
All checks were successful
При частичной загрузке сцены (terrain догрузился, модели/скрипты ещё нет из-за таймаута) автосейв затирал scene нулями. Блокируем сейв если ранее загружено >0 объектов, а сейчас 0 и пользователь не редактировал; loadFailedRef в safety-timer блокирует автосейв при таймауте загрузки. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
ee1b7352b7
commit
b2b545344a
@ -549,6 +549,12 @@ const KubikonEditor = () => {
|
||||
// не отработал, или setSceneLoading(false) попал в обход (race).
|
||||
const safetyTimer = setTimeout(() => {
|
||||
console.warn('[KubikonEditor] safety timer: forcing setSceneLoading(false) after 60s');
|
||||
// Загрузка не завершилась штатно за 60с (медленная сеть / таймаут
|
||||
// getProject / частично загруженные модели) → помечаем как СБОЙ
|
||||
// загрузки, чтобы автосейв НЕ затёр проект частичной/пустой сценой.
|
||||
// Без этого terrain мог загрузиться частично (напр. 3 из 13173) и
|
||||
// автосейв писал эту пустышку в БД (инцидент 2026-06-02).
|
||||
loadFailedRef.current = true;
|
||||
setSceneLoading(false);
|
||||
}, 60000);
|
||||
return () => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user