Appearance
July 31, 2026 — Frontend
Release date: Friday, 2026-07-31
Summary
This week delivers a full tender-management workflow in BMS and a major upgrade to the coverages list: bulk reissue and mid-term expire, lifecycle status for future-start lines, drift visibility, and KPI totals derived from the table. Building creation now supports Geonorge address lookup with persisted coordinates.
Shipped
- Tender management — list, create, and multi-tab detail views (overview, summary, documents, activity, buildings, reinsurers) backed by API routes and permission keys; local draft storage removed in favor of server-backed workflow.
- Coverages bulk actions — bulk reissue (outdated-only guards) and bulk mid-term expire from the coverages table, with selection modals and shared bulk-action menu.
- Coverage lifecycle and filters — new Kommende status for future-start lines; Aktiv/Utløpt filter on the list; improved issue-form validation for inventory and machinery.
- Coverage drift and KPIs — drift surfaced for ACTIVE-year lines in list, filters, and detail; dashboard KPI totals computed from visible table rows.
- Geonorge on building create — street lookup via address registry with coordinates saved on create.
- Coverages table polish — redundant open-arrow column removed.
Engineering (commit recap)
Frontend — week of July 27 – August 2, 2026
Window: after 2026-07-24, before 2026-08-01 (--no-merges).
Summary
The largest change is a tender module rewrite: new API clients, permission keys, routes, and page structure replacing draft-localStorage flows. Coverages received sustained work—bulk reissue/expire modals, lifecycle utils (Kommende), Aktiv/Utløpt filtering, drift display utils, and aggregates computed from table selection. Building create gained Geonorge address lookup and coordinate persistence. OpenAPI contract synced for tender endpoints, coverage bulk APIs, drift fields, and TablePreferenceDto.
Themes
- Tender workflow: New
tendersApi/reinsurersApi, permission keys, routes, list/create/detail layout, overview/summary/documents/activity/buildings pages, building row view, workflow actions, and display utils; removed draft storage and legacy scope/publish modals. - Coverages bulk operations:
BulkReissueCoveragesModal,BulkExpireCoveragesModal,CoveragesBulkActionsMenu, selection utils, and API methods for bulk reissue and mid-term expire. - Coverage lifecycle and list UX:
coverageLineLifecycleUtils(Kommende), Aktiv/Utløpt filter inCoverageFiltersModal, list query updates, redundant table column removed. - Coverage drift and aggregates:
coverageDriftDisplayUtils, drift filter and table/detail/building-tab surfacing;coveragesAggregatesUtilsand dashboard wired to table row totals;Tabletoolbar extended for selection context. - Coverage issue validation: Inventory and machinery rules in
coverageLineFormUtilswith specs; building-on-risk validation on create flow. - Geonorge address lookup:
addressesApilookup helpers,AddressRegistryStreetFieldon create building, coordinates persisted on submit. - OpenAPI sync: Contract updates for tender, coverage bulk/drift endpoints, and TablePreferenceDto export.
Notable fixes or risks (if any)
- Tender draft removal — users can no longer rely on local draft storage; confirm server-side draft/save behavior matches prior UX expectations.
- Bulk reissue guards — UI restricts bulk reissue to outdated lines only; verify backend enforces the same rules.
- KPI totals from table rows — dashboard figures reflect current table selection/filter state, not a separate aggregate API call.