🟠 v2.407.13 Release
⭐⭐ Moderate Complexity • 14 commits • 51 files changedQuick admin workflows, Safari game compatibility, and AI-powered reward management. This release fixes critical admin editing issues, adds automatic cache refresh when AI creates or modifies rewards, resolves Safari tap-to-play compatibility, and improves Shopify integration stability with dynamic URL resolution and deep linking to the theme editor.
What’s New
- Instant rewards cache refresh – When Ask Nudj creates or updates rewards, the admin Rewards list, stat cards, and onboarding checklist now refresh automatically without a manual page reload
- Rich-text rewards are editable again – Fixed a database issue where AI-generated rewards with rich-text descriptions became unsavable; old corrupted data is automatically cleaned up during upgrade
- Redemption code uploads now enable Save – Fixed the admin reward form so uploading redemption codes properly marks the form as dirty and enables the Save button
- Safari users can now tap to play games – Fixed Basketball and other games to reliably start on Safari by handling the browser’s non-standard pointer event behavior
- Shopify widget resolves URLs dynamically – The Shopify widget now resolves the user app URL from platform configuration instead of using hardcoded values, enabling cleaner deployments
- Loyalty Hub setup links to theme editor – Shopify admins can now click “Loyalty Hub” in the on-site content settings to open the real Shopify theme editor for widget customization
- AI agent knows which community you’re in – MCP tool calls from Ask Nudj now include community context, so the agent creates and updates challenges and rewards in the right place
- Entity caches refresh after edits – All challenge, reward, achievement, and post edits now refresh their admin data automatically, eliminating stale data after saves
- Widget session cookies are partitioned – Improved security and privacy in iframe contexts by properly partitioning the widget’s session cookie
Apps Updated
User App
✓ Updated - Widget iframe session cookie partitioning
API
— No changes
Admin
✓ Updated - Cache refresh, form validation, AI context
MCP Server
— No changes
Games
✓ Updated - Safari pointer event handling
Database
✓ Updated - Reward data cleanup migration
Detailed Changes
Admin App
Admin App
Automatic Rewards Cache Refresh (NJ-1355)
- When Ask Nudj creates or updates rewards via MCP tools, the admin app now detects the successful mutation and automatically refreshes:
- The Rewards list and pagination table
- Reward count stat cards (asset and giveaway overviews)
- The onboarding guide status (if the first reward was just created)
- No manual page reload required—data updates live as you create
- Fixed issue where uploading redemption codes didn’t mark the form as dirty
- Save button now properly enables when you upload codes or make other redemption-step changes
- Prevents accidental data loss from unsaved edits
- All challenge, achievement, post, and reward mutations now automatically invalidate their admin cache
- Create, update, archive, and delete operations all refresh the list and detail views
- Eliminates stale data after saves without requiring a manual page reload
- Ask Nudj now includes the current community context when calling MCP tools
- Ensures AI-generated challenges and rewards are created in the correct community
- Prevents cross-community errors when bulk-managing multiple communities
Games App
Games App
Safari Tap-to-Play Compatibility (NJ-1328)
- Fixed Basketball game (and other tap-to-play games) to work reliably on Safari
- Safari reports pointer events with
button: -1instead of standard button values - Added special case handling for Safari’s pointer event quirk
- Game now starts consistently on iOS Safari, Chrome, Firefox, and other browsers
Shopify Integration
Shopify Integration
Dynamic Widget URL Resolution (NUDJ-0000, #3273)
- Widget now resolves the user app URL from platform configuration at runtime
- Removes hardcoded URL dependency, enabling cleaner multi-environment deployments
- Fixes widget functionality when deployed to custom domains or preview environments
- “Loyalty Hub” button in Shopify on-site content settings now opens the real Shopify theme editor
- Admins can customize the widget appearance without leaving the theme editor
- Marked “Nudges” as “Coming soon” (placeholder for future notification system)
- Improved security by properly partitioning widget iframe session cookies
- Complies with modern browser privacy standards (SameSite attributes)
- Reduces tracking surface area for embedded widgets
Database
Database
Reward Data Integrity Migration (NJ-1349, #3260)
- Migration cleans up stale code-only fields on non-code rewards
- Affected rewards: mostly AI-generated rewards with rich-text descriptions that carried leftover
storeandcodefields - Symptom was “redemptionConfig.store: Expected undefined, received string” validation error blocking all saves
- Migration runs automatically on upgrade; no admin action required
- Fixes editability of previously unsavable rewards
Contributors
@jamescockayne3 commits • +328/-17 lines
@dch3 commits • +841/-219 lines
@erek_d2 commits • +2989/-64 lines
@tomcarroll091 commit • +84/-1 linesRelease Stats
| Metric | Value |
|---|---|
| Total Commits | 14 |
| Lines Added | +5,330 |
| Lines Removed | -320 |
| Files Changed | 51 |
| Complexity | ⭐⭐ Moderate |
| Size | 🟠 Large |
Migration Notes
Database Migration Required: The automatic reward data cleanup migration will run on startup. This is a safe, read-only-first migration that only removes invalid fields from rewards with non-code redemption types. No admin action needed.v2.407.13 deployed on June 30, 2026

