🟠 Release v2.292.2
⭐⭐ Complexity • 4 commits • 52 files • 6,992 additions • 223 deletionsShopify 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
- 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
- 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
Shopify App
Shopify App
- 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-contextand/api/user-tier-state-checkoutfor 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
API
API
- 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
@SaadK942 commits • +6,735/-220 lines
@jamescockayne1 commit • +6/-3 linesRelease Stats
| Metric | Value |
|---|---|
| Total Commits | 4 |
| Lines Added | +6,992 |
| Lines Removed | -223 |
| Files Changed | 52 |
| Release Size | 🟠 Large |
| Complexity | ⭐⭐ Moderate |
v2.292.2 deployed on April 16, 2026

