Appearance
Frontend — May 1, 2026
Summary
This week the BMS app gained end-to-end building inspection support: list/table surfacing, a dedicated inspection tab, and field-level draft-vs-snapshot diffs on building forms during active or pending inspections. Follow-up fixes tightened diff labeling for admins and inspectors (readable FK labels, editable inspector fields after changes). OpenAPI was synced twice around inspection endpoints and unwrap fixes stabilized lookup loading.
Shipped
- Inspections in BMS: Inspection column on the buildings table and an inspection tab on the building detail flow so assignees and reviewers can work without hunting elsewhere.
- Draft diff on forms: While an inspection is active or awaiting approval, eligible users see which fields diverge from the snapshot, with a clear previous (“Før”) line alongside proposed draft values where applicable.
Engineering (commit recap)
Frontend — week of April 25–May 1, 2026
Summary
Commits span inspection APIs/UI wiring, OpenAPI regeneration, agent/rule docs for maintainability, and a focused polish pass on inspection draft-diff behavior (production-safe component naming, inspector edit lock semantics, and reference label resolution for id-backed selects).
Themes
- Inspection product slice: inspection tab and list integration; draft-diff surfaced across overview and specialized forms (fire baseline, risk profile, etc.) behind draft-diff API contracts.
- Contracts: Backend OpenAPI pulled/regenerated for inspection draft diff and related client typings so the UI stays aligned with server payloads.
- Reliability: Building/construction type
apiGetresponses normalized via unwrap helpers so dropdown loads fail softly instead of breaking the page. - DX: Cursor-facing
.cursorrules for testing strategy and TypeScript conventions; BMS inspection draft-diff rule referenced from broader docs.
Notable fixes or risks
- Inspection draft diff: Initial rollout highlighted UX gaps—inspectors locked out of further edits on changed fields, admins seeing ids instead of labels—addressed by separating read-only draft injection from inspector editing and passing referenceOptions for catalog/FK fields. Confirm staging/production bundles behave like dev after deploy.