Skip to content
Strata v1.2.6

v1.2.0

Strata v1.2.0 is a minor release adding six UI improvements to the asset detail page, dashboard, and asset types management.

Net worth and snapshot values — no decimal places

Section titled “Net worth and snapshot values — no decimal places”

The net worth KPI on the dashboard and all asset snapshot value cells now display whole numbers (e.g. €10,000 instead of €10,000.00). Financial rounding is cleaner for assets tracked in large amounts.

Snapshot dates in the asset detail table previously showed a time component (e.g. “10 mai 2026, 02:00”) caused by UTC midnight rendering in local timezone. Dates now show only the date portion (“10 mai 2026”).

Delete snapshot — per-row action with confirmation dialog

Section titled “Delete snapshot — per-row action with confirmation dialog”

Each snapshot row in the asset detail page now has a trash icon. Clicking it opens the standard DeleteConfirmDialog (“Delete Snapshot”), identical in design to the asset delete flow. Confirming calls DELETE /api/v1/assets/:id/snapshots/:snapshotId and refreshes the snapshot list.

Asset type delete — proper confirmation dialog

Section titled “Asset type delete — proper confirmation dialog”

Asset type deletion previously used the browser’s native window.confirm() popup. It now uses the same DeleteConfirmDialog component, keeping the UX consistent with asset and snapshot deletion.

The snapshot table now supports pagination with a page size selector (10 / 20 / 50 / 100 / All). Default is 10 rows per page. Previous/next controls appear when there are more rows than the selected page size.

The Date column header in the snapshot table is now clickable. Clicking toggles between descending (newest first, default) and ascending (oldest first) sort order. A chevron icon indicates the current direction.

New endpoint: DELETE /api/v1/assets/:id/snapshots/:snapshotId

Section titled “New endpoint: DELETE /api/v1/assets/:id/snapshots/:snapshotId”

Full hexagonal implementation following the established pattern:

  • IAssetSnapshotRepository.delete(id) — repository port
  • PrismaAssetSnapshotRepository.delete(id) — Prisma implementation
  • AssetSnapshotService.delete(id) — use case (findById → delete → recalculate portfolio snapshot from date)
  • AssetController@Delete(':id/snapshots/:snapshotId') with @HttpCode(204) and Swagger decorators
  • Bruno collection: .bruno/Strata/Assets/DeleteAssetSnapshot.bru

The component now accepts optional title?: string (default "Delete Asset") and message?: string props, making it reusable across snapshot delete and asset type delete without changing existing call sites.

GateResult
Backend unit✅ 319 tests (30 suites)
Backend e2e✅ 70 tests (8 suites)
Frontend unit✅ 400 tests (63 files)