v0.3.0
Highlights
Orders now record the real payment method
When a sale is completed with a configured method (cash, TBC, BOG, …), the order now stores that exact payment method instead of a generic default. The orders list, order details, and receipts all show the method that was actually used — no more guessing which terminal took the payment. This is powered by the Medusa SDK 2.17 upgrade.
Failed payments no longer cancel the sale
If a payment capture fails mid-checkout, the order is kept as a real unpaid order instead of being cancelled. The cart is cleared so the sale isn't accidentally rung up twice, and the operator settles it later from the order page with Record Payment. Nothing is lost, and there are no orphaned cancelled orders to explain at the end of the day.
Payment screen fits the touchscreen
The payment dialog now fits fully on POS touchscreens: the number pad, quick amounts, and every action button — including "Deliver, pay later" — are always visible, with no scrolling and nothing cut off at the bottom.
Faster startup and smoother checkout
The app loads noticeably faster: each screen now loads only its own code, and the PDF engine loads only when a receipt PDF is actually exported. Checkout is smoother too — cart dialogs no longer redraw on every cart change, and all discount math runs through one shared, consistent calculation.
Medusa SDK → 2.17.2
The Medusa client and types were upgraded from 2.15.5 to 2.17.2, bringing the payment-collection improvements the payment-method fix builds on.
Bug Fixes
- Double-tapping "Complete Payment" can no longer create the same order twice
- "Deliver, pay later" was hidden below the screen edge on smaller displays
- An item discount larger than the item price no longer shows a negative price in the item dialog
- "Requires action" order status now shows its correct color in the orders list
- The confirmation overlay is no longer left on screen after a failed payment
- Stale draft-order data can no longer overwrite fresh data while the payment dialog is open
- Receipt PDF export produces correctly encoded files
Dependency Updates
| Package | From | To |
|---|---|---|
@medusajs/js-sdk + @medusajs/types |
2.15.5 | 2.17.2 |
react-hook-form |
7.77.0 | 7.80.0 |
react-router-dom |
7.17.0 | 7.18.0 |
@tanstack/react-query |
5.101.0 | 5.101.2 |
i18next |
26.3.1 | 26.3.4 |
lucide-react |
1.17.0 | 1.21.0 |
| Radix UI primitives (7 packages) | — | patch/minor bumps |
tailwindcss + @tailwindcss/vite |
4.3.0 | 4.3.1 |
| Tauri suite (tauri, tauri-build, api, CLI) | 2.11.2 | 2.11.5 |
| Rust crates (tokio, log, anyhow) | — | patch/minor bumps |
| Tooling (eslint, typescript-eslint, shadcn) | — | minor bumps |
| GitHub Actions (checkout v7, tauri-action v1) | — | major bumps |
| Removed unused packages (sidebar, @shadcn/ui, @types/react-day-picker, 3 unused Radix packages) | — | removed |