Потеря данных между обновлениями (упакованное приложение Chrome)

Я работаю над упакованным приложением Chrome, которое локально сохраняет много данных. Я недавно поставил его в магазине хром. К моему ужасу, всякий раз, когда установка Chrome моего пользователя обновляла приложение (например, с версии 1.1.1 до версии 1.1.2), все их локальные данные исчезали (данные indexeddb). Почему это так?

Является ли ожидаемым поведением уничтожение всех баз данных при обновлении? Есть ли способ предотвратить это, кроме как не выпускать обновления?

(Кроме того, где я могу сообщить об этой проблеме/ошибке, если это так?)


Обновление: подал отчет об ошибке, но теперь я не могу воспроизвести проблему. Не уверен, что это было исправлено или моя ситуация была случайностью.


person Hayk Saakian    schedule 10.01.2013    source источник


Ответы (2)


Документация нечеткая по этому поводу:

https://developer.chrome.com/trunk/apps/app_lifecycle.html

Предотвращение потери данных

Пользователи могут удалить ваше приложение в любое время. При удалении исполняемый код или личные данные не остаются. Это может привести к потере данных, поскольку пользователи могут удалять приложение, которое имеет локально отредактированные несинхронизированные данные. Вы должны спрятать данные, чтобы предотвратить потерю данных.

Я надеюсь, что они подробно расскажут об этом, потому что удаление пользовательских данных при каждом обновлении не очень удобно для пользователя.

person user709568    schedule 12.01.2013

Я поставил вопрос:

http://code.google.com/p/chromium/issues/detail?id=169417

один из разработчиков вернулся ко мне и сказал:

Я не могу вспомнить номера выпусков навскидку, но в какой-то момент, когда мы включили правильное секционированное хранилище, произошла однократная потеря данных. Это было сделано до того, как упакованные приложения официально стали стабильными. Если потеря данных произошла при обновлении Chrome, то я бы сказал, что это ожидаемо. Этого точно больше не должно происходить.

person Hayk Saakian    schedule 17.01.2013