# 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 `SPRINT-PLAN.md` (removed, see git history)) 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. 3. **Theme Mode selector has no runtime effect.** `theme-section`'s light/dark/ system dropdown saves correctly and `theme-engine.service.ts` sets a `data-theme-mode` attribute on ``, but no CSS anywhere in the app reads that attribute — picking Dark or System changes nothing visually today. Theme palette colors are unaffected (they're real CSS custom properties, genuinely live). Fixing this means implementing actual dark-mode CSS (a dark palette + `[data-theme-mode]`/`prefers-color-scheme` strategy + a `matchMedia` listener for "system", since that can change without a reload) — a real feature project, not a wiring fix. - Found: 2026-07-17, project-editor bug-hunt audit (`docs/EDITOR.md`). 4. **`dynamic-renderer/` pipeline exists but is never wired up.** `src/app/dynamic-renderer/{page-renderer,section-renderer,section-engine, page-resolver,widget-host}` has services and models but zero components or templates (every directory has only a `.gitkeep`). The storefront homepage renders through a separate, older path that doesn't consume it. Two editor fields feed this dead pipeline with no visible effect: `layout.type` (Theme section, "Site Layout") and the homepage section's own `type` field (`homepage-section.component.ts`'s `updateSection(id, 'type', ...)` has no UI calling it, because of this). Needs a decision: finish wiring it in (if it's WIP for a planned replacement) or delete it as abandoned scaffolding. - Found: 2026-07-17, project-editor bug-hunt audit. 5. **`HeaderConfig.showProfile` toggle has no corresponding UI.** The header editor's "Profile" toggle updates a real config field, but `header.component.html` never references `showProfile` — there's no profile/account menu in the storefront header to show or hide. Needs an auth-system check first (does one exist yet?) before building the menu. - Found: 2026-07-17, project-editor bug-hunt audit. 6. **Payment modal / bank-payment iframe on Cart still custom, not `app-dialog`.** Correction (2026-07-24, RC A11Y-01): the "already has focus-trap" assumption below was wrong — it had none. RC A11Y-01 ported `app-dialog`'s confirmed- correct focus-trap/Escape/return-focus pattern directly onto it (`ACCESSIBILITY_REPORT.md` (removed, see git history)), so the accessibility gap is closed. It's still a separate custom component, not the shared `app-dialog` itself — migrating it to the actual primitive remains a composition change, deliberately left out of every polish pass so far. - Found: 2026-07-23, RC-Premium-01 (`STORE_FRONT_UX_REVIEW.md` (removed, see git history)). 7. **Cart's `clearCart()` uses native `confirm()`, no styled confirm dialog.** No existing storefront pattern for a confirm-remove dialog to follow yet — introducing the first one is an architecture decision, not polish. - Found: 2026-07-23, RC-Premium-01. 8. ~~`stars.component` rating glyph color and a few legacy hex literals in `pages/category`/`pages/search` have no exact design-token match.`~~ **Resolved 2026-07-25 (RC-02 task 6):** `pages/category`/`pages/search` deleted as unrouted dead code (see item 13). `stars.component` literals remain, tracked separately if still relevant. - Found: 2026-07-23, RC-Premium-01. 9. **Genuine brand-color contrast failures (WCAG AA).** `--border-color` fails 3:1 UI-component contrast in every theme (1.24-1.42:1 measured); `--success/--warning/--error/--info-color` fail 4.5:1 when used as plain text-on-white in a handful of places. Real palette colors, not a token bug — fixing means visibly changing the brand, needs theme-owner sign-off. - Found: 2026-07-24, RC A11Y-01 (`ACCESSIBILITY_REPORT.md` (removed, see git history)). 10. **Footer "Contacts" link has no static-page content in mock data.** Unlike the "About" link (which was a route-name mismatch, fixed), no content exists for Contacts at all — needs a content decision, not a code fix. - Found: 2026-07-24, Release Candidate walkthrough (`RELEASE_REPORT.md` (removed, see git history)). 11. **Builder's static-page body editor is hidden and mislabeled.** The actual WYSIWYG content editor isn't on the "Content" tab (title/image only) — it's inside a collapsed `
` under "Advanced", labeled "Source HTML (advanced)" though it's the only way to edit page content. Works correctly once found; relocating/relabeling is a navigation decision, not a bug fix. - Found: 2026-07-24, Release Candidate walkthrough. 12. **`primeng`/`primeicons` still in `package.json` after their only consumer was deleted.** `npm uninstall` fails (`ETARGET`) on a pre-existing, unrelated broken `barry-cache` devDependency resolution — fix that first, then drop the now-fully-unused dependency (likely closes most of the remaining bundle-budget overage in one move). - Found: 2026-07-24, RC PERF-01 (`PERFORMANCE_REPORT.md` (removed, see git history)). 13. **RESOLVED 2026-07-25 (RC-02 task 6) — `pages/category/*`, `pages/search/*`, `pages/item-detail/*`, `pages/info/**`, `pages/legal/**` (40+ files) were entirely unrouted dead code, not live pages.** Decision: delete (not wire up) — each had a live replacement already serving its traffic. Verified directly against `src/app/app.routes.ts`: `category/:id` and `category/:id/items` `redirectTo: 'catalog/:id'` (served by `CatalogContainerComponent`); `search` also routes to `CatalogContainerComponent`; `product/:id` routes to `ProductDetailsContainerComponent`, not `pages/item-detail`; `cmsContentRoutes` (meant to route `pages/info/**`/`pages/legal/**`) is a literal empty array (`app.routes.ts:292`) behind a `// TODO(CMS): Resolve informational/legal pages from backend content configuration here` comment — About/Contacts/FAQ/Delivery/Guarantee/ Company-Details/Payment-Terms/Return-Policy/Public-Offer/Privacy-Policy are all actually served by the catch-all `:staticPath` route resolving `bootstrap.staticPages` (`pages/static-page/static-page.component.ts`), confirmed independently by `docs/FRONTEND.md`'s own routing section ("Static/CMS pages resolve dynamically... no hardcoded page list"). **This means several "fixes" earlier in this document and in since-deleted audit reports (see git history) were applied to dead code with zero production effect** — see the correction note on Fixed item 7 below. This was missed by three separate passes this cycle (RC-Premium-01, RC STORE-01, and the dead-code cleanup sprint, which manually re-verified against `app.routes.ts` and still concluded these files were live — an error in that verification, not a tooling blind spot this time) before being caught during the documentation-consolidation pass. Needs a decision: wire `cmsContentRoutes` back up (restoring 10 hardcoded per-locale pages that duplicate what the CMS static-page renderer already does), or delete all 40+ files as genuinely dead now that the duplication is confirmed intentional-by-omission rather than accidental. - Found: 2026-07-25, Documentation Cleanup pass. 14. **No `canDeactivate` guard on `admin/products/:id/edit`.** Categories protect against navigating away with unsaved changes (`adminCategoryDirtyGuard`, `app.routes.ts:121,131`); products do not, despite `AdminProductsFacade` having its own dirty-tracking draft logic. Inconsistent, low-effort fix (mirror the categories guard) but not applied here — this pass is documentation-only. - Found: 2026-07-19 (`PROJECT-STATE.md` (removed, see git history)), re-verified 2026-07-25 against current `app.routes.ts` — still true. ## 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 `