Skip to main content

30 posts tagged with "Improved"

Enhancements and updates to existing features

View All Tags

Iris Apps — content owns padding from @trackunit/iris-app 2.5.13 (Asset Home / Site Home / Admin)

Manager is moving content inset for Asset Home, Site Home, and Admin extension iframes onto each app. After you upgrade @trackunit/iris-app to 2.5.13 or later, the host stops applying its transitional 1rem inset. Your extension must pad itself with p-content-space on the scrollable content region (or intentionally stay edge-to-edge).

Run the automated migration before or as part of that SDK upgrade — not as optional cleanup afterward. It ships as v2-5-12-p-content-space-codemod in @trackunit/iris-app 2.5.13.

npx nx g @trackunit/migrations:migrate
npx nx g @trackunit/migrations:run-migrations

Breaking: @trackunit/react-drawer adds useDrawer, DrawerHeader, and variants

@trackunit/react-drawer has been reworked to align with Sheet and Modal: a new useDrawer hook owns state and dismiss, a new DrawerHeader component provides the standard toolbar, and the panel now has explicit variant="default" | "modal" semantics. Legacy inline props on <Drawer /> (open, onClose, onOpen, hasOverlay, keepMountedWhenClosed) and the DrawerToggle component have been removed.

Breaking: MenuList renamed to MenuContent, plus new submenu and MenuTree APIs

@trackunit/react-components's MenuList claimed Up/Down keyboard navigation and nested-menu support in its docs that it never actually implemented — it was just a role="list" div with click handlers. It's now been rewritten with real WAI-ARIA menu semantics and renamed to MenuContent to reflect that. MenuItem also gains a new submenu prop for building nested menus, and the MenuTree/useMenuTree tree-coordination primitive that powers it is now public API.

Device Health Issues API v1

The Device Health Issues API is now generally available. The endpoints have been promoted from v1beta1 to v1, and the API is no longer marked as beta.

Below is a list of all available REST endpoints:

Issue API

➕ GET: /v1/assets/{assetId}/issues

Get issues by asset

➕ GET: /v1/issues

Get issues

➕ GET: /v1/issues/{issueId}

Get issue by id

Breaking changes

⚠️ The v1beta1 endpoints have been replaced by v1. Update any integrations to use the /v1/... paths.

⚠️ The issue type LOW_DEVICE_BATTERY_VOLTAGE has been renamed to LOW_DEVICE_BATTERY. Update any filtering or handling that relies on this value.

AEMP ISO Faults: localized fault descriptions via Accept-Language

The AEMP ISO Diagnostic Trouble Codes time-series endpoint now honors the Accept-Language request header when enriching fault codes with descriptions.

When an Accept-Language header is provided, the language is threaded through to the fault interpretation lookup, so the returned CodeDescription is localized to the caller's preferred language (for example, Accept-Language: da-DK,da;q=0.9,en;q=0.8 returns Danish descriptions) — but only if a translation for that language actually exists for the given fault code.

If no translation exists for the requested language — or if the header is omitted — the response falls back to the fault code's default description (typically English). The set of available languages depends on what the OEM provides and varies by manufacturer; common languages include English (en), German (de), French (fr), Italian (it), Spanish (es), Dutch (nl), Polish (pl), and Japanese (ja).

📝 GET: /15143/-3/Fleet/Equipment/ID/{oemISOIdentifier}/Faults/{startDate}/{endDate}/{pageNumber}

Get diagnostic trouble codes time-series, with fault descriptions localized via the Accept-Language header.

trackunit/react-widgets 2.13.4 - Interactive WidgetKPI

The WidgetKPI component now supports an onClick prop, making KPI cards interactive with a hover effect, chevron indicator, and keyboard accessibility.

Breaking Change

WidgetContent padding has changed for KPI widgets using the onClick prop. If your widget previously used padding="responsive", you should update it to padding="none" — the WidgetKPI component now handles its own padding internally.