## Sentry - Issue: PHP-LARAVEL-1T - URL: https://whisper-money.sentry.io/issues/PHP-LARAVEL-1T ## Root cause Cashflow breakdown UI assumed every API row has a category object. Production returned a breakdown row with `category: null`, so rendering read `item.category.icon` and crashed. ## Fix - Allow breakdown rows to carry nullable category/category_id. - Render null categories as Uncategorized with HelpCircle/gray fallback. - Add focused Vitest regression. - Enable Wayfinder Vite plugin in Vitest so components importing generated actions resolve in tests. ## Verification - `npm test -- resources/js/components/cashflow/breakdown-card.test.tsx` - `npx prettier --write resources/js/components/cashflow/breakdown-card.tsx resources/js/components/cashflow/breakdown-card.test.tsx resources/js/hooks/use-cashflow-data.ts vitest.config.ts` - `npx eslint resources/js/components/cashflow/breakdown-card.tsx resources/js/components/cashflow/breakdown-card.test.tsx resources/js/hooks/use-cashflow-data.ts vitest.config.ts --fix` ## Notes - `npm run types` currently fails on existing unrelated TypeScript errors across account, transaction, chart, auth, crypto, and dexie files. |
||
|---|---|---|
| .. | ||
| css | ||
| js | ||
| views | ||