См. также: Health Check: Algorithm, General Description
Статусы подключения
Существует три статуса подключения, связанных с получением и отправкой сообщений.
Нет подключения к интернету — сообщается операционной системой (нет сети, Wi-Fi и т.д.). В проверке работоспособности Нет активных нод на самом деле может означать отсутствие подключения к интернету.
Нет активных/доступных ADM-нод — применяется, когда включена хотя бы одна ADM-нода, но ни одна из них не находится в статусе Active. Та же логика применяется к монетам и сервисам (например, Нет активных BTC-сервисов). Неподдерживаемые ноды не учитываются.
Нет включённых ADM-нод — возникает, когда пользователь отключил все ноды. Неподдерживаемые ноды также не учитываются; могут существовать ноды в статусе Unsupported, но статус останется Нет включённых нод.
Приоритет проверок
Проверки выполняются в порядке: сначала Нет подключения к интернету, затем Нет активных/доступных ADM-нод, затем Нет включённых ADM-нод.
Конкретные случаи
Общее всплывающее уведомление
Общее всплывающее уведомление появляется только при Нет подключения к интернету. Оно постоянное (отображается, пока пользователь не закроет его или подключение не восстановится) и вызывает вибрацию для привлечения внимания.

Всплывающее предупреждение в чате
Всплывающее предупреждение в чате появляется при Нет включённых ADM-нод, если соединение активно, нет доступных ADM-нод, и у пользователя есть хотя бы одна вручную отключённая нода. Оно постоянное и вызывает вибрацию для привлечения внимания.

Общий спиннер обновления
Общий спиннер обновления (отображается в верхней части экрана, указывает, что данные/сообщения не актуальны) появляется при всех статусах подключения. Включает экран Делегатов, экран Кошельки и любой экран нод. Он постоянный и не вызывает вибрацию.

См. также: Health Check: General updating spinner
Спиннер загрузки данных
Спиннер загрузки данных охватывает спиннер списка чатов, спиннер конкретного чата и спиннер списка транзакций ADM. Появляется при всех статусах подключения и отображается по запросу пользователя — например, при входе на экран списка транзакций ADM, прокрутке списка чатов для загрузки новых чатов, входе в конкретный чат, которого приложение ещё не имеет, прокрутке внутри конкретного чата или входе на экран Голосование за делегатов. Спиннер отображается до обновления данных. Он постоянный и не вызывает вибрацию.
Отправка нового сообщения или файла
Это поведение одинаково для всех статусов подключения. Если соединения нет, сообщение отображается в чате со статусом транзакции Pending. Статус Pending переходит в Failed в зависимости от таймаутов, определённых в Message sending timeouts. Реализованы два таймаута: один для отправки обычного сообщения, другой — для отправки сообщения с вложениями. Таймаут вложений относится к отправке ADM-сообщения с уже загруженными файлами, а не к самой загрузке файлов.
Отправка ADM или другой криптовалюты в чате
Это также относится к прямой отправке монет ADM. При всех статусах подключения отправка запрещена, и отображается временное всплывающее уведомление с вибрацией предупреждения. При прямой отправке не-ADM монет (Account → Coin → Send) доступность ADM-нод для перевода монет не проверяется.

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

Для Нет включённых ADM-нод также отображается дополнительное всплывающее предупреждение в чате.
При восстановлении подключения
Когда подключение восстанавливается, выполняются ожидающие запросы — например, отправляются ожидающие сообщения и обновляются спиннеры.
Вход по мнемонической фразе
При Нет подключения к интернету и Нет активных/доступных ADM-нод пользователь остаётся на экране входа с отображением всплывающего уведомления или окна. При Нет включённых ADM-нод пользователь перенаправляется на экран ADM-нод с всплывающим уведомлением или окном. Всплывающее уведомление временное и вызывает вибрацию предупреждения.

Вход по паролю/биометрии
Это поведение одинаково для всех статусов подключения. Пользователь входит в систему как обычно, без задержек и запросов, и открывается вкладка Чаты. Отображаются локально сохранённые сообщения и чаты. Общий спиннер обновления указывает, что данные не актуальны, и отображается всплывающее уведомление «Нет подключения».