π΄ Release v2.371.2
βββ Complex β’ 15 commits β’ 164 filesThis massive release brings enterprise-grade UI customization through Lite experience settings, powerful admin tools for leaderboard validation and Shopify integration, improved chat AI reliability with multi-provider routing, and critical bug fixes for mobile layouts and reward distribution. Admins gain real-time filter accuracy and better setup guidance, while users enjoy fixed accessibility and improved mobile experience.
Whatβs New
- Lite experience settings with per-version preview β Design and preview multiple UI themes (calendar, journey, mono, stamp) without affecting live users
- Accurate challenge status filters in real-time β Filter badges now show exact counts instead of approximations, syncing instantly as statuses change
- Leaderboard setup validation with health panel β Catch configuration issues before launch with rank coverage indicators and dangerous-edit warnings
- Shopify integration management in admin β Configure Shopify checkout and loyalty settings directly under Widget & Launcher
- AI chat reliability improvements β Chat models now route through OpenRouter with automatic fallback to Vercel AI Gateway, reducing outages
- Mobile modal responsiveness β Modals and drawers now fit small screens without overflow, improving mobile wallet and reward flows
- Profile upload feedback β Users now see clear error messages when profile pictures fail validation
- Leaderboard reward distribution fix β Rewards now correctly distribute at and after leaderboard expiry
Admin Highlights
- Lite Experience Settings β Create multiple UI layouts (Calendar, Journey, Mono, Stamp) and preview each per-version before publishing to users
- Per-Version Live Preview β Toggle between lite versions instantly in preview mode to test themes, layouts, and brand consistency
- Shared Theme Editor β Edit colors and styling once, share across all lite experience versions in a community
- Challenge Status Filter Accuracy β Exact badge counts for Draft, Live, Paused, and Completed challenges that update in real-time
- Leaderboard Setup Health Panel β Visual rank coverage bar, participant count warnings, and dangerous-edit guards prevent misconfigured leaderboards
- Leaderboard Validation on Save β Configuration errors surfaced before publish, including missing reward allocations and insufficient rank ranges
- Shopify Integration Tab β Centralized control for Shopify checkout settings, loyalty tier configuration, and brand sync in admin settings
- AI Chat Model Reliability β Admin chat now routes through OpenRouter with gateway fallback, reducing model provider outages
- Theme Color Reset β Set brand colors to null to restore defaults during branding experiments
User Highlights
- Better Mobile Experience β Modals, drawers, and reward details now fit all screen sizes without overflow or clipping
- Profile Upload Error Messages β Clear feedback when profile pictures donβt meet requirements (size, format, dimensions)
- Accessible Reward Badges β Popular reward badges now visible and readable by screen readers on benefits cards
- Fixed Flick Game Layout β Ball stays in view during gameplay on desktop screens with proper viewport letterboxing
- Session Stability Improvements β Faster auth callback handling reduces timeouts during peak engagement periods
Detailed Changes
Admin App
Admin App
Lite Experience Settings (NUDJ-4022) β New admin interface for designing and previewing lite UI experiences. Supports Calendar, Journey, Mono, and Stamp layouts with real-time per-version preview and shared theme editing.Leaderboard Setup Validation (NJ-771) β Added health panel showing rank coverage, participant counts, and configuration warnings. Blocks dangerous edits with confirmation dialog. Validates reward allocation and assignment before save.Challenge Status Filter Accuracy (NJ-786) β Real-time badge counts for challenge statuses (Draft, Live, Paused, Completed). Powered by new
CommunityReadinessService with comprehensive challenge analysis.Shopify Integration Tab (NJ-762) β Moved Shopify setup under Widget & Launcher settings. Consolidates checkout, rewards, and brand configuration.AI Chat Model Routing (NUDJ-0000) β All admin chat now routes through OpenRouter with automatic fallback to Vercel AI Gateway. Improves reliability and reduces single-provider dependency.Brand Color Nullification (NJ-889) β Admins can now set brand colors to null in branding config, resetting to default theme colors.User App
User App
Modal Responsiveness (NUDJ-578) β Fixed overflow and clipping on small screens. Updated modal-viewport component and spend-view flow for responsive layouts. Improved purchase flows (asset, giveaway) and reward detail pages.Profile Upload Feedback (NUDJ-678) β Users now see validation errors when profile picture uploads fail. Updated upload-dropzone component to surface rejection reasons in profile settings and comments.Session Optimization (NUDJ-0000) β Avoid after-phase request APIs in NextAuth session callback to prevent timeouts during high engagement periods.Accessibility Improvements (NJ-857) β Popular reward badge on benefits cards now properly visible and exposed to screen readers. Updated spend-view styling across widget and main app.Lite Experience Routes β New routes for each lite experience variant (calendar, journey, mono, stamp) with full challenge, action, and wallet support.
API
API
Leaderboard Distribution Fix (NJ-769) β Corrected logic to distribute leaderboard rewards properly at and after expiry. Added comprehensive integration tests for distribution event triggers.Leaderboard Validation β New
validate-leaderboard-config-setup.ts validates configuration completeness. New service CommunityReadinessService (1036 lines) provides real-time challenge status analysis for accurate filter badges.Theme API Enhancement (NJ-889) β Updated style-platform-config-dto.model.ts to accept null values for color reset. Added comprehensive null-handling tests.Policy URL Persistence (NJ-891) β Community legal policy URLs now persist correctly on branding save.Distribution Index β Added distribution_event_allocations_index for optimized leaderboard distribution queries.Games App
Games App
Flick Game Viewport (NJ-893) β Fixed letterbox aspect ratio for flick game play area. Ball now stays in view on desktop screens with proper portrait orientation constraints.
Breaking Changes
None in this release.Technical Notes
Lite Experience Architecture β Community-gated feature enabling multiple UI layouts stored incommunity.liteConfig. Each layout (Calendar, Journey, Mono, Stamp) is independently designed with shared theme inheritance.
CommunityReadinessService β New 1036-line service replacing AuthConfigService for real-time community configuration analysis. Powers accurate challenge status badges, leaderboard validation, and setup health checks.
Leaderboard Distribution β Fixed edge case where distribution events queued after leaderboard expiry didnβt trigger correctly. Now properly handles statuses Expired, CompletedExpired, and PausedExpired.
Chat Model Routing β OpenRouter primary with Vercel AI Gateway fallback improves resilience. OpenRouter unavailability (missing API key) gracefully falls back without service interruption.
Database β New distribution event allocations index on leaderboard config ID for optimized reward distribution queries.
Per-App Changes
| App | Type | Summary |
|---|---|---|
| Admin | feat | Lite experience settings, leaderboard validation, Shopify integration, challenge status accuracy |
| User | fix | Modal responsiveness, profile upload feedback, session optimization, accessibility |
| API | fix | Leaderboard distribution, validation, policy persistence, theme colors |
| Games | fix | Flick game viewport letterboxing |
| Database | chore | Distribution event allocations index |
| Design System | chore | i18n entries for accessibility badges |
Contributors
Derek Counihan6 commits β’ +1,796/-338 lines
James Cockayne2 commits β’ +2,898/-1,079 lines
Mo2 commits β’ +2,573/-522 lines
Zuhayrul Karim1 commit β’ +1,559/-38 lines
David Chen3 commits β’ +155/-15 linesRelease Stats
| Metric | Value |
|---|---|
| Total Commits | 15 |
| Lines Added | +9,384 |
| Lines Removed | -2,227 |
| Files Changed | 164 |
| Release Size | π΄ Massive |
| Complexity | βββ Complex |
v2.371.2 deployed on June 9, 2026

