- Shipped
- August 12, 2026 at 9:26 PM UTC
- Author
- kamo
- Commit
- 2ee2bb6
The loading skeleton in app/hr/overview/page.tsx still hand-wrote the 1800px breakpoint that OverviewPillars and friends extracted into primitives.tsx (WIDE_BREAKPOINT / columnTrack / responsiveColumns). Switch it to the same helpers so its grid sx is byte-for-byte the object OverviewPillars renders, closing the last drift risk between the skeleton and the real layout. app/lib/jsonBody.ts (tryParseJson / errorMessageFromBody) had no test despite guarding the read-text-then-parse pattern that exists solely because .json() on a 204/empty-200 throws and used to surface as a 500. Add **************** covering empty and whitespace bodies, valid/malformed JSON, the error-field preference order, and non-object JSON scalars (including the null-vs-undefined distinction the undefined sentinel depends on). No bug found; the helper's existing behaviour is pinned as-is.