Skip to main content

🔴 Release v2.407.0

⭐⭐⭐ Complex • 56 commits • 331 files changed
A massive release focused on Shopify monetization, community security, and platform polish. Introduces Shopify billing plans with entitlements, on-site content for product pages and checkout, community password protection, expanded Brand Memory, and significant performance improvements to wallet rendering.

What’s New

  • Shopify Billing Plans & Entitlements — Complete plan-based feature gating system with paywall modals for tier-restricted features
  • Points on Product Page — Merchant-facing feature displaying point-earning opportunities inline with products on Shopify stores
  • Redeem at Checkout — Streamlined checkout redemption UI integrated into Shopify checkout pages
  • Community Password Protection — Secure password gates on branded communities with hashed storage and write-only validation
  • Brand Memory Expansion — 5x larger text fields (2,000 → 10,000 characters) with real-time character counters
  • New Fraunces Serif Font — Brand-new serif typography option for community customization
  • Wallet Performance — Optimized predictions endpoint reducing load times on wallet views
  • Admin Engagement Creation — Simplified UI for creating challenges, games, and leaderboards directly from the admin dashboard

Apps Updated

User App

✓ Updated - Password protection, mobile fixes, performance improvements

API

✓ Updated - Wallet hydration, contact email, reward fixes

Admin

✓ Updated - Engagement creation, Brand Memory, cache refresh, UI polish

Shopify

✓ Updated - Billing, on-site content, font selector, security

Games

✓ Updated - Touch controls for basketball

MCP Server

✓ Updated - Community context injection

Detailed Changes

Billing Plans & Entitlements

  • Introduced complete plan-based monetization system with Free/Premium/Max tier structure
  • Built entitlement validation layer that gates features based on active plan
  • Added paywall modal system that surfaces plan upgrade CTAs when users hit tier restrictions
  • Implemented useEntitlement() hook for simple feature access checks throughout the app
  • Created dedicated /api/entitlements endpoint for client-side entitlement queries

On-Site Content Integration

  • Points on Product Page: Wired up product-page nudge showing point values for products, enabling merchants to highlight earning opportunities inline
  • Redeem at Checkout: Integrated redemption UI directly into Shopify checkout flow with real-time preview of redemption options
  • Both features now fully configurable in the Shopify admin UI with live preview capability

Branding & Design

  • Added Fraunces (serif) font option to community font picker
  • Implemented live preview of font changes in the branding settings page
  • Enhanced radiogroup accessibility with proper ARIA labels and keyboard navigation
  • Polish: currency preset icon colors now match their label colors
  • Dashboard improvements: cleaned up home dashboard with better chart rendering and launch guide refinements

Security & Infrastructure

  • Added HMAC verification for App Proxy requests with key identity validation (NJ-976)
  • Migrated session MongoDB client to lazy-loading to reduce connection pool overhead
  • Serialized concurrent environment file writes during dev startup to prevent race conditions
  • Upgraded Nodemailer from 7.0.12 to 9.0.1 for security patches

Reporting

  • Fixed redemption rate reporting to show actual data (was displaying placeholder values)

Community Password Protection

  • Introduced passwordprotected community feature with hashed, write-only storage (no plaintext hashing at read time)
  • Password gates render as full-screen branded overlays, replacing the entire app shell until unlocked
  • Only gates Live communities; Draft/scheduled/archived communities fall through to standard 404 handling to avoid disclosing non-public communities
  • Integrated throughout all community entry points (direct links, modals, modal-less routes)

Wallet Performance

  • Optimized wallet/predictions to use new user-scoped /me/predictions endpoint instead of full-org queries
  • Implemented batched wallet hydration via cached $in reads with aggregation pipeline optimization
  • Reduced prediction queries from org-wide scans to single-user lookups, cutting typical wallet load times significantly

Stability & Mobile

  • Fixed responsive layout of Sweep game on mobile devices (width/height constraints)
  • Improved action challenge link handling for stale/completed actions
  • Fixed wallet reward CTA button visibility (was hidden in some states)
  • Enhanced action submission error handling for incomplete submissions

Wallet Optimization

  • Added /me/predictions user-scoped endpoint for efficient wallet prediction loading
  • Implemented batched hydration pattern with cached $in reads and proper aggregation
  • Reduced database load on heavily-used wallet views

Rewards & Feature Parity

  • Fixed rewards list endpoint returning 500 errors when reward supply fields were null
  • Optimized rewards hydration lookups to reduce N+1 queries
  • Improved reward display reliability across all platforms

Contact & Communication

  • Added contactEmail field to community DTO for better email routing
  • Implemented synthetic-aware email delivery resolver (routes correctly for synthetic domains)
  • Enables better targeting of admin notifications

Event Processing

  • Added processing status map to event model for event lifecycle tracking

Brand Memory Expansion

  • Increased all Brand Memory text field limits from 2,000 to 10,000 characters (5x expansion)
  • Added real-time character counters showing current usage vs. limit
  • Updated MCP tool schemas to reflect new limits

Engagement Creation

  • New “Create” options in engagement section for quick challenge/game/leaderboard creation
  • Simplified workflow: admins can now create from the dashboard without navigating to separate pages

Admin UI Improvements

  • Fixed sticky category header overlapping reward-ideas scrollbar
  • Implemented entity cache refresh after all mutations (challenges, achievements, rewards)
  • Updated rewards stat cards to refresh on mutation and sync display with rewards table
  • Fixed achievement language save timing to prevent premature view updates
  • Restored leaderboard create action that was missing in some UI states
  • Exposed anonymise leaderboard setting in community settings

Community Management

  • Injected community context into MCP tool calls for better context awareness in AI operations
  • Implemented community context injection into all tool calls for richer AI context
  • Updated Brand Memory tool schemas to support 10,000-character limits
  • Maintained backward compatibility with all existing tool interfaces
  • Fixed Basketball start control to respond to touch input (mobile support improvement)
  • Added comprehensive E2E tests for community password protection flows
  • Added comprehensive E2E tests for Shopify billing plans and entitlements
  • Added deep economy/auth/retention journey E2E tests for user app
  • Added E2E tests for branding font selector live preview
  • Added E2E tests for Redeem at Checkout configuration and preview
  • Added E2E tests for Points on Product Page configuration and preview
  • Fixed flaky concurrent-upsert test in achievement handler
  • Extended Brand Memory DTO model to support 10,000-character limits
  • Added community password protection schema to user models
  • Added entitlement and billing plan models to Shopify integration layer
  • Extended event model with processing status tracking
  • Extended community DTO with contactEmail field

Contributors

erek_d@me.com@erek_d@me.com21 commits • +25,836/-3,206 lines

solicshop@gmail.com@solicshop@gmail.com11 commits • +2,653/-439 lines

dch@wenudj.com@dch@wenudj.com11 commits • +4,530/-543 lines

ZuhayrK00@ZuhayrK005 commits • +4,329/-322 lines

jamescockayne@jamescockayne4 commits • +2,850/-158 lines

Release Stats

MetricValue
Total Commits56
Lines Added+39,340
Lines Removed−3,613
Files Changed331
Release SizeMassive 🔴
Complexity⭐⭐⭐ Complex

v2.407.0 deployed on June 29, 2026