Files
docs/architecture/cross-cutting/ui-resilience.md
T

4.0 KiB

Ожидание, ошибки и восстановление интерфейса

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

Ожидание и доступные данные

При первой загрузке без результата structural skeleton показывает расположение ожидаемых блоков. При частичной загрузке он занимает только незагруженную область. Placeholders не содержат правдоподобных финансовых данных, не становятся действиями и не получают клавиатурный фокус; область ожидания обозначается как занятая.

При восстановлении сессии SPA показывает нейтральный skeleton каркаса, пока неизвестно, доступен public или protected маршрут. При загрузке отложенного маршрута уже доступный каркас остаётся видимым.

Фоновое обновление и действие пользователя сохраняют видимые данные или элемент управления с компактной индикацией процесса. В частности, клиентский снимок счетов или портфеля остаётся доступным после ошибки refetch; сообщение и повтор относятся к обновлению, а не к отсутствию инвестиций.

Известная ошибка сценария

Ошибки счетов, портфеля и подключения T-Bank остаются локальными: рядом с затронутыми данными доступны предусмотренные сценарием retry и navigation actions. Устаревший серверный Portfolio Snapshot показывает сохранённый портфель с предупреждением. Он не превращается в глобальный fallback. Ошибка источника не означает нулевой баланс или отсутствие операций.

Непойманная ошибка маршрута

Непойманная runtime-ошибка при отображении public или protected route заменяет его содержимое нейтральным fallback без технических деталей. Пользователь может перейти к /accounts при активной сессии или к /login без неё. Переход на другой маршрут сбрасывает это состояние; если новый маршрут отображается успешно, пользователь продолжает работу.

Общий fallback восстанавливает навигацию, но не обещает устранить причину ошибки. HTTP-коды и безопасная форма серверной ошибки находятся в HTTP API, восстановление сессии — в аутентификации.

Согласованное поведение раскрыто в workspace-спецификациях UI resilience, loading presentation и data resilience.