useScreenSync теперь принимает isEnabled из query owners.
Timer refetch'ит только enabled и не-fetching resources; disabled/unresolved/short-input/session-gated queries не получают ручной GET.
refresh и retry используют тот же eligibility guard, не стартуют disabled queries и не дублируют active fetch.
Добавлен fake-timer regression test, который проверяет отсутствие refetch для disabled resource во всех трёх ветках.
Оставлен текущий screen timer и существующие owner policies: native refetchInterval не вводится без multi-observer proof; App focus/reconnect defaults не менялись.
Verification
npx vitest run src/features/tbank-connection/model/screen-sync.test.tsx — 3 tests passed.
npm run verify — exit 0 (typecheck, OpenAPI check, ESLint, tests/coverage, knip, dependency-cruiser, Vite и Storybook builds).
git diff --check — exit 0.
Closes WealthLedger/frontend#54
## Что изменено
- `useScreenSync` теперь принимает `isEnabled` из query owners.
- Timer refetch'ит только enabled и не-fetching resources; disabled/unresolved/short-input/session-gated queries не получают ручной GET.
- `refresh` и `retry` используют тот же eligibility guard, не стартуют disabled queries и не дублируют active fetch.
- Добавлен fake-timer regression test, который проверяет отсутствие refetch для disabled resource во всех трёх ветках.
Оставлен текущий screen timer и существующие owner policies: native `refetchInterval` не вводится без multi-observer proof; App focus/reconnect defaults не менялись.
## Verification
- `npx vitest run src/features/tbank-connection/model/screen-sync.test.tsx` — 3 tests passed.
- `npm run verify` — exit 0 (typecheck, OpenAPI check, ESLint, tests/coverage, knip, dependency-cruiser, Vite и Storybook builds).
- `git diff --check` — exit 0.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes WealthLedger/frontend#54
Что изменено
useScreenSyncтеперь принимаетisEnabledиз query owners.refreshиretryиспользуют тот же eligibility guard, не стартуют disabled queries и не дублируют active fetch.Оставлен текущий screen timer и существующие owner policies: native
refetchIntervalне вводится без multi-observer proof; App focus/reconnect defaults не менялись.Verification
npx vitest run src/features/tbank-connection/model/screen-sync.test.tsx— 3 tests passed.npm run verify— exit 0 (typecheck, OpenAPI check, ESLint, tests/coverage, knip, dependency-cruiser, Vite и Storybook builds).git diff --check— exit 0.