Docs security / security (pull_request) Successful in 6s
Docs verify / verify (pull_request) Successful in 11s
Conventional commits / commits (pull_request) Successful in 16s
Docs security / security (push) Successful in 9s
Docs verify / verify (push) Successful in 10s
50 lines
4.2 KiB
Markdown
50 lines
4.2 KiB
Markdown
# Ожидание, ошибки и восстановление интерфейса
|
|
|
|
Интерфейс различает ожидание данных, известную ошибку запроса и непойманную
|
|
ошибку отображения маршрута. Эти состояния требуют разных действий и
|
|
не подменяют друг друга.
|
|
|
|
## Ожидание и доступные данные
|
|
|
|
При первой загрузке без результата structural skeleton показывает
|
|
расположение ожидаемых блоков. При частичной загрузке он занимает только
|
|
незагруженную область. Placeholders не содержат правдоподобных финансовых
|
|
данных, не становятся действиями и не получают клавиатурный фокус; область
|
|
ожидания обозначается как занятая.
|
|
|
|
При восстановлении сессии SPA показывает нейтральный skeleton каркаса,
|
|
пока неизвестно, доступен public или protected маршрут. При загрузке
|
|
отложенного маршрута уже доступный каркас остаётся видимым.
|
|
|
|
Фоновое обновление и действие пользователя сохраняют видимые данные или
|
|
элемент управления с компактной индикацией процесса. В частности,
|
|
[клиентский снимок](data-freshness.md#клиентский-и-серверный-снимки) счетов или
|
|
портфеля остаётся доступным после ошибки refetch; сообщение и повтор
|
|
относятся к обновлению, а не к отсутствию инвестиций.
|
|
|
|
## Известная ошибка сценария
|
|
|
|
Ошибки счетов, портфеля и подключения T-Bank остаются локальными: рядом
|
|
с затронутыми данными доступны предусмотренные сценарием retry и navigation
|
|
actions. Устаревший серверный Portfolio Snapshot показывает сохранённый
|
|
портфель с предупреждением. Он не превращается в глобальный fallback.
|
|
Ошибка источника не означает нулевой баланс или отсутствие операций.
|
|
|
|
## Непойманная ошибка маршрута
|
|
|
|
Непойманная runtime-ошибка при отображении public или protected route
|
|
заменяет его содержимое нейтральным fallback без технических деталей.
|
|
Пользователь может перейти к `/accounts` при активной сессии или к `/login`
|
|
без неё. Переход на другой маршрут сбрасывает это состояние; если новый
|
|
маршрут отображается успешно, пользователь продолжает работу.
|
|
|
|
Общий fallback восстанавливает навигацию, но не обещает устранить причину
|
|
ошибки. HTTP-коды и безопасная форма серверной ошибки находятся в
|
|
[HTTP API](../http-api.md), восстановление сессии — в
|
|
[аутентификации](../../domains/authentication/overview.md).
|
|
|
|
Согласованное поведение раскрыто в workspace-спецификациях
|
|
[UI resilience](https://git.personal.ksv741.ru/WealthLedger/specs/src/commit/9e227a563dda67620f0ad78228aa8a4c18bf35a0/openspec/specs/frontend-ui-resilience/spec.md),
|
|
[loading presentation](https://git.personal.ksv741.ru/WealthLedger/specs/src/commit/9e227a563dda67620f0ad78228aa8a4c18bf35a0/openspec/specs/frontend-loading-presentation/spec.md)
|
|
и [data resilience](https://git.personal.ksv741.ru/WealthLedger/specs/src/commit/9e227a563dda67620f0ad78228aa8a4c18bf35a0/openspec/specs/frontend-data-resilience/spec.md).
|