> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# v2.407.17

> Released June 30, 2026

## 🔵 v2.407.17

⭐ Simple • 4 commits • 12 files

<Note>
  This release stabilizes the rewards system and fixes the widget landing page configuration. We reverted a complex optimization that was causing issues, eliminated 500 errors when fetching rewards linked to legacy achievement data, and restored the widget landing page toggle to work as intended for new communities.
</Note>

## What's New

* **Rewards system stability** – Fixed critical 500 errors when fetching rewards linked to achievements with incomplete data
* **Widget landing page control** – The standalone landing page toggle now works correctly and defaults to enabled for new communities
* **Simplified architecture** – Removed complex optimization layer that was introducing reliability issues; system now uses proven aggregation approach

## Apps Updated

<CardGroup cols={3}>
  <Card title="User App" icon="mobile">
    ✓ Updated - Widget landing page behavior fix
  </Card>

  <Card title="API" icon="server">
    ✓ Updated - Rewards hydration stability improvements
  </Card>

  <Card title="Admin" icon="gear">
    ✓ Updated - Widget settings UI fix
  </Card>

  <Card title="MCP Server" icon="robot">
    — No changes
  </Card>

  <Card title="Games" icon="gamepad">
    — No changes
  </Card>

  <Card title="Database" icon="database">
    ✓ Updated - Migration cleanup
  </Card>
</CardGroup>

## Detailed Changes

<AccordionGroup>
  <Accordion title="API" icon="server">
    ### Rewards System Reliability

    **Fixed 500 errors when fetching rewards with legacy achievement data** – The `getPaginatedRewards` endpoint was failing when a reward was linked to an achievement tier that lacked a complete `criteria` configuration. This occurred with legacy or partially-migrated achievement documents. The fix ensures the rewards mapper always returns fully-populated achievement progress data, preventing schema validation failures downstream.

    **Simplified rewards aggregation architecture** – Reverted the complex rewards hydration optimization introduced in v2.407.13 that used specialized database indexes and lookup queries. This simplification restores the proven aggregation pipeline while maintaining the same API contract and performance characteristics.

    **Changes:**

    * Fixed `getDefaultAchievementProgress` helper to handle missing or null criteria gracefully
    * Updated reward-to-integration mapper to always produce valid schema output
    * Removed complex hydration lookup layer and associated database migrations
    * Added comprehensive test coverage for legacy/malformed achievement tier data
  </Accordion>

  <Accordion title="Admin" icon="gear">
    ### Widget Landing Page Configuration

    **Widget settings section now displays correctly** – The "Standalone landing page" section in Community Settings > Brand Kit was collapsed by default and didn't display the landing-page toggle control. Now it expands on load so admins can immediately see and adjust the landing-page settings.

    **Changes:**

    * Fixed the section defaultOpen behavior in brand-kit settings
    * Added tests confirming the toggle renders and functions correctly
  </Accordion>

  <Accordion title="User App" icon="mobile">
    ### Widget Landing Page Behavior

    **Landing page now enabled by default for new communities** – The widget's standalone landing page (shown to logged-out visitors who open the widget URL directly) was defaulting to disabled when no configuration existed. Now it defaults to enabled, providing new communities with an immediate branded welcome experience.

    **Changes:**

    * Updated landing config resolver to default `enabled: true` instead of `false`
    * Updated tests to reflect the new default behavior
  </Accordion>
</AccordionGroup>

## Admin Highlights

* **Widget Landing Page Settings** – The "Standalone landing page" section in Community Settings > Brand Kit now opens by default and properly displays the toggle control for enabling/disabling the logged-out landing experience
* **Rewards Fetching Reliability** – Eliminated 500 errors that occurred when fetching rewards linked to legacy achievement data; the system now gracefully handles partially-migrated achievement documents

## User Experience Improvements

* **Widget Landing Page Enabled by Default** – New communities now show the branded landing page by default when logged-out visitors access the widget URL directly, providing an immediate welcome experience instead of the bare widget
* **Stable Rewards Display** – Rewards now load reliably regardless of achievement tier configuration state, preventing display errors

## Technical Notes

This release prioritizes **stability over optimization**. The v2.407.13 rewards hydration optimization introduced significant complexity through custom lookup pipelines and database indexes. While well-intentioned, this approach created edge cases around legacy data and added surface area for bugs. The revert restores the original MongoDB aggregation pipeline, which is proven, simpler to reason about, and performs adequately for current scale.

The achievement tier criteria fix handles a regression where the system assumed all achievement tiers had complete configuration data. Legacy tiers (pre-2025) may lack the `criteria` subdoc entirely. The fix makes this optional while ensuring the API response schema remains valid and complete.

## Migration Guide

No action required. This is a backward-compatible release:

* **API consumers**: The `/rewards` endpoint behavior and schema are unchanged
* **Admins**: Widget landing page toggle now defaults to **enabled** for communities without prior configuration (new communities)
* **Database**: Old migration files have been removed; no new migrations included in this release

## Related Features

* [Widget Configuration](/admin-guide/brand-kit)
* [Achievements & Rewards](/admin-guide/achievements-rewards)
* [Integration API - Get Rewards](/developer/integration-api)

***

## Contributors

<CardGroup cols={4}>
  <Card>
    <img src="https://github.com/jamescockayne.png" alt="jamescockayne" style={{borderRadius: '50%', width: 48}} />

    **@jamescockayne**

    2 commits • +251/-663 lines
  </Card>

  <Card>
    <img src="https://github.com/erek_d@me.com.png" alt="erek_d@me.com" style={{borderRadius: '50%', width: 48}} />

    **@[erek\_d@me.com](mailto:erek_d@me.com)**

    1 commit • +63/-4 lines
  </Card>
</CardGroup>

## Release Stats

| Metric        | Value  |
| ------------- | ------ |
| Total Commits | 4      |
| Lines Added   | +322   |
| Lines Removed | -516   |
| Files Changed | 12     |
| Release Size  | Small  |
| Complexity    | Simple |

***

*v2.407.17 deployed on June 30, 2026*
