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

83 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.