# Known Issues (fix after sprint wrap-up) Running list of bugs spotted during manual verification, deferred until the current sprint's feature work is done. Add to this list as more are found; don't fix inline unless asked. ## Open 1. **Homepage hero-to-categories dead space gap on the storefront home page.** Traces to bootstrap mock config (widget/section padding values in the dev bootstrap fixture), not a code defect in `dynamic-page-layout.component.ts` or the widget components - not fixed this session, needs config-side investigation if it reproduces with real tenant data rather than mock config. 2. **~179 untranslated raw i18n keys across the entire admin backoffice CRUD UI (products/categories/orders/transactions/users/monitoring/analytics).** `translations.ts`/`en.ts`/`ru.ts`/`hy.ts` have no `adminProducts.*`, `adminCategories.*`, `adminOrders.*`, `adminTransactions.*`, `adminUsers.*`, `adminMonitoring.*`, or `adminAnalytics.*` sections at all (confirmed: zero matches for any of these prefixes in any of the 4 i18n files). `TranslateService.t()` falls through to returning the raw dotted key string when a key isn't found (see `translate.service.ts`), so every templated string in these features (buttons, table headers, filters, badges, empty/placeholder text) renders literally as e.g. `adminProducts.create` instead of real copy - same root cause as the already-fixed dashboard Quick Actions bug below, just at the scale of almost the entire admin backoffice built across Sprints 20-27. - Counted by grepping all `'adminXxx.yyy'` translate-pipe usages under `src/app/features/admin/**`: `adminProducts` 72, `adminCategories` 23, `adminOrders` 24, `adminUsers` 21, `adminMonitoring` 13, `adminAnalytics` 12, `adminTransactions` 13 (≈178 distinct keys, ×3 locales ≈ 534 strings to author). - Likely why it was never caught: every affected Sprint (20-27) explicitly noted live-browser click-through was blocked on the guarded admin route and verification was tsc/build/arch:check only - none of those catch missing i18n keys (pipe arguments are plain strings, not type-checked). - Found: 2026-07-15, during Sprint 28 manual audit (reading templates + grepping i18n files, not live browser). - **Deferred to Sprint 29** ("translation validation" is explicit Sprint 29 scope per `docs/SPRINT-PLAN.md`) rather than fixed inline during Sprint 28 polish - authoring ~534 correct strings across 3 languages is a large, separate, mechanical pass of its own and shouldn't be rushed inside a polish sprint. Sprint 28 only adds the handful of new keys it introduces itself (empty-state copy for the skeleton/empty-state consistency fix), it does not touch the ~178 pre-existing gap. ## Fixed 1. **Full-project UX/UI + motion pass across storefront, admin dashboard, admin CRUD, and project-editor.** User asked (2026-07-16) for a full UX/UI audit across admin, dashboard, and storefront, sequenced: storefront -> admin dashboard -> admin CRUD -> project-editor. All 4 phases completed: - Fixed: `project-editor-save-bar` buttons were plain unstyled `