Release v1.9.2: Widescreen Tablet POS registers, Dynamic QR Codes, Sync Tunnels & ESC/POS Thermal Printing

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/stripe and /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 = 1 flag (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]&note=Receipt%20[No]
    • PayPal Payment: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=[Email]&amount=[Total]&currency_code=USD&item_name=Receipt%20[No]
  • 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 local cloudflared background 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.

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.js to 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!

Leave a Comment