Защита от очистки базы в браузере



В общем, оказалось что все не так трагично. Найден воркэраунд. Кто активно использует IndexedDB на своих проектах — вот вам мана небесная.



https://web.dev/i18n/en/persistent-storage/#request-persistent-storage



кратко

1. Проверить, что хранилище постоянное navigator.storage.persisted(), вернет true или false

2. Запросить постоянное хранилище navigator.storage.persist(), если все ок, то вернет true

Ограничения:

- если постоянное хранилище получено его уже не потерять, пока систему полностью не снести (это плюс скорее)

- мозила показывает окошко пользователю, чтобы он дал добро

- хром сам решает на основе вовлеченности пользователя

- сафари давал разрешения даже сайтам на которые впервые заходил (хром нет)