Skip to main content

🟠 Release v2.292.2

⭐⭐ Complexity • 4 commits • 52 files • 6,992 additions • 223 deletions
Shopify checkout integration complete. Customers now see exactly how many points they’ll earn during checkout. Plus critical stability fixes for production API operations.

What’s New

  • 💰 Points at Checkout Preview – Shopify Plus merchants can now show customers a live points preview directly in the native checkout, with optional tier progression and point breakdown
  • 🛡️ Production API Stability – Fixed critical module dependency issue preventing reward operations in production
  • ✅ Shopify Platform Compliance – Widget names now comply with Shopify’s 25-character limit across all checkout block variants

Apps Updated

Shopify App

✓ Updated - 49 files changed

API

✓ Updated - 2 files changed

User App

— No changes

Admin

— No changes

MCP Server

— No changes

Games

— No changes

For Merchants & Shopify Store Managers

💰 Points at Checkout Widget
  • Enable a live points preview in your Shopify Plus checkout flow (not just the cart page)
  • Show customers exactly how many points they’ll earn before completing their purchase
  • Choose between three display variants: Compact, Standard, or Enhanced
  • Optional tier progress bar shows customers how close they are to reaching the next tier
  • Optional point breakdown shows which products earn bonus points
  • Consistent styling with your main Nudj community widget theme
🎯 Placement & Configuration
  • Merchant can add the block via Shopify checkout editor (Settings > Checkout > Customize > Add block)
  • Works seamlessly with the existing cart-page points preview widget
  • Full end-to-end customer journey: browse → cart preview → checkout confirmation
  • Backend automatically calculates tier state and point multipliers from community configuration
✅ Platform Compliance
  • All widget block names now comply with Shopify’s 25-character limit
  • “Nudj Points at Checkout (Drawer)” → “Nudj Checkout Drawer” (transparent shortening)
  • No action required from merchants — compatibility is automatic

For End Users (Shopify Customers)

💰 See Your Reward Before Checkout
  • Live points preview appears in the Shopify checkout
  • Know exactly how many points you’re earning before hitting “Complete Order”
  • See your tier level and progress toward the next tier (if enabled)
  • Consistent experience with the cart-page points preview

Architecture & Performance

Checkout UI Extension Architecture

The Points at Checkout widget is built as a Shopify Checkout UI Extension (not App Proxy) for seamless native checkout integration:
  • Authentication: Shopify session token verification + optional JWT for additional security
  • Context Endpoint: /api/checkout-widget-context — provides points config, shop info, and customer state
  • Tier State Endpoint: /api/user-tier-state-checkout — provides tier multipliers and progress
  • Framework: Preact + Shopify UI Components for lightweight native integration
  • Payload Reuse: Shares buildUserTierStatePayload() with Theme App Extension for single source of truth on tier logic

Critical API Hotfix

Fixed a module circular dependency in the participation management service that was preventing reward operations (withQueuedRetry) from working in production. The fix breaks the cycle by importing specific utilities directly instead of through the barrel index.

Detailed Changes

  • Checkout UI Extension – New Shopify Checkout UI Extension bundle with Preact-based points preview
  • Checkout context handler – Server-side handler verifying Shopify session tokens and returning points config + JWT
  • Checkout tier state handler – Reuses production tier calculation logic for checkout context
  • Points calculation library – Pure calculation function for client-side points preview (synced with Theme App Ext logic)
  • Direct API routes/api/checkout-widget-context and /api/user-tier-state-checkout for checkout integration
  • Widget builder script – Automated copy of calculation logic from services to Theme App Extension static assets
  • Responsive UI components – Shopify web component-based layouts for Compact/Standard/Enhanced variants
  • Schema compliance – Widget block names shortened to meet Shopify 25-character limit
  • Module dependency fix – Broken circular dependency in participation management service preventing withQueuedRetry in production
  • Test import pattern – Fixed test import to use direct module path instead of barrel index

Breaking Changes

None. All changes are additive and backward compatible.

Migration Guide

No migration needed. The Points at Checkout widget is available immediately for merchants using Shopify Plus checkout. Existing cart-page points preview continues to work unchanged.

Contributor Highlights

Saad@SaadK942 commits • +6,735/-220 lines

James Cockayne@jamescockayne1 commit • +6/-3 lines

Release Stats

MetricValue
Total Commits4
Lines Added+6,992
Lines Removed-223
Files Changed52
Release Size🟠 Large
Complexity⭐⭐ Moderate

v2.292.2 deployed on April 16, 2026