Files
marketplaces/docs/KNOWN-ISSUES.md
sdarbinyan 897c1f3196
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
docs(project-editor): document new shared/ui primitives and fixed bugs
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 02:16:29 +04:00

4.8 KiB
Raw Blame History

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. ~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. Project Editor footer: payment icons and social links had no validation. footer-section.component.ts parsed both fields from pipe-delimited <textarea> strings (icon.src|icon.alt, link.id|link.label|link.url) with zero validation - malformed rows silently produced empty src/alt/ url values instead of surfacing an error.

    • Fixed: 2026-07-16, replaced both textareas with app-key-value-editor rows (icon picked via MediaPickerComponent, label/URL via app-input), added inline URL-format validation on social links (same HTTP_URL pattern used in project-validator.service.ts) and a missing footer-logo media picker.
  2. Project Editor navigation: nav link labels only editable for the default locale. navigation-section.component.ts's labelOf helper (and the facade's updateNavLinkLabel) always read/wrote the default locale's key on a NavigationLocalizedText label map, so switching locales elsewhere in the editor had no effect on nav link text - other locales' translations could only be edited by hand-editing the exported JSON.

    • Fixed: 2026-07-16, added app-locale-tabs to the section; the label input now reads/writes the active tab's locale via a new editableLabel() helper, and ProjectEditorFacade.updateNavLinkLabel() gained an optional locale parameter (defaults to the current default locale, so existing callers are unaffected).
  3. Quick Actions: 3 untranslated raw i18n keys. dashboard.actionUsers, dashboard.actionMonitoring, dashboard.actionAnalytics rendered as literal key strings instead of translated labels on the admin dashboard's Quick Actions section, because admin-dashboard.facade.ts referenced them but they were never added to translations.ts/en.ts/ru.ts/hy.ts.

    • Found: 2026-07-15, manual browser verification of /:lang/backoffice/dashboard?devBypassAdmin=true.
    • Fixed: 2026-07-15, added the 3 keys to the interface + all 3 locales.

Notes (not bugs, just flag before shipping)

  • src/environments/environment.ts: useMockData was temporarily flipped to true during this session's manual verification (so Categories/Products dashboard cards showed mock counts instead of erroring against a nonexistent local /api/backoffice/* backend), then reverted back to false afterward - matches its pre-session value.