## Purpose Обеспечивает безопасное восстановление frontend после непойманной ошибки маршрута, не смешивая runtime failures с ожидаемыми состояниями инвестиционных сценариев. ## ADDED Requirements ### Requirement: Frontend безопасно обрабатывает непойманные ошибки маршрута Frontend SHALL показывать понятный fallback вместо аварийно завершившегося route content, когда на public или protected route возникает непойманная runtime-ошибка. Fallback MUST предоставлять пользователю безопасный путь навигации и MUST NOT показывать технические детали ошибки. #### Scenario: Ошибка на protected route - **WHEN** при отображении protected route возникает непойманная runtime-ошибка - **THEN** frontend показывает fallback с навигацией к безопасному route для текущего auth state #### Scenario: Ошибка на public route - **WHEN** при отображении public route возникает непойманная runtime-ошибка - **THEN** frontend показывает fallback с навигацией к public route без технических деталей ошибки ### Requirement: Frontend восстанавливается после навигации Frontend SHALL сбрасывать состояние route error после перехода пользователя на другой route и MUST отображать новый route, если он не выбрасывает runtime-ошибку. #### Scenario: Навигация после fallback - **WHEN** пользователь переходит с fallback на другой route - **THEN** frontend сбрасывает предыдущую runtime-ошибку и отображает целевой route ### Requirement: Ожидаемые finance states не становятся route failures Frontend SHALL сохранять локальное отображение и recovery actions известных состояний Brokerage Account, Portfolio и T-Bank connection. Эти состояния MUST NOT заменяться глобальным fallback. #### Scenario: Portfolio Snapshot устарел - **WHEN** frontend получает устаревший Portfolio Snapshot - **THEN** frontend отображает данные Portfolio и существующее предупреждение об устаревании вместо глобального fallback #### Scenario: Ошибка T-Bank connection - **WHEN** запрос T-Bank connection завершается известной ошибкой - **THEN** frontend показывает существующее локальное состояние ошибки и доступное для него recovery action вместо глобального fallback