Changelog — June 23, 2026
Atomic product stock management with low-stock alerts, native iOS splash screen, and a unified FormSheet component consolidating 14+ dialogs.
Release
v1.55.0✨ New Features
-
Atomic Product Stock Management — Introduced an
adjustStudioProductStockmutation that applies signed deltas atomically, ensuring concurrent stock adjustments never lose updates. Optimistic cache updates on both web and mobile eliminate unnecessary re-renders. Stock is now automatically tracked when consumables are added, updated, or removed from sessions (excluding the auto-billed assistant product), with full rollback on session deletion.#704 -
Low-Stock Threshold Alerts — Added an optional per-product low-stock threshold. The server computes an
isLowStockflag, keeping web and mobile clients in sync so teams can act before running out of critical items.#704 -
Native iOS Splash Screen — Replaced the animated JavaScript splash with a native storyboard implementation featuring a centered logo and full dark mode support via the
expo-splash-screenplugin.#704
♻️ Refactoring & Technical Improvements
-
Unified FormSheet Component — Extracted a reusable
FormSheetwrapper (header → scrollable body → sticky footer) that replaces scattered Dialog/form patterns across 14+ creation and edit dialogs (clients, guidelines, machines, products, projects, retouchers, sessions, studios, users, Acuity/Edo transforms, Pennylane dialogs, invitations). Introduced a centralRequiredMarkcomponent and shared form utilities (FormSheetFooter,CompanyLookupSteprefactored as a body component, extractedproduct-categoriesandorganization-localehelpers).#706 -
Removed "Active" Toggle & Legacy Dashboard Metrics — Eliminated the active/inactive concept for machines and products (entities default to active; schema retained for backward compat). Cleaned up unused analytics cards (active/total/avg price/categories counts) from the machines and products dashboard pages.
#704 -
Shared Badge Components — Consolidated
MachineTimerBadgeandProductSourceBadgeas single sources of truth so list and detail views remain visually consistent.#704
📦 Dependencies & Infrastructure
- Workers Dockerfile — Added a containerized Dockerfile for background job processing workers.
#706