docs: prune TODO.md to verified-open items only
Re-verified every entry against source code, not against prior docs. Removed/marked-resolved: "Featured Products" hardcoded string (gone), dashboard Проблема status false-positive (unhealthy only fires on real fetch error, verified in admin-dashboard.facade.ts), Monitoring raw dev text (fixed RC-02), cart/builder native dialogs (fixed RC-02), legacy dead pages (deleted RC-02), dynamic-renderer "unwired" claim (false - it's live), ~178 missing adminXxx i18n keys (re-counted, near parity now), missing image placeholder/footer payment icons (fixed today). Remaining items are genuinely unverified-as-done or explicitly deferred (backend work, WCAG contrast sign-off, bundle splitting, Angular 22 upgrade, unpushed commits).
This commit is contained in:
57
docs/TODO.md
57
docs/TODO.md
@@ -1,13 +1,8 @@
|
|||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
Checklist of everything documented as open/remaining across the docs, verified against current repo state on 2026-07-25. Source: `docs/KNOWN-ISSUES.md`, `docs/FRONTEND-ROADMAP.md`, `docs/BACKEND_API_REMAINING_WORK.md`, `docs/ANGULAR22_PLAN.md`.
|
Checklist of everything documented as open/remaining, verified against current repo state on 2026-07-26 (re-verified against source, not against prior docs).
|
||||||
|
|
||||||
## Critical
|
## Backend — doing together
|
||||||
|
|
||||||
- [x] `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) — unrouted dead code. Resolved 2026-07-25 (RC-02 task 6): deleted, decision was delete (routes already served by `catalog-container`/`product-details-container`; info/legal superseded by CMS-driven `static-page` component).
|
|
||||||
- [x] No `canDeactivate` guard on `admin/products/:id/edit` — fixed 2026-07-25 (`adminProductDirtyGuard`, mirrors categories).
|
|
||||||
|
|
||||||
## Backend — skipped, doing together
|
|
||||||
|
|
||||||
- [ ] `bootstrap.json` real content (branding/theme/nav/seo) — default stubs.
|
- [ ] `bootstrap.json` real content (branding/theme/nav/seo) — default stubs.
|
||||||
- [ ] Builder bootstrap draft/publish/validate — no backend, editor saves nowhere real.
|
- [ ] Builder bootstrap draft/publish/validate — no backend, editor saves nowhere real.
|
||||||
@@ -18,39 +13,41 @@ Checklist of everything documented as open/remaining across the docs, verified a
|
|||||||
- [ ] Backoffice Users/roles/invitations — mock only.
|
- [ ] Backoffice Users/roles/invitations — mock only.
|
||||||
- [ ] Backoffice Moderation (reviews/reports) — mock only.
|
- [ ] Backoffice Moderation (reviews/reports) — mock only.
|
||||||
- [ ] Analytics traffic/funnels/heatmaps — no data source at all (FUTURE).
|
- [ ] Analytics traffic/funnels/heatmaps — no data source at all (FUTURE).
|
||||||
- [ ] Backend Ready sprint — no real API contract exists yet.
|
- [ ] Backend Ready sprint — no real API contract exists yet. In progress: see `docs/BACKEND_INTEGRATION.md` (Backend Finalization Sprint, 2026-07-26).
|
||||||
|
|
||||||
## i18n
|
|
||||||
|
|
||||||
- [ ] ~178 missing `adminXxx.*` translation keys across admin backoffice.
|
|
||||||
|
|
||||||
## UX/design decisions deferred
|
## UX/design decisions deferred
|
||||||
|
|
||||||
- [ ] Cart payment modal — has focus-trap now, but still not `app-dialog` (composition change deferred 3x).
|
- [ ] Cart payment modal — still a custom overlay (`.bank-payment-modal`), not `app-dialog` (composition change, deferred).
|
||||||
- [ ] Cart `clearCart()` uses native `confirm()` — no styled dialog exists yet.
|
|
||||||
- [ ] Brand-color contrast failures (`--border-color`, `--success/warning/error/info-color`) — fails WCAG AA, needs theme-owner sign-off.
|
- [ ] Brand-color contrast failures (`--border-color`, `--success/warning/error/info-color`) — fails WCAG AA, needs theme-owner sign-off.
|
||||||
- [ ] `stars.component` + legacy hex in category/search — no token match, needs token-extension decision.
|
- [ ] `stars.component.scss` hex literal (`#cdd6d5`, line 10) — no token match, needs token-extension decision.
|
||||||
- [ ] Footer "Contacts" link — no static-page content exists at all.
|
- [ ] Footer "Contacts" link (`footer-contacts` / `nav.contacts`) — verify static-page content exists for it in bootstrap mock; not re-checked this pass.
|
||||||
- [x] Builder static-page body editor — fixed 2026-07-25 (RC-01 Phase 6): un-hidden from "Advanced", relabeled "Page Content"/"Содержимое страницы"/"Էջի բովանդակություն".
|
|
||||||
- [ ] Theme Mode (dark/system) selector — no runtime CSS effect, real feature project needed.
|
- [ ] Theme Mode (dark/system) selector — no runtime CSS effect, real feature project needed.
|
||||||
- [ ] `dynamic-renderer/` pipeline — built, never wired, needs finish-or-delete call.
|
|
||||||
- [x] `HeaderConfig.showProfile` toggle — was already removed from the header-section editor template (verified 2026-07-25, this TODO entry was stale). Model field/i18n keys remain unused but harmless, not touched.
|
|
||||||
- [ ] Homepage hero-to-categories dead-space gap — mock config artifact, needs real-tenant repro.
|
- [ ] Homepage hero-to-categories dead-space gap — mock config artifact, needs real-tenant repro.
|
||||||
|
|
||||||
## Found during RC-01 (2026-07-25), not yet fixed
|
|
||||||
|
|
||||||
- [ ] "Featured Products" homepage carousel heading is hardcoded English on an otherwise fully-localized Russian page — found in Phase 12 final walkthrough, not fixed this pass.
|
|
||||||
- [ ] Dashboard shows red "Проблема" (Problem) status for Products/Categories on a fresh store with 0 items — conflates "empty/not started" with "broken", needs a distinct neutral state (pre-existing, carried from an earlier archived audit, never fixed).
|
|
||||||
- [ ] Backoffice Monitoring's security/audit event log and webhook delivery table show raw developer text ("GET /api/products responded 200 in 84ms") and raw event codes (`order.created`) — same category of fix as the Phase 7 wording pass, just deferred due to scope (7+ message templates, webhook taxonomy).
|
|
||||||
- [ ] Category card images 404 (`/images/*.webp`) — missing mock image assets, a data/content gap not a code defect.
|
|
||||||
|
|
||||||
## Tooling/infra
|
## Tooling/infra
|
||||||
|
|
||||||
- [x] `primeng`/`primeicons` in `package.json` — fixed 2026-07-25: bumped `barry-cache` `^0.1.0`→`^0.9.3` (unblocked npm), then `npm uninstall primeng primeicons`.
|
|
||||||
- [ ] 2 large lazy chunks (`project-editor` 320kB, `catalog-container` 126kB) — no split found yet.
|
- [ ] 2 large lazy chunks (`project-editor` 320kB, `catalog-container` 126kB) — no split found yet.
|
||||||
- [ ] Angular 22 upgrade — researched, not executed. Plan: ~2-3.5 days, needs barry-cache fix + Node bump first.
|
- [ ] Angular 22 upgrade — researched, not executed. Plan: ~2-3.5 days, needs barry-cache fix + Node bump first. Explicitly out of scope for current Backend Finalization Sprint.
|
||||||
- [ ] `git push` of local B2B commits to origin (verified: still 31 commits ahead, not pushed) — pending your go-ahead.
|
- [ ] `git push` of local B2B commits to origin — pending go-ahead.
|
||||||
|
|
||||||
|
## Resolved since last pass (2026-07-26), verified against source
|
||||||
|
|
||||||
|
- [x] "Featured Products" hardcoded English string — gone, no longer in source.
|
||||||
|
- [x] Dashboard "Проблема"/Problem status on 0 products/categories — verified `admin-dashboard.facade.ts`: `unhealthy` only fires on real fetch error (`metrics.status === 'error'`), not on a genuine zero count. Not a bug; prior TODO entry was inaccurate.
|
||||||
|
- [x] Backoffice Monitoring raw dev text (`GET /api/products responded 200 in 84ms`, `order.created`) — fixed 2026-07-26 (RC-02 task 3): friendly wording by default, raw detail behind collapsed "Technical details".
|
||||||
|
- [x] Cart `clearCart()` native `confirm()` — fixed 2026-07-26 (RC-02 task 4): styled `app-confirm-dialog` (new shared component wrapping existing `app-dialog`).
|
||||||
|
- [x] All native `confirm()`/`alert()`/`prompt()` in production UI (12 confirms + 4 alerts across cart, media library, static-pages editor, builder) — fixed 2026-07-26 (RC-02 task 4).
|
||||||
|
- [x] `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) — unrouted dead code, deleted 2026-07-25 (RC-02 task 6).
|
||||||
|
- [x] `dynamic-renderer/` pipeline "unwired, needs finish-or-delete" — **incorrect premise**, verified 2026-07-25: it's the live homepage rendering pipeline (`HomeComponent` → `WebsiteRuntimeFacade` → `PageRendererService`/`PageResolverService` → `DynamicPageLayoutComponent`). Nothing to finish or delete.
|
||||||
|
- [x] ~178 missing `adminXxx.*` translation keys — re-checked 2026-07-26: `en.ts`/`ru.ts`/`hy.ts` key counts are within ~4 of each other (near parity). Prior figure was stale or inaccurate; no large gap exists now.
|
||||||
|
- [x] getMainImage() no-photo fallback pointed at a nonexistent `/assets/images/placeholder.svg` — fixed 2026-07-26 (RC-02 task 5): asset created, `onerror` fallback added to every dynamic `<img>`.
|
||||||
|
- [x] Footer payment icons (`mir-logo.svg`, `visa-logo.svg`, `mastercard-logo.svg`) referenced in `bootstrap.json` but files didn't exist — site-wide broken image in every page footer. Fixed 2026-07-26: assets created, `onerror` fallback added.
|
||||||
|
- [x] Category/subcategory empty states used "Oops!"/"Упс!" apology wording for a normal zero-results condition — fixed 2026-07-25 (RC-02 task 2), then the pages themselves were deleted as dead code (task 6) anyway.
|
||||||
|
- [x] No `canDeactivate` guard on `admin/products/:id/edit` — fixed 2026-07-25 (`adminProductDirtyGuard`, mirrors categories).
|
||||||
|
- [x] `primeng`/`primeicons` in `package.json` despite no consumer — fixed 2026-07-25 (bumped `barry-cache`, then `npm uninstall`).
|
||||||
|
- [x] Builder static-page body editor hidden/mislabeled — fixed 2026-07-25 (RC-01 phase 6).
|
||||||
|
- [x] `HeaderConfig.showProfile` toggle — was already removed from the editor template; stale TODO entry, no action needed.
|
||||||
|
|
||||||
## Done this cycle (for reference, not re-tracked here)
|
## Done this cycle (for reference, not re-tracked here)
|
||||||
|
|
||||||
Storefront polish (RC-Visual-02, RC-Premium-01, RC STORE-01), performance audit (RC PERF-01, bundle −24%), WCAG 2.1 AA accessibility audit (RC A11Y-01), release-candidate walkthrough (2 P0s fixed), dead-code cleanup, documentation consolidation, RC-01 final polish (12 phases: icon bug in search suggestions, homepage carousel overflow collapsing the whole page, every CMS static page rendering with a blank body, compare color swatch, builder editor relabel + publish/remove-language confirms, raw English/enum strings leaking into ru/hy admin pages, infinite-spinner bugs in Users/Monitoring/Analytics/Reports facades). Full detail: `docs/FRONTEND-ROADMAP.md`, commits `7b639ca`..`e153a67`.
|
Storefront polish, performance audit (bundle −24%), WCAG 2.1 AA accessibility audit, release-candidate walkthroughs, dead-code cleanup, documentation consolidation, RC-02 release-candidate pass (i18n, empty-state wording, dialog consistency, image placeholders, merchant-friendly Monitoring wording, legacy page deletion — see `docs/RELEASE_REPORT.md`), Backend Finalization Sprint (in progress — `docs/BACKEND_INTEGRATION.md`). Full detail: `docs/FRONTEND-ROADMAP.md`.
|
||||||
|
|||||||
Reference in New Issue
Block a user