Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="mobile-offline"></a>

# Офлайн-синхронизация

## Коротко

Локальная очередь должна знать идентичность операции и версию изменяемой записи.

## Плохо

```text
После восстановления сети все действия отправляются как новые.
```

## Хорошо

```text
Очередь с постоянными ключами.
Повторы безопасны. Конфликт версии виден пользователю.
```

## Почему

Потеря сети не должна создавать дубликаты или молча затирать данные.

## Когда применять

Офлайн-чтение и офлайн-запись — разные возможности. Определите срок и состав локальных данных.

## Как проверить

- Измените одну запись на двух устройствах без сети.

## Человек

Определяет правила разрешения конфликтов и статус неподтверждённых изменений.

## Агент

Реализует поведение клиента и проверяет потерю сети, повторный запуск и ограничения платформы.

Контроль результата:

- Измените одну запись на двух устройствах без сети.

## Источники

- [Build an offline-first app  |  App architecture  |  Android Developers](https://developer.android.com/topic/architecture/data-layer/offline-first)

Уровень: Рекомендуется. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/mobile/react-native/rules/offline.md)
