Release v1.9.2: Widescreen Tablet POS registers, Dynamic QR Codes, Sync Tunnels & ESC/POS Thermal Printing
We are thrilled to announce the official release of v1.9.2, bringing a massive suite of features and register optimizations designed specifically for modern physical storefronts and countertop tablet cashier desks.
This update represents the culmination of a rigorous engineering phase focused on hardware connectivity, payment flexibility, offline training, and widescreen tablet register layouts. Here is a deep dive into what was built, shipped, and tested in this release cycle.
1. Countertop Card Reader Integration & Simulated Training Mode
To enable physical credit card payments directly at the cashier counter:
- Terminal Gateway Integrations: Created dedicated backend controllers for Stripe Reader and Square Terminal hardware, managing checkout requests, cancellation states, and polling APIs.
- Webhook Receiver Hooks: Added asynchronous webhook endpoints (
/api/pos/webhooks/stripeand/api/pos/webhooks/square) to listen for transaction confirmations streamed from gateways. - Clerk Training Mode: Designed an isolated cashier practicing state. When toggled, checkout requests bypass payment gateways, store transaction rows under a private
isTraining = 1flag (keeping accounting files clean), and simulate a realistic 3-second card swipe delay with complete checkout success and cancellation controls.
2. Dynamic Scan-to-Pay Mobile QR Codes
We’ve integrated dynamic client-facing QR checkout codes right on the register terminal screen:
- PayPal & Venmo Configurations: Store owners can input Venmo handles and PayPal emails in the settings panel.
- Dynamic Deep-Linking: The register dynamically generates and renders vector QR codes matching checkout totals and specific receipt numbers:
- Venmo Deep Link:
venmo://paycharge?txn=pay&recipients=[Handle]&amount=[Total]¬e=Receipt%20[No] - PayPal Payment:
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=[Email]&amount=[Total]¤cy_code=USD&item_name=Receipt%20[No]
- Venmo Deep Link:
- Customers scan the vector QR image using their phone camera to instantly complete mobile payments, while cashiers mark it as paid on the screen to finalize.
3. Manual Catalog Filtering (No-Scanner Mode)
For checkout stands without active barcode scanners, or for ringing up booth items manually:
- Added a Booth / Catalog filter selector directly adjacent to the register catalog search bar.
- scopes queries specifically to default catalogs, direct mall sales, or individual booth vendor profiles.
- Scoped items can be rung up by typing matching names, item descriptions, or numeric UPC codes.
4. Managed Remote Sync & Cloud Tunnels
Connecting a local offline register database to the web (for offsite inventory audits, sales reports, and merchant dashboards) is now a single-click action:
- Cloudflare Zero Trust integration: Created a background spawner manager (
tunnelManager.js) that runs and manages localcloudflaredbackground processes. - Dynamic Subdomains: Tunnels automatically fetch provisioned tokens and connect the local SQLite instance to custom secure subdomains like
https://[shop-id].shufunk-sync.com. - Licensing Simulator: Implemented a mock licensing validation server verifying subscription tiers and Stripe billing keys before establishing cloud links.
5. Optimized Countertop Tablet Register Layout
We redesigned the desktop register into a premium, responsive widescreen layout optimized for iPads and Android countertop tablets:
- Accordion Configuration Header: The large register configuration panel (mall metadata, printer styling modes) is now hidden behind a collapsible header accordion, starting collapsed by default on tablet screens to save vertical space.
- Widescreen Catalog Grid: The items catalog search grid scales dynamically to fill widescreen formats, rendering larger touch tiles with tactile click scales.
- Interactive Touch Cart Workspace: Swapped static printed receipt previews on the right with a full checkout sidebar, offering:
- Large touch-friendly quantity modifier controls (
+/-) and clear cart options. - Bold checkout action tiles: Pay via Card, Pay via QR, and Print Customer Receipt.
- Large touch-friendly quantity modifier controls (
6. ESC/POS Direct Thermal Printing
Instead of opening standard, print-dialog-heavy browser windows (window.print()), cashiers can now stream receipts directly to thermal paper roll printers:
- ESC/POS Binary Encoder: Created
escposEncoder.jsto compile receipt details into formatted Latin1 binary command buffers (including double-size titles, column margins, auto-cuts, and cash drawer kicks). - Direct TCP Port Streaming: Created a backend route (
/api/pos/print) that opens raw sockets to print directly to network printers on Port 9100. - Background Checkouts: If direct printing is enabled in settings, receipts print instantly in the background without launching browser dialog overlays, providing status alerts inside the register workspace.
🧪 Integration Verification
All integrations have been backed by extensive integration testing to guarantee high uptime:
tests/pos-card.test.js(8/8 Passed): Verified checkout status flows, square cancellations, webhook processors, training mode delay overrides, and QR logging.tests/sync-tunnel.test.js(3/3 Passed): Asserted token masking, license key handshakes, and Cloudflare daemon lifecycle management.tests/escpos-print.test.js(3/3 Passed): Verified printer settings retrieval, ESC/POS byte sequence compilation, and print endpoint dispatchers.
This release represents a massive step forward in transforming our application into a state-of-the-art POS countertop platform!