Files
marketplaces/CHANGELOG.md
sdarbinyan 10b2ad9023
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
docs: backend FX/notifications gaps, add CHANGELOG for recent work
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-15 04:37:42 +04:00

3.0 KiB

Changelog

Recent work, newest first. Scoped to what changed and why — see BACKEND-API-REFERENCE.md for the backend-dependency detail on anything marked "depends on backend."

2026-08-15 — Admin purchase notifications

Admin gets notified when a new order lands: a toast (click-to-navigate) plus an unread badge + order list on the topbar bell icon (previously an unused "no notifications" placeholder). Poll-based — the backend has no WebSocket/SSE, so this follows the same polling pattern already used for payment status.

  • AdminOrderWatcherService (new) polls AdminOrdersGateway.loadOrders() on an admin-editable interval (default 15s, editable in Admin Settings), diffs against persisted "last notified"/"last acknowledged" order pointers, and fires toasts only for genuinely new orders — never spams on first load.
  • UserNotificationService gained an optional click-to-navigate route so a toast can jump straight to the order detail page.
  • Reactively stops/starts polling off AdminAuthService.isAuthenticated() — a first attempt at this (tying it to component destruction) turned out not to work because logout never navigates or destroys the admin shell; caught and corrected before merge.
  • Depends on backend: the mock AdminOrdersLocalGateway has no create path, so this feature is functionally inert until Orders CRUD gets a real backend gateway. See BACKEND-API-REFERENCE.md §12.8.
  • Design/plan: docs/superpowers/specs/2026-08-15-admin-purchase-notifications-design.md, docs/superpowers/plans/2026-08-15-admin-purchase-notifications.md.

2026-08-14 — Currency conversion (client-side)

Switching currency (RUB/USD/EUR/AMD) now actually converts displayed prices, instead of just swapping the currency label next to an unchanged number.

  • CurrencyRatesService (new) holds RUB-based conversion rates, admin-editable in Admin Settings → Currency rates, persisted to localStorage.
  • CurrencyConvertPipe (new) applies the selected currency's rate wherever a storefront price renders: product cards, product detail page, quick-view dialog, delivery pricing, compare table, cart line items and totals, delivery selector.
  • Admin backoffice screens intentionally keep showing raw stored-currency values — that's the existing convention for every other admin price display.
  • Fixed a follow-on bug: the cart's delivery-selector component was using the item's source currency as both the display label and the conversion target, so the amount never actually converted (only the label matched) — same number shown in every currency.
  • Depends on backend: rates are a manually-typed admin number today, not a live exchange rate, because the backend doesn't return per-currency pricing. See BACKEND-API-REFERENCE.md §12.7 for the two proposed backend directions (server-side conversion, or a live FX-rate endpoint) — raised because bank settlement totals weren't reconciling against order counts, which points at a real pricing-accuracy gap, not just a display one.

Earlier history: git log.