Appearance
August 7, 2026 — Frontend
Release date: Friday, 2026-08-07
Summary
This week renames building insurance workbooks end-to-end in the UI (OpenAPI + clients + screens), adds manual building value request/approval on the insurance tab, and hardens list tables—shared size/typography, clearer coverage labels, mid-term expiry treated as active until expiredOn, plus preferences sync that keeps row selection local without invalid or useless PATCH /me/preferences calls.
Shipped
- Workbook rename — UI wired to building workbook APIs and naming after OpenAPI regeneration; audit labels and property insurance overview updated accordingly.
- Manual building value — request and approval panel on building insurance, with dedicated API client and permission keys.
- Coverage list UX — aligned Norwegian labels/dates, shared list-table typography rules, denser consistent Table
sizeacross BMS entity lists. - Coverage lifecycle — scheduled mid-term expiry stays active until
expiredOn(not treated as already expired). - Select labels —
@sod/uiSelect shorthand for label overrides; BMS insurance forms use thelabelsprop. - Table preferences — merge partial table state (incl. local
selectedRows); strip selection from API payload; skip PATCH when only selection changed; preserve selection across server preference loads.
Engineering (commit recap)
Frontend — week of August 3 – August 7, 2026
Window: after 2026-08-01, before 2026-08-08 (--no-merges).
Summary
Contract-led workbook rename lands with regenerated OpenAPI types and a focused buildingWorkbookApi, then manual value flows on top. Design-system work unifies Table size typography and Select label overrides; BMS list screens and coverage display utils follow. Preferences/table persistence fixes close the selection → invalid or noisy preferences PATCH loop without storing selection on the server.
Themes
- Workbook contract & UI: OpenAPI regen;
buildingWorkbookApi; rename across insurance years, coverage lines, property overview, and display utils; deprecation tracker for historical audit labels. - Manual building value:
buildingManualValueApi, permission keys,BuildingManualValuePanel+ action helpers with Vitest. - List tables & coverage copy:
table-size/ BMS list-table typography convention; coverage filters and columns; lifecycle util for mid-term expiry. - Select API: shorthand label override props on
@sod/ui/select; BMS consumers switched tolabels. - Preferences & Table selection: merge/
selectedRowslocal-only;getPreferencesSyncKeyskip-PATCH; preserve selection on server replace; Table no longer clears selection on empty/server-page data or re-init.
Notable fixes or risks (if any)
- Manual value and workbook screens need matching backend routes deployed; OpenAPI refresh alone is not enough if the API env lags.
- Row selection remains local-only (not on the server); refresh still restores from browser prefs, not from another device.
- Stale internal
localStoragetable keys (pre–externalStorage) can still exist in some browsers but are no longer read on the BMS externalStorage path for re-init.