v0.4.1
Highlights
Buttons, fields and dropdowns are sized for a touchscreen
Every control in the app is bigger. Buttons, text fields, dropdown triggers and dropdown rows now meet a 48px target — never below 44px — instead of the 36px they were. The quantity plus and minus buttons in the cart, the most-tapped controls at the counter, go from 32px to 48px. Control text is larger throughout, so prices and labels read at arm's length.
Product search covers the whole catalog
Product search previously relied on the backend's default page size, which meant a large enough catalog could leave later products unreachable at the till with nothing to signal they were missing. The POS now walks the full catalog explicitly, so every published product in the sales channel is searchable regardless of how many there are.
Manager PIN is properly protected
The manager PIN used to be stored in a form that could be reversed almost instantly by anyone with access to the terminal's files — the exact situation it is meant to guard against. It is now stored with modern password hashing. Existing PINs keep working and are upgraded automatically the first time they are entered correctly; nobody needs to set a new one.
Printer and update problems speak your language
When a receipt fails to print, the cash drawer does not open, a receipt PDF cannot be saved, or an update fails, those messages appeared in English regardless of the language setting — the moment an operator most needs to understand them. They are now translated across all seven supported languages, including the step-by-step printer troubleshooting guidance.
Faster cold starts
The app used to load all seven languages every time it started; it now loads only the one in use. Shared framework code is packaged separately so it stays cached between updates, and the background check that keeps the unfulfilled-orders badge current no longer pulls payment detail it never reads. Startup is lighter, particularly on lower-powered terminals.
Plugins tab in Settings
Settings gains a Plugins tab, the foundation for optional add-ons that extend the POS with their own screens and settings.
Bug Fixes
- Primary buttons no longer show black text in light mode
- The page-size dropdown on the Orders screen opens upward, so its options are no longer cut off at the bottom of the screen
- Long labels in the sidebar wrap instead of being truncated
Dependency Updates
| Package | From | To |
|---|---|---|
vite |
8.0.16 | 8.1.5 |
@vitejs/plugin-react |
6.0.2 | 6.0.4 |
tailwindcss + @tailwindcss/vite |
4.3.1 / 4.3.2 | 4.3.3 |
react-i18next |
17.0.8 | 17.0.11 |
| Tauri plugin suite (3 packages) | — | latest |
@types/node |
25.9.3 | 26.0.1 |
globals |
17.6.0 | 17.7.0 |
vitest |
— | 4.1.10 (new — test runner) |
Three unused development packages (prettier, shadcn, dotenv-cli) were removed.