Week of Apr 14 – 19, 2026
Async-backed search pickers on CRUD forms, faster list and detail pages, aligned backend constants, in-app feedback widget, referral migration fixes.
This week brings a significant upgrade to the admin dashboard's CRUD experience — every form that previously paginated through long dropdown lists now uses an async search picker that fetches results on demand. List and detail pages have been reworked to prefer embedded relation data over separate lookups, and a new in-app feedback widget makes it easy to share what you'd like to see next.
Async-Backed Form Pickers
New AsyncSearchSelect primitive
Forms across the dashboard now use a new AsyncSearchSelect component that searches on demand as you type. No more waiting for long dropdown lists to load before you can filter. This replaces the old paginated-select behaviour on the CRUD forms with a smoother, more responsive experience that scales to accounts with thousands of assets, users, or devices.
Asset type and subtype pickers
The asset form's type and subtype pickers are now async-backed — select any type and the subtypes load immediately, filtered by your selection. This is a noticeable improvement for accounts with many custom types.
All CRUD entities
Every CRUD form — assets, devices, users, work orders, and the rest — has been migrated to the new picker primitive with entity-specific wrappers. Consistent behaviour, consistent look, consistent speed.
Faster List and Detail Views
Embedded relations in list APIs
List and detail views now prefer embedded relation data over separately paginated reference data. When you load an asset list, the related odometer entries, device models, and other linked records come through in the same response. Fewer round-trips, faster perceived load, less spinner time.
BelongsTo labels on every CRUD resource
Every CRUD resource now embeds the BelongsTo label (the human-readable name of a related record) directly in the response. Instead of showing a device ID that you then have to match to a model, the device model name is right there.
Device detail fixes
The device detail page now shows a meaningful title instead of a generic placeholder, and properly recognises the tracker type. A broken eager-load cycle between the Device and DeviceModel models that was causing intermittent 500 errors on /devices has been fixed.
Backend Alignment
Type and status constants
The admin dashboard's type and status constants now align with the backend's string values. This eliminates subtle mismatches where a status would display differently in the admin panel versus the API or IoT dashboard. The source of truth is now explicit and shared.
Interface polish
Button hover and active scale animations have been stripped for a calmer, more professional feel across the admin dashboard. Interactions are snappier without the extra motion.
Referral Rewards
Resilient migrations
The referral tier reward-per-asset migration is now tolerant of partial database state and fully idempotent — you can re-run it safely without errors or duplicate records. This matters if you're deploying on top of a partially-migrated environment.
In-App Feedback
Featurebase widget with single sign-on
The admin dashboard now includes the same Featurebase feedback widget as the IoT dashboard. Share suggestions, report issues, or vote on upcoming features without leaving the app — you're signed in automatically via JWT SSO.
Questions?
If you have questions about any of these changes or need help taking advantage of new features, contact us at support@yipii.com.