docs: record minimal runtime coordination
Document accepted cross-tab reauthentication, on-demand candles, native query/logging ownership and the complete deployment path. Preserve historical ADR context and link amendments through ADR 018. Related backend change: WealthLedger/backend@d698ed9
This commit is contained in:
@@ -55,15 +55,16 @@ sequenceDiagram
|
||||
B-->>F: Access token, профиль, новая refresh-cookie
|
||||
F->>B: Protected request с Bearer
|
||||
else Cookie нет или refresh отклонён
|
||||
B-->>F: 401 и очистка cookie
|
||||
B-->>F: 401 без изменения cookie
|
||||
Note over F: Готовое неавторизованное состояние
|
||||
end
|
||||
```
|
||||
|
||||
В одном экземпляре frontend одновременные refresh используют один
|
||||
незавершённый запрос. Между вкладками используется Web Locks, если браузер
|
||||
его поддерживает. Backend всё равно защищает ротацию атомарно: координация
|
||||
браузеров не заменяет серверную проверку.
|
||||
В одной вкладке одновременные refresh используют один незавершённый запрос;
|
||||
cookie-writing requests упорядочены локально. Межвкладочная синхронизация
|
||||
не поддерживается: после смены сессии в другой вкладке допустимы reload/re-login.
|
||||
Backend защищает ротацию атомарно. Неуспешный refresh не удаляет cookie
|
||||
победившего запроса; недействительный token по-прежнему не восстанавливает сессию.
|
||||
|
||||
Обычный защищённый запрос с `401 UNAUTHORIZED` проходит refresh и один повтор
|
||||
через общий транспорт; auth endpoints из этого цикла исключены. Само
|
||||
|
||||
@@ -91,13 +91,11 @@ Selected, previous и yearAgo имеют независимую готовнос
|
||||
серверным правилом; клиент воспринимает ключ как непрозрачную строку.
|
||||
Это поле принадлежит ответу аналитики; общий журнал операций его не требует.
|
||||
|
||||
Frontend проверяет принадлежность выплат по полученному ключу до подготовки
|
||||
плоского списка выплат. Отсутствующий, пустой или
|
||||
нестроковый ключ, неоднозначные ключи инструментов, неизвестная группа, другая
|
||||
валюта или несовпадение числа выплат приводят к существующему локальному
|
||||
состоянию ошибки аналитики с повторной попыткой. Частичный список выплат не показывается как
|
||||
полный; формула идентификации в клиенте не восстанавливается. Полностью пустой
|
||||
ответ допустим. Состав и исходный серверный порядок записей и знак сумм
|
||||
Backend обеспечивает принадлежность выплат, валюту и receipt count при
|
||||
построении entries и instrument groups из одного набора данных. Frontend
|
||||
доверяет типизированному contract, не восстанавливает формулу идентификации
|
||||
и не выполняет второй consistency validator. Полностью пустой ответ допустим.
|
||||
Состав и исходный серверный порядок записей и знак сумм
|
||||
сохраняются, frontend не пересчитывает денежные итоги. Стабильный ID в пределах подключения и счёта определяет одну операцию:
|
||||
повторная сверка обновляет её без двойного учёта. Одинаковые ID разных счетов
|
||||
остаются разными выплатами. Изменение источника логотипа позволяет заново
|
||||
|
||||
Reference in New Issue
Block a user