После успешного подключения T-Bank GET /api/v1/brokerage-accounts возвращает { data: [4 счёта], meta: {...} }, но frontend трактует ответ как массив и показывает пустое состояние. Acceptance criteria: страницы списка, выбор счета, breadcrumbs и title читают подтверждённый список data; empty/error/cache states сохраняются; frontend использует актуальный публичный OpenAPI контракт без ручной правки generated types; регрессионный тест на {data,meta} и локальные проверки. Scope: frontend query owner и связанные потребители; сохранить текущие незавершённые изменения income/payout.
После успешного подключения T-Bank GET /api/v1/brokerage-accounts возвращает { data: [4 счёта], meta: {...} }, но frontend трактует ответ как массив и показывает пустое состояние. Acceptance criteria: страницы списка, выбор счета, breadcrumbs и title читают подтверждённый список data; empty/error/cache states сохраняются; frontend использует актуальный публичный OpenAPI контракт без ручной правки generated types; регрессионный тест на {data,meta} и локальные проверки. Scope: frontend query owner и связанные потребители; сохранить текущие незавершённые изменения income/payout.
Уже сделано на develop — код из AC выполняется, отдельных правок не требуется.
Список счетов, выбор счёта, breadcrumbs и title читают подтверждённый data: useResourceQuery проецирует data/meta из envelope (src/shared/api/resource-query.ts:130), потребители — AccountsPage.vm, AccountScopeSwitch.vm, AccountBreadcrumbs.tsx, DocumentTitle.tsx.
empty/error/cache состояния сохранены (AccountsPage.vm), покрыты тестами страницы.
Актуальный контракт: живой OpenAPI бэкенда (GET /api/docs-json) структурно совпадает с src/shared/api/spec/openapi.json; npm run openapi:check зелёный, generated types не правились вручную.
Регрессия на {data, meta} покрыта AccountsPage.test.tsx (рендер из resource([account]), кэш {data:null} не объявляется пустым списком).
Issue был заведён от stale-чекаута (рабочее дерево стояло на ветке от коммита 15.09, где query шли через useAuthenticatedQuery с плоскими типами). Локально: typecheck, eslint, 426 тестов — зелёные. Готово, можно закрывать.
Уже сделано на `develop` — код из AC выполняется, отдельных правок не требуется.
- Список счетов, выбор счёта, breadcrumbs и title читают подтверждённый `data`: `useResourceQuery` проецирует `data`/`meta` из envelope (src/shared/api/resource-query.ts:130), потребители — `AccountsPage.vm`, `AccountScopeSwitch.vm`, `AccountBreadcrumbs.tsx`, `DocumentTitle.tsx`.
- empty/error/cache состояния сохранены (`AccountsPage.vm`), покрыты тестами страницы.
- Актуальный контракт: живой OpenAPI бэкенда (`GET /api/docs-json`) структурно совпадает с `src/shared/api/spec/openapi.json`; `npm run openapi:check` зелёный, generated types не правились вручную.
- Регрессия на `{data, meta}` покрыта `AccountsPage.test.tsx` (рендер из `resource([account])`, кэш `{data:null}` не объявляется пустым списком).
Issue был заведён от stale-чекаута (рабочее дерево стояло на ветке от коммита 15.09, где query шли через `useAuthenticatedQuery` с плоскими типами). Локально: `typecheck`, `eslint`, 426 тестов — зелёные. Готово, можно закрывать.
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.
После успешного подключения T-Bank GET /api/v1/brokerage-accounts возвращает { data: [4 счёта], meta: {...} }, но frontend трактует ответ как массив и показывает пустое состояние. Acceptance criteria: страницы списка, выбор счета, breadcrumbs и title читают подтверждённый список data; empty/error/cache states сохраняются; frontend использует актуальный публичный OpenAPI контракт без ручной правки generated types; регрессионный тест на {data,meta} и локальные проверки. Scope: frontend query owner и связанные потребители; сохранить текущие незавершённые изменения income/payout.
Уже сделано на
develop— код из AC выполняется, отдельных правок не требуется.data:useResourceQueryпроецируетdata/metaиз envelope (src/shared/api/resource-query.ts:130), потребители —AccountsPage.vm,AccountScopeSwitch.vm,AccountBreadcrumbs.tsx,DocumentTitle.tsx.AccountsPage.vm), покрыты тестами страницы.GET /api/docs-json) структурно совпадает сsrc/shared/api/spec/openapi.json;npm run openapi:checkзелёный, generated types не правились вручную.{data, meta}покрытаAccountsPage.test.tsx(рендер изresource([account]), кэш{data:null}не объявляется пустым списком).Issue был заведён от stale-чекаута (рабочее дерево стояло на ветке от коммита 15.09, где query шли через
useAuthenticatedQueryс плоскими типами). Локально:typecheck,eslint, 426 тестов — зелёные. Готово, можно закрывать.