meatsoft v3 beta (for Windows)
Change History
1.0.4.4 Current
Released Jul 17, 2026 • ⭳ 10 downloads • 👁 10 viewsVersion 1.0.4.4 *Released July 17, 2026* 🆕 What's New - **Mobile profile pictures** — your profile page now lets you upload up to 3 photos and pick one as your default; it shows as your avatar throughout the app (profile page, navigation drawer, technician/user-assignment dialogs, and activity logs). No photo yet? You'll see a generated two-letter initials avatar instead. - **User photos wherever people are listed** — Equipment Maintenance's "Assign Technician" dialog, Order Fulfillment's "Assign User" dialog, and both the Work Order and Order activity logs now show each person's photo next to their name. - **"Created By" shows a real name and photo** — Equipment, Location, and Room detail pages used to show a raw ID for who created the record; now they show the creator's name and photo. - **Order Fulfillment — Add-on Products** — managers can now add extra products to an already-placed order, and remove ones they've added, right from the order detail page. - **Order Again** — the Store Orders main page now has a quick-reorder section showing your most recently ordered products, most recent first. - **Redesigned Scan Out activity cards** — "My Recent Activities" cards are bigger now, showing the product photo, the Scan In/Scan Out direction icon, and when the activity happened, without cramming everything into a cut-off line. - **One-click Windows installer** — MeatSoft can now be packaged as a single Windows installer that automatically trusts the app's certificate and enables sideloading, with an optional desktop shortcut. (Internal/IT-facing — most users won't notice this directly.) 🐛 Bug Fixes - Manual carcass tagging now only requires a Serial or a Custom Number (not both) — you're no longer blocked by the date/weight fields. - Fixed the "Order Again" section getting stuck on a loading spinner. - Fixed the product search dialog's results grid overflowing slightly at the bottom. - Fixed your profile photo (and the drawer avatar) not updating right away after uploading a new one — previously required leaving and re-entering the screen. - Equipment records created going forward will correctly show who created them; a database bug was silently leaving "Created By" blank for every new piece of equipment. 🔄 Updates - New manager-only permission (`ORF_ORDER_FULLFILLMENT_MANAGERS`) covers the Add-on Products feature and carcass build-list overrides — see `PERMISSION_GATES.md` for the full reference. --- Version 1.0.4.3 *Released July 14, 2026* ### 🐛 Bug Fixes - Fixed a Windows-only issue where the screen could go blank/white after resizing the window and then navigating to another page. - On larger desktop windows, the menu button now toggles a docked sidebar instead of opening the slide-out drawer on top of it. - Errors are now always logged on Windows/desktop builds, not just when Crashlytics happens to be available — problems there were previously easy to lose entirely. 🔄 Updates - Removed a brief loading-spinner delay that used to appear on every menu navigation — it was masking the white-screen issue above rather than fixing it. --- Version 1.0.4.2 *Released July 13, 2026* 🐛 Bug Fixes - Fixed the Equipment Maintenance home screen missing its app bar and bottom navigation bar. --- Version 1.0.4.1 *Released July 13, 2026* 🆕 What's New - **Scan In is now a full cart/checkout flow** — build a cart of items with quantity/unit options, review a summary, and submit, from its own bottom navigation bar. Previously a more limited screen nested inside Scan Out. - **Work Order Activity Log** — every Equipment Maintenance work order now has a running log of status changes and comments, visible from the Location, Room, and Equipment detail pages as well as the work order itself. - **"Manage Images" now works** — a database issue that could leave Scan Out's product photo list empty is fixed. 🐛 Bug Fixes - Fixed the Windows in-app camera occasionally refusing to reopen ("Camera with given device id already exists") after backing out of or completing a capture. 🔄 Updates - Documented Version 1.0.4.0 in these notes (this entry itself was written a version late). --- Version 1.0.4.0 *Released July 9, 2026* 🆕 What's New - **Scan Out** — a new way to record inventory leaving a location: scan a product barcode (or search for it), pick which location it's coming from, enter a quantity, and confirm. Every Scan Out shows up in "My Recent Activities," where you can return or cancel it if something was entered incorrectly. Reachable from the navigation drawer once your account is granted access. - **Scan In** — the counterpart to Scan Out: build a cart of one or more products, set a destination and source location plus a reference number, and submit them together. Also reachable from the drawer once granted access. - **Product Search, Images, and Linked Barcodes** — supporting screens for Scan Out/Scan In: search the product catalog, manage a product's photos, and link additional barcodes to a product. - **Scan Out / Scan In settings** — two new panels under Settings for configuring each device's default location and whether that location is locked in, so it doesn't need re-selecting every time. - **"Main Menu" on every bottom navigation bar** — every feature's bottom tab bar now has a Main Menu button at the end that takes you straight back to Home. 🐛 Bug Fixes - The navigation drawer now closes automatically after you tap a menu item, instead of staying open. - Bottom convex nav bars hidden when the virtual keyboard is active on mobile — they no longer float awkwardly above the on-screen keyboard, and reappear once you're done typing. - Fixed the camera's "switch camera" and flashlight buttons sometimes not responding the first time you tapped them right after opening the scanner. - Diagnosed the "Manage Images" screen showing no photos — a database parameter mismatch, fix prepared and pending deployment (see Updates below). 🔄 Updates - Applied database changes adding real paging to two stored procedures used by Scan Out's activity list and product search, and fixing a parameter mismatch that would have prevented the app from loading recent activities at all. - Prepared (not yet applied) a database fix for the "Manage Images" parameter mismatch mentioned above.
1.0.3.0
Released Jul 7, 2026 • ⭳ 3 downloads • 👁 2 viewsVersion 1.0.3.0 *Released July 7, 2026* 🆕 What's New - **Sign in with email or username** — a new sign-in option lets you log in with your email/username, password, and domain instead of a PIN, with a domain picker. Look for "Login via email/username" on the sign-in screen. - **Richer Location pages** — opening a Location now shows its Rooms (each with a scrollable strip of the equipment inside), any rooms that don't have equipment yet under "Other Rooms," its Work Orders, and its Preventive Maintenance schedules — instead of just a few summary counts. - **Richer Room pages** — opening a Room now shows every piece of equipment assigned to it in a scrollable strip, instead of just an equipment count. - **Hover for details (desktop/mouse only)** — hovering over an equipment or room tile pops up an enlarged card with more details (brand, model, serial, location, description). Arrows appear at the edges of a row so you can scroll it with the mouse. Not applicable on touchscreens. 🐛 Bug Fixes - Fixed a Windows crash in the document/tag OCR scanner that could prevent other app features from starting up correctly. - The Location page's action buttons (Back, Edit, Work Order, PM Schedule, Delete) no longer run off-screen on narrower windows or phones — they now wrap onto a second row. 🔄 Updates - Internal cleanup to how every request identifies itself to the server — no visible change.
1.0.0.21
Released Jun 23, 2026 • ⭳ 5 downloads • 👁 2 viewsVersion 1.0.0.21 🆕 What's New - Added a complete Equipment Maintenance work order generation workflow, including batch generation from preventive maintenance schedules. - Added equipment-specific work order and preventive maintenance schedule views from the equipment detail experience. - Added edit, update, delete, and filtered listing support for preventive maintenance schedules. - Added work order creation, editing, viewing, deletion, and equipment-filtered lookup support. - Added backend database support for equipment maintenance work orders and preventive maintenance schedules. - Added a permission-friendly no-access screen for users without page view rights. - Added a new app drawer entry for generating work orders. 🐛 Bug Fixes - Fixed permission handling so users without view access see a clear restricted-access state instead of an incomplete screen. - Fixed preventive maintenance schedule ownership and creator tracking so own-vs-any permission rules can be enforced more reliably. - Fixed equipment detail tabs so schedules and work orders load from server-filtered data instead of placeholder states. 🔄 Updates - Reworked the work order flow from a simple add form into a fuller create, batch, edit, and view workflow. - Updated preventive maintenance schedule screens to support editing, section rendering, deletion, and equipment-specific lists. - Updated equipment, room, and location detail panels to surface related maintenance activity and schedule context. - Expanded work order and schedule models to support richer status, priority, assignment, and recurrence data. - Updated user access modeling to include additional permission fields used by the maintenance workflow. Version 1.0.0.20 🆕 What's New - Added OCR parsing support for non-beef and non-bison carcass tags using the carcass number from the tag layout. - Added lookup support that can search by either beef/bison serial numbers or non-beef/bison carcass numbers. - Added parser test coverage for carcass tag OCR line handling. 🐛 Bug Fixes - Fixed scanner behavior for non-beef and non-bison carcasses so the app no longer assumes every tag uses a 10-digit serial number. - Fixed invalid lookup messaging to distinguish serial lookups from carcass-number lookups. 🔄 Updates - Updated the scanner to choose the correct identifier strategy based on animal category. - Updated carcass scanner shared constants and helpers to centralize lookup limits, sheet behavior, and tag parsing. - Updated the application version to 1.0.0.20. Version 1.0.0.19 🆕 What's New - Added carcass number support for non-beef and non-bison carcasses. - Added test coverage for carcass model validation, scanner result merging, and scan results sheet behavior. - Added shared scanner constants for result limits and lookup behavior. 🐛 Bug Fixes - Fixed non-beef and non-bison carcass validation so a carcass number is required along with date and weight. - Fixed scan result list behavior so bulk result updates settle cleanly instead of producing runaway insert animations. - Fixed duplicate carcass lookup results by merging new results at the front and removing repeated records. - Fixed the scan result cap display so the latest-result hint only appears where appropriate. 🔄 Updates - Updated carcass and cooler data models to carry carcass number information. - Updated scanner and search surfaces to handle beef/bison and non-beef/bison carcass data more consistently. - Updated the Flutter SDK path configuration to use the FVM symlink. - Updated the application version to 1.0.0.19. Version 1.0.0.18 🆕 What's New - Added carcass search for order fulfillment, allowing users to search cooler records and select matching carcass data. - Added captured weight and cooler record tracking to carcass fulfillment data. - Added support for passing an animal category into the tag scanner so lookups can be scoped by animal type. 🐛 Bug Fixes - Fixed beef and bison carcass validation to require captured weight instead of relying on custom number alone. - Fixed scan result selection flow so selected cooler data can populate carcass fulfillment details more accurately. - Fixed order fulfillment data handling to include additional cooler and carcass fields used during selection. 🔄 Updates - Updated the carcass fulfillment UI to support both manual entry and scanner-assisted selection. - Updated scan result display and carcass widgets with richer cooler, weight, and animal-type context. - Updated order cart behavior to align with the expanded carcass data model. - Updated generated platform plugin metadata and dependency lock data after package changes.
1.0.0.17
Released Jun 19, 2026 • ⭳ 2 downloads • 👁 1 viewVersion 1.0.0.17 *Released June 19, 2026* 🆕 What's New - **Priority Level System** — introduced a structured priority classification model with four levels: Low, Medium, High, and Critical; both PM Schedules and Work Orders now use this unified priority system - **Work Order Request Types** — added formal classification of work order requests into four types: Corrective, Preventive, Predictive, and Emergency, enabling better categorization and reporting 🐛 Bug Fixes - Work Order add and edit forms now correctly resolve and display request type and priority values using the new classification models 🔄 Updates - **PM Schedule — Location & Room Assignment** — the PM Schedule form now assigns schedules to a specific location and room instead of a named person; the model was updated to carry location ID, location name, room ID, and room name, replacing the previous `assigned_to` field - **PM Schedule Add Form** — the add/create form was significantly overhauled to support the new location/room assignment flow and priority level selection - **PM Schedule Manage Screen** — refreshed to reflect the updated data model and display location-based assignment information - **PM Schedule View** — minor display updates aligned with the new priority and location fields - **Recurrence Card** — updated to stay in sync with PM Schedule model changes - **Room & Location Detail Panels** — both panels received updates to surface additional context and support the new assignment structure - **Equipment Dropdown Providers** — the equipment and room dropdown list providers were updated to support the location/room selection flow in the PM Schedule form - **PM Schedule API Endpoints** — stored procedure names updated to the new naming convention (`sp_mb_em_pm_schedule_*`), aligning with backend schema changes --- Version 1.0.0.16 *Released June 18, 2026* 🆕 What's New - **In-App Logging System** — a full diagnostic logging layer with four severity levels (Debug, Info, Warning, Error); logs are held in memory during the session, persisted to a local file across restarts, and accessible from a dedicated log viewer inside the app with level filtering, clear, and export/share actions - **Carcass Barcode Scanning** — new carcass scanning workflow added to the Tag Scanner; users can scan barcode-tagged carcasses, review results in a bottom sheet, and view full LMP details per carcass - **LMP Fresh & Frozen Products Panel** — new product panel in the Tag Scanner to display and manage fresh and frozen LMP products separately from non-LMP items - **Non-LMP Products Panel** — dedicated panel for non-LMP tracked products with its own display layout and management actions - **Reusable Filter Sheet** — shared filter bottom sheet component now available across features for consistent filtering UI - **Cooler Model** — new data model for cooler/storage room records to support order fulfillment tracking 🐛 Bug Fixes - Resolved connectivity issues in the JSON connection layer that could cause silent failures during API communication - Fixed the mobile camera barcode scanner to handle edge cases in scan result processing 🔄 Updates - **Tag Scanner — Major Overhaul** — the tag scanner page was substantially rearchitected to support the new carcass, LMP, and non-LMP product flows; the scanner now routes to the appropriate product panel based on the scanned tag type - **Order Fulfillment Screen** — updated to incorporate the new cooler model and align with the expanded product tracking flows - **Navigation Bar** — restructured to include access to the new App Log viewer and accommodate updated routing for the expanded feature set - **Login Page** — login flow updated across all form factors (tablet portrait, tablet landscape, desktop) with layout and state handling improvements - **System Settings** — the settings page was extended with an entry point to the App Log viewer and additional configuration options - **Order Cart Build Widget** — updated to reflect changes in the order fulfillment data model - **New Package Dependencies** — added `share_plus` for log export/sharing and `path_provider` for local log file storage
1.0.0.15
Released Jun 12, 2026 • ⭳ 2 downloads • 👁 1 viewVersion 1.0.0.15 *Released June 12, 2026* 🆕 What's New - **Cross-platform camera picker** — replaced the Windows-only camera implementation with a universal camera widget that works on Android, iOS, Windows, macOS, and Linux - **Window close guard** — new desktop-only wrapper that registers a confirmation handler before the app window is closed; no-op on mobile - **Window manager guard** — new utility that initializes the desktop window manager with a fixed 1280×720 default size; no-op on mobile/web - **Paginated state total count** — `PaginatedState` now tracks a `totalCount` field and exposes a `totalPages()` helper for building pagination UI 🐛 Bug Fixes - Removed a dead `loadingModal()` stub from the common notifier class that had been commented out and was no longer used - Removed a dead `getScanInPendingTransaction()` async stub that returned nothing 🔄 Updates - Image upload now skips compression on Linux in addition to Windows - Image picker flow updated — camera option now works on any non-mobile platform (not just Windows) - Snackbar success color changed from theme primary to a fixed dark green (`#2E7D32`) for stronger visual contrast - Snackbar error color changed from theme error to a fixed dark red (`#C62828`) for stronger visual contrast - Chip theme improved — unselected chips now show a semi-transparent tinted background; selected chips show white text and a white checkmark - Order Fulfillment, PM Schedule, Store Orders, and System Settings screens received layout and logic refinements
1.0.0.14
Released Jun 11, 2026 • ⭳ 3 downloads • 👁 6 viewsVersion 1.0.0.14 🆕 What's New - Preventive Maintenance (PM) Schedule — Data Layer: Full back-end data layer introduced for PM Schedules, including service interfaces, API services, state providers, and data models. The module now has a complete data pipeline from API to UI. - Holiday Management — Full Module: Holiday data layer is fully in place with service interfaces, providers, and models. Holidays can now be listed, added, and persisted through the app. - PM Recurrence Card: A new dedicated widget for configuring recurrence rules on a PM schedule — supports daily, weekly, monthly, and custom intervals. - PM Section Builder Card: A new rich widget for building task sections within a PM schedule, allowing users to define structured checklists and task groups. 🐛 Bug Fixes - Image Upload — Empty Base64 Crash: Fixed a crash that occurred when the image upload widget was initialized with a model that had no image data. Empty or null base64 strings are now safely handled. - Image Description — No Longer Mandatory: Removed the required field validation on the image description input. Users can now save an image without filling in a description. 🔄 Updates - Equipment Detail Panel: Expanded with additional fields and improved layout. - Order Fulfillment Cart: Reworked internal cart logic and display for more accurate order building. - App Navigation Drawer: New menu entries added to surface PM Schedule and Holiday management sections. - Theme System: New spacing and dimension constants added to support the new scheduling and holiday screens. - Core Utilities: General shared utilities updated to support new module requirements. --- Version 1.0.0.12 🆕 What's New - PM Schedule — Manage & View Screens: Users can now browse the full list of PM schedules and open a detailed view of any schedule, including all sections and task items. - PM Schedule Format Helpers: Introduced formatting utilities for displaying schedule dates, recurrence labels, and status in a consistent human-readable format. 🔄 Updates - PM Section Builder Card: Significantly expanded to support more task types, richer input options, and improved interaction patterns within the schedule builder. - Equipment Bottom Navigation: Tab entries updated to align with new module additions. - Order Fulfillment: Cart build list provider updated to reflect latest order model changes. - App Navigation Drawer: Additional menu entries added. --- Version 1.0.0.11 🆕 What's New - Firebase Integration: Firebase is now fully integrated into the app. The app initializes Firebase on startup and is configured for both Android and desktop platforms. - Google Services Configuration Panel: A new panel in System Settings allows managing Google / Firebase service connection settings at runtime without a redeployment. - Store Order — Extracted Dialog Flows: The Store Order Add screen has been refactored into focused, reusable dialogs — a Client Picker sheet, an Order Info form, and a Quick Add Client dialog. Each can now be used and tested independently. 🔄 Updates - Splash Screen: Updated to handle the Firebase initialization sequence before navigating into the app. - App Startup: Main entry point updated to wire up Firebase and ensure services are ready before the first screen loads. - Android Native Layer: Native Android activity updated to support the new Firebase and plugin integrations. --- Version 1.0.0.10 🆕 What's New - Unit Type Helper: Added a utility method to determine whether a given unit type is a weight-based unit (grams, kilograms, pounds, litre), used to drive conditional display logic in the cart. 🐛 Bug Fixes - Unit Conversion Formulas — Incorrect Results: Fixed several inverted conversion formulas. Pounds-to-kilograms and kilograms-to-grams conversions were producing wrong values due to multiplication and division being swapped. - Order Assignment — Null Safety Crash: Fixed a crash when parsing the `assignedTo` field on an order. The field is now safely parsed with a fallback, preventing a runtime exception when the value is empty or null. 🔄 Updates - Order Cart — Dynamic Weight Columns: Weight columns (lbs / kgs) in the order cart now show or hide based on whether the product's unit type is weight-based, rather than always being visible. - Order Cart — Dynamic Unit Label: The unit label displayed per cart row now reflects the product's actual unit name (e.g., "kg", "box", "pack") instead of the hardcoded label "case". - Order View Provider: Switched from a reactive watch to a one-time read call in the order view to prevent unnecessary widget rebuilds.
1.0.0.9
Released Jun 9, 2026 • ⭳ 2 downloads • 👁 1 viewJune 9, 2026 🆕 What's New Production Code per Build Item — Each entry in the build list for processed products now carries its own production code (month / day / code / batch). The production code column and entry widget are conditionally visible and required only when the product is flagged as a processed product; they are hidden entirely for all other product types. Cart Availability Splitting — The cart now separates items into two sections: Available and Not Available for Selected Ship Date. Items with sufficient stock are always placed in the available section. Items below the stock threshold are evaluated against the product's nearest available ship date and its product type. Unavailable items are rendered at reduced opacity with an inline reason tag (e.g. "Not available until Aug 12, 2025"). Partial Order Submission — Orders that contain a mix of available and unavailable items can now be submitted. Only the available portion is sent; unavailable items remain in the cart for a future order once stock or ship dates allow. Available Item Count in Submit Bar — The item count shown in the bottom submit bar now reflects only the available items, not the total cart count. 🐛 Bug Fixes Build List Editing Mutated Live Order State — When the build list dialog opened, items were passed by reference, so any edits inside the dialog immediately altered the saved order data even if the user cancelled. Items are now deep-copied before being loaded into the dialog's local state, so cancelling discards all changes. Production Code Validation Fired on Non-Processed Products — The production code widget previously enforced its "required" validation rule regardless of product type, causing save failures for products that have no production code. Validation is now skipped unless the product is a processed product. Cart Product Serialization — selectedScanOption and productOrderBuild in the cart product model were being written to JSON as raw Dart objects instead of proper maps, causing data loss when the cart session was persisted. Both fields are now correctly serialized. 🔄 Updates Production Code Widget Redesign — The dialog replaced its custom hard-coded purple header and blue-gray footer with a standard AlertDialog that adapts to the active Material theme. Error messages now use the theme's errorContainer color. The trigger chip gained an icon, a primary-tinted background when a code is set, and a clearer "Tap to select" placeholder. Production Code onChanged Callback — The widget now accepts an optional onChanged callback, allowing parent widgets to react immediately when the user confirms a production code without relying solely on form submission. Product Model Expanded — isProcessedProduct and productionCode fields were added to the order item detail and inventory product info models. The cart product model also received nearestAvailableShipDate, nextAvailableShipDate, and stockQty fields to support the new availability logic. Availability Check Product Types Constant — A centralized constant defines which product type IDs (currently [1, 3]) are subject to ship date availability checks, making it easy to adjust the rule without hunting through business logic. Cart List Code Quality — The remove-item confirmation dialog and the item row builder were extracted into a shared helper method, reducing duplication and making the section layout easier to follow.
1.0.0.8
Released Jun 8, 2026 • ⭳ 3 downloads • 👁 3 viewsVersion 1.0.0.8 June 6, 2026 🆕 What's New Shared Logo Component — Introduced a reusable logo widget that automatically crops the 25% empty canvas baked into the bottom of the Lottie animation file, eliminating the extra whitespace gap across every screen that shows the logo. User Initials Avatar in Drawer — The app drawer header now displays a circular avatar showing the logged-in user's initials, ringed with the active theme accent color, alongside their full name and a company badge. Drawer Section Labels & Expand/Collapse Indicators — Navigation menu items now show a chevron that rotates between collapsed and expanded states when a parent item has sub-menus open. Build Status Color Coding — Ordered items in the Order Fulfillment view are now color-coded: green background when the build count matches the ordered quantity, light red when the build is missing, incomplete, or over-quantity. 🐛 Bug Fixes Login Form Disappearing on Resize — Fixed a layout issue where the login form would vanish when resizing the window. The card width now adapts fluidly to available space and switches to a single-column layout at narrower widths instead of overflowing. Hardcoded White Scaffold Background — All authenticated screens had a hardcoded white background that ignored dark mode and the active color palette. Now correctly uses the theme surface color. Lottie Extra Space at Bottom — The logo animation was rendering with a large empty gap below the artwork due to unused canvas space in the source file. The new shared component clips this automatically. Tablet Portrait Login Card Overflow — The tablet portrait breakpoint was delegating to the desktop layout, causing a wider card than the available screen width. It now has its own properly constrained layout. 🔄 Updates Login Screen Redesign — All four screen-size breakpoints (desktop, tablet landscape, tablet portrait, mobile) have been redesigned. Desktop and tablet landscape use a side-by-side card with a branded left panel and a clean form on the right. Tablet portrait uses a compact centered card. Mobile uses a full-screen immersive gradient with a floating form card. All layouts use an accent color stripe at the top of the card and fully adapt to the active theme palette. PIN Entry Screen Redesign — The PIN screen now features a circular user avatar, a cleaner employee ID heading, improved PIN cell styling with a focused glow effect, and a proper outlined "Clear PIN" button replacing the plain underlined text link. Server Setup Screen Redesign — The server configuration screen (shown when no endpoint is saved) now matches the login screen's card style, with a themed background, accent stripe, proper field labels with icons, and a "Connect" button. App Bar Cleanup — Removed the debug screen-width indicators (red-badged device icons with pixel counts) that were showing in production. The title now uses the app's typography — "MEATSOFT" in the display font with letter spacing. App Drawer Redesign — The drawer now uses the shared tile component consistently throughout, giving uniform hover states, fonts, and selection highlighting. The logout action is in a visually distinct footer section at the bottom. Activity Log Repositioned — On tablet and desktop layouts, the Activity Log is now in the left column alongside shipment and delivery details, giving the product list the full width of the right panel. Activity Log Entries Compacted — Log entries are now rendered as lightweight rows at 11–12px instead of full-height list tiles, bringing them in line with the text density of the surrounding detail cards. The internal "Logs" sticky header has been removed since the card already provides the section heading. Version 1.0.0.7 June 5, 2026 🆕 What's New Animated Splash Screen — Replaced the static native splash with a custom animated screen. The logo animates in with a scale and fade, followed by a shimmer divider line and staggered text reveals for the app name and company name. Pulsing dots indicate loading while the API connection check runs in the background. The screen respects the user's saved theme palette. Network Information Panel — The Networking configuration panel now displays live network details including connection type (Wi-Fi, Ethernet, Mobile), Wi-Fi network name, local IP address, and a refresh button to reload the values on demand. 🔄 Updates Splash Timing & Navigation — The animated splash runs concurrently with the API connectivity check and enforces a minimum display time. It navigates directly to the login page or server setup screen depending on the result, replacing the plain loading spinner that previously appeared on startup. General Settings — Internal updates to how the server endpoint configuration is stored and read on startup.
1.0.0.6
Released Jun 5, 2026 • ⭳ 8 downloads • 👁 6 views🆕 What's New - Client Management Module — A fully functional client management section has been introduced, covering client listing with search and filtering by client type, paginated data loading, and a complete add/edit form supporting multiple addresses and contact persons per client. - Client Picker in Order Creation — When creating a store order, users can now search and select an existing client from a bottom sheet picker. Selecting a client automatically populates the customer information, delivery address, and contact person fields in the order form. - System Settings Configuration Panels — System settings now feature dedicated, purpose-built panels for Appearance, Networking, Advanced Configuration, and Notifications — each with a focused UI rather than a single flat form. - Code Signing Certificate — Windows deployment packaging now includes a signing certificate, enabling trusted app distribution. 🐛 Bug Fixes - Client Type Change Data Loss Guard — Changing the client type on an order now prompts for confirmation if customer, address, or contact data has already been entered. This prevents accidental data loss from a mis-tap. - Stale Order Data on Type Switch — When the order type is changed and the user confirms, the session now correctly clears customer information, delivery addresses, and contact persons so no stale data carries over. - Appearance Settings Consolidation — The standalone Appearance page accessible from the navigation drawer has been removed. Appearance settings are now exclusively managed through the System Settings panel, eliminating a duplicate entry point. 🔄 Updates - System Settings Page Redesigned — The settings page now uses a two-panel sidebar layout with category navigation (Connectivity, Security) instead of a single scrollable form, making settings easier to discover and navigate. - Store Order Form Expanded — The order creation/editing form has been substantially extended to support client selection, customer info entry, address and contact management, store-specific access control for order creation buttons, and shipping method selection. - Order Session State Management — The order session provider has been extended with dedicated methods for updating customer info, address info, and contact persons independently, as well as a single method to apply a full client record to the session in one step. - Navigation Drawer — Manage Clients Entry — A new "Manage Clients" section with permission-based visibility has been added to the sidebar navigation, giving direct access to the client list. - Reusable Drawer List Tile — The navigation drawer's list tile has been extracted into a standalone, themeable widget supporting sub-menu indentation, bold labels, custom trailing icons, and dark/light mode coloring. - App Theme Refinements — Minor theme adjustments applied for consistency across light and dark modes.
1.0.0.5
Released Jun 4, 2026 • ⭳ 8 downloads • 👁 11 views🆕 What's New - Work Order Management — Introduced a complete work order workflow for Equipment Maintenance, including screens for creating, editing, and viewing work orders. - Work Order Service Layer — Added a new service method to persist work order updates via a stored procedure, with full Riverpod provider integration. - Equipment Dropdown Provider — New provider that automatically populates equipment selection lists from the API, enabling dynamic data binding in equipment-related forms. 🐛 Bug Fixes - Image Upload Cleanup — Removed unused imports, dead controller references, and leftover commented-out platform-specific code from the image upload helper. - Removed Unused Navigation Reference — Cleared a stale import in the pages utility that pointed to a removed screen, eliminating a dead dependency. - Temporary File Leak — Removed unused file system operations that were creating temporary image paths without cleanup. 🔄 Updates - Equipment Maintenance UI Overhaul — Location, room, and equipment add/edit screens were substantially restructured for consistency, improved layout, and full Material 3 theme integration. - Store Orders & Order Fulfillment — Major refactoring across store order creation, viewing, product detail, and order fulfillment screens; improved structure, readability, and theme alignment. - Image Upload UX — Redesigned the no-image placeholder with a drag-and-drop style UI, updated button labels and icons for clarity, and improved action bar styling with consistent color usage. - Navigation & App Drawer — Updated home page toolbar patterns and the authenticated app drawer with theme-consistent improvements across all scaffold variants (desktop, mobile, tablet landscape/portrait). - Login Screen Theming — Applied a background decoration wrapper to mobile login and PIN screens; made app bar backgrounds transparent for a cleaner appearance. - Photo Gallery — Minor improvements to image handling in the shared photo gallery widget. - Electrical & Mechanical Spec Widgets — Reformatted and restructured spec edit widgets for improved readability and consistency.
1.0.0.4
Released Jun 3, 2026 • ⭳ 4 downloads • 👁 1 view🐛 Bug Fixes Store Orders — Add New Order • Fixed compile errors: EdgeInsetsGeometry.all (abstract class) replaced with EdgeInsets.all; DropdownButtonFormField using initialValue non-reactively now uses correct Flutter 3.33 API • Wide layout Ship Via dropdown had no width constraint in its Row causing layout overflow — wrapped in Expanded • RadioListTile titles ("Customer", "Butcher Block Store") showed invisible white text caused by inherited ListTileTheme color — explicit onSurface color applied • Ship Date field title, subtitle, and calendar icon were invisible (white-on-white) for the same reason — explicit colors applied • Submit button used Colors.greenAccent with Colors.black foreground — replaced with Colors.green / Colors.white Appearance Module — Session Loss • Navigating to the Appearance page sometimes triggered an idle-timeout logout because the page did not register any user interaction on load, and scroll gestures did not reset the idle timer • Fixed: page now calls IdleService.instance.registerInteraction() on initState • Fixed: LmpIdleDetector and LmpIdleDetectorWrapper drag/scroll handlers were commented out — uncommented so any gesture (not just tap) resets the idle timer Logo Animation • Lottie file JSON had a d:1 (direction — a number) on a stroke shape where the parser expected an array — property removed ________________________________________ 🔄 Updates Store Orders — Add New Order • Responsive breakpoint lowered from ≥ 1390px to ≥ 900px so the wide side-by-side layout appears on normal desktop screens • Narrow layout Ship Via dropdown items were hardcoded strings and missing the Pickup option — unified to use LmpOrderShipMethodType enum labels, matching the wide layout • "Preferred Date" label in narrow layout renamed to "Ship Date" for consistency • Duplicate "Address Information" section label fixed — customer info section now correctly labeled "Customer Information" • Placeholder Text("address here") replaced with real data display: company name or full name, formatted address, and contact name + email Appearance — Background Image Selection • Upgraded from single-default to dual-preset: Original (bgtest.jpg) and My Image displayed as tappable thumbnails side-by-side • Switching to Original no longer deletes the custom image — both remain available to switch between • Added explicit "Remove My Image" button (red) to permanently delete the custom image • Provider state refactored from String? to BgImageState with savedPath, useOriginal, and activePath Logo Animation (Lottie) • Removed the "MEATSOFT" text layer and its precomp asset • Replaced the ellipse-based border with a white stroke that traces the actual logo outline — uses merge paths to treat both shapes as one unified outline, rendered behind the fill layers so only the exterior 6px is visible Settings Page • Removed dependency on legacy LmpIdleDetector / LmpIdleDetectorWrapper • Migrated to IdleService.instance.registerInteraction() in initState, consistent with the rest of the app • Both lmp_idle_detector.dart and lmp_idle_detector_wrapper.dart deleted ________________________________________ 🆕 What's New Work Orders — Work Order List Page • New fully-featured list page for work orders with grid, list, and table view modes; view preference persisted • Search bar with instant reload; infinite scroll pagination • Status-coloured badges (Open = red, In Progress = blue, Closed = green) • Add Work Order button navigates to the work order form; desktop split-panel detail view • New service method (workOrderListSelect), list provider, and interface declaration created Appearance — Custom Background Image • New "Background Image" section in Appearance settings lets users pick any image from their device gallery as the login/settings screen background • Applied across all login, PIN, and login-settings screen variants • Auto-reverts to the bundled default asset if app data is cleared (SharedPreferences + file both removed) Equipment Maintenance — Delete for Location, Room & Equipment • Delete button added to the detail panel action toolbar for Location, Room, and Equipment view pages • Shows confirmation dialog (CCommon.confirm) with item name before proceeding • On confirm: calls delete API, shows success toast, navigates back to the list • Button gated by hasDelete permission; styled in cs.error red to distinguish from Edit • Location delete stack fully created (interface declaration, service method, provider method, stored procedure call) App Drawer — View My Profile • Tapping the user avatar (CircleAvatar) in the drawer now navigates to a new My Profile page • Profile page displays full name, employee ID, and profile/role using DisplayField widgets consistent with the rest of the app
1.0.0.3
Released Jun 2, 2026 • ⭳ 2 downloads • 👁 1 viewWhat's New - Responsive order list layout (mobile: ListTile only / tablet+desktop: split view + table toggle) - OrderListPage — new headerWidget parameter for action strips below the AppBar store_order_processed.dart wired to real data via lmpOrderCompletedListProvider lmp_order_completed_list_provider.dart — added loadMore() for infinite scroll Bug Fixes - Window close button no longer shows the sign-out dialog when the user is already signed out Updates - store_order_pending.dart refactored to use OrderListPage - store_order_manage.dart refactored to use OrderListPage - store_order_shipped.dart refactored to use OrderListPage - Create order bar background changed from Colors.deepPurple to theme-adaptive colour across all 6 order pages Pending - store_order_cancellations.dart — stub, no data provider yet - store_order_returns.dart — stub, no data provider yet
1.0.0.2
Released Jun 1, 2026 • ⭳ 3 downloads • 👁 3 views1.0.0
Released Jun 1, 2026 • ⭳ 0 downloads • 👁 0 viewsApp Info
- Publisher
- LMP
- Category
- Productivity
- Version
- 1.0.4.4
- Size
- 23.7 MB
- Released
- Jul 17, 2026
- Downloads
- 55
- Views
- 64
- Updated
- Jul 17, 2026
- Platforms
-
Windows
Embed
Paste this on any page to show a download badge for this app.