> ## 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.

# Release v2.491.4

> Released August 19, 2026

## 🔴 Release v2.491.4

⭐⭐ Moderate • 27 commits • 357 files

<Note>
  v2.491.4 brings powerful leaderboard management tools for platform admins, enhanced challenge design options for community managers, and improved widget accessibility for end users. This release focuses on competitive fairness, engagement through surprise mechanics, and faster time-to-launch.
</Note>

## What's New

* **Distribute Leaderboard Periods** – End a leaderboard period and automatically distribute reward allocations to top performers directly from the admin rankings interface
* **Leaderboard Exclusion Management** – Add or remove specific users from leaderboard competitions to ensure fair play and competitive balance
* **Secret Action Titles** – Create actions with hidden titles that reveal to users only after they complete them, adding surprise and discovery moments
* **Anonymous Widget Browsing** – Logged-out users can now explore challenges, rewards, and leaderboards before signing in
* **Launch-Readiness Checklist** – Interactive dashboard shows exactly what's blocking your community from going live with step-by-step guidance
* **Google Sign-In Recovery** – Fixed authentication issue where orphaned accounts were preventing proper sign-in recovery

## Apps Updated

<CardGroup cols={3}>
  <Card title="User App" icon="mobile">
    ✓ Updated - Anonymous widget support, secret titles, auth recovery
  </Card>

  <Card title="API" icon="server">
    ✓ Updated - Leaderboard APIs, launch-readiness engine, period distribution
  </Card>

  <Card title="Admin" icon="gear">
    ✓ Updated - Period distribution UI, exclusion management, launch checklist
  </Card>

  <Card title="MCP Server" icon="robot">
    ✓ Updated - Action schema updates, secret-title support
  </Card>

  <Card title="Games" icon="gamepad">
    ✓ Updated - Test isolation, icon recovery
  </Card>

  <Card title="Design System" icon="palette">
    ✓ Updated - i18n translations
  </Card>
</CardGroup>

## Detailed Changes

<AccordionGroup>
  <Accordion title="Admin" icon="gear">
    **Feat: Distribute Leaderboard Periods from Rankings**

    * New "Distribute Period" button in the admin leaderboard rankings view
    * Manually trigger reward distribution for finished leaderboard periods
    * Automatically allocates rewards to top performers (50 points for 1st, 30 for 2nd, 20 for 3rd)
    * Exactly-once execution prevents duplicate reward assignments
    * Historic periods view shows all past distributions with audit trail
    * Guided workflow with confirmation and rollback safety

    **Feat: Leaderboard Exclusion Lists**

    * Built exclusion-list manager in leaderboard settings
    * Search and add/remove users from competitions
    * Changes are retroactive (recalculates current period rankings)
    * Maintains audit history of all exclusion changes
    * Users remain visible in historical leaderboard data

    **Feat: Launch-Readiness Checklist**

    * Interactive dashboard replacing generic loading spinners
    * Lists all requirements for launching a community
    * Shows specific guidance on what's missing and why
    * Direct links to fix each blocker (create challenges, set up leaderboards, etc.)
    * Weighted scoring shows launch readiness percentage
    * Challenge link validation ensures all actions are properly connected

    **Fix: Chat Agent Tool Approval Queue**

    * Fixed toolName type error in held-queue release handler
    * Improved approval state management and recovery
    * Better error messaging when tools fail during approval workflow

    **Improve: Admin Chat UX**

    * Enhanced feedback visibility for agent operations
    * Better state recovery after tool releases
    * Improved error handling in chat message processing
  </Accordion>

  <Accordion title="API" icon="server">
    **Feat: Distribute Leaderboard Period Endpoint**

    * New `distribute-leaderboard-period` mutation with named period support
    * Idempotent reward allocation using nonce-based tracking
    * Prevents duplicate payments via operation-idempotency service
    * Validates period eligibility before distribution
    * Calculates reward allocations based on final rankings
    * Returns distribution summary with affected users and rewards

    **Feat: Leaderboard Exclusion Management APIs**

    * `get-excluded-users-for-leaderboard-config` – list all excluded users
    * `update-leaderboard-config-excluded-users` – add/remove users in batch
    * Full CRUD with audit logging
    * Retroactive ranking recalculation when exclusions change
    * Validates user membership in community

    **Feat: Launch-Readiness Criteria Engine**

    * Comprehensive readiness validation for new communities
    * Checks: challenges configured, actions linked, leaderboards set up, themes applied, rewards defined
    * Returns ordered checklist with blocker severity levels
    * `build-community-readiness` service scores launch preparation
    * Scheduled health checks keep readiness state current

    **Feat: Challenge Link Validation**

    * New `check-challenge-links` service validates action connections
    * Detects orphaned actions not linked to challenges
    * Prevents broken user journeys in challenges
    * Detailed report on validation failures

    **Improve: Community Readiness Scoring**

    * Weighted requirement checks (some blockers are more critical)
    * Per-community validation with caching for performance
    * Agent context injection for onboarding guidance
    * Fallback to main branch scripts for preview launches

    **Fix: Leaderboard Config Access Control**

    * Enforced community access checks on leaderboard config get-by-id
    * Prevents cross-community data exposure
  </Accordion>

  <Accordion title="User App" icon="mobile">
    **Feat: Anonymous Widget Browsing**

    * Logged-out users can explore challenges and rewards without signing in
    * Guest access to home view, tier sections, and quick-action cards
    * Anonymous session state tracked separately from authenticated sessions
    * Sign-in drawer appears when user attempts to join or claim rewards
    * Seamless transition from guest to authenticated session

    **Feat: Per-Action Secret Titles**

    * Challenge creators can set hidden action titles
    * Users see placeholder (e.g., "??") before completion
    * Reveals actual title after action completion
    * Supports multi-language secret title text
    * Stored separately from action display names

    **Feat: Action Title Reveal Logic**

    * `use-revealed-action` hook manages reveal state
    * Tracks user completion status to determine what to display
    * Graceful handling of missing or unresolvable secret titles
    * Works across all action wizard variants and surfaces

    **Fix: Google Sign-In Recovery**

    * Healed orphaned authentication accounts in MongoDB adapter
    * Fixes case where Google sign-in was blocked by incomplete auth records
    * Automatic account reconstruction on next authentication attempt
    * Normalized NextAuth error codes for consistent error handling

    **Fix: Anonymous Widget Content Display**

    * Improved state management for guest users
    * Fixed tier section rendering in anonymous context
    * Better handling of empty states and loading indicators
    * Referral section gating for anonymous users

    **Improve: Widget Sign-In Drawer**

    * Cleaner state transitions between guest and authenticated modes
    * Better error recovery after authentication failures
    * Improved UX for users switching between accounts
  </Accordion>

  <Accordion title="Games" icon="gamepad">
    **Fix: Test Isolation**

    * Fixed games test isolation issues that were interfering with launch gate
    * Self-inflicted 409 conflicts resolved through better state cleanup
    * Improved test data seeding to prevent cross-test pollution

    **Fix: Tutorial Icon Recovery**

    * Restored tutorial icons when stored copy has unresolvable values
    * Graceful fallback to default icons when custom values are missing
    * Better error handling in icon asset resolution
  </Accordion>

  <Accordion title="MCP Server" icon="robot">
    **Feat: Action Secret Title Schema**

    * Added `secretTitle` field to action creation input
    * Updated action output mapper to expose secret-title state
    * New MCP replay script for comprehensive secret-title testing
    * Full support in `create_action` and `update_action` tools

    **Improve: Tool Schemas**

    * Clearer field documentation for new secret-title feature
    * Better validation of title field lengths
  </Accordion>

  <Accordion title="Design System & API Client" icon="puzzle">
    **Feat: Internationalization**

    * Added translation keys for secret action titles (English, German, Spanish, French, Portuguese, Chinese)
    * Added keys for anonymous widget copy across all supported languages

    **Feat: Auto-Generated Client Types**

    * Generated leaderboard-exclusion operation types
    * Generated period-distribution operation types
    * Added launch-readiness query types
    * New DTOs for all API changes

    **Feat: Model Updates**

    * `LeaderboardExclusionListDto` – tracks excluded users with timestamps
    * `DistributeLeaderboardRewardsInputDto` – configures period distribution
    * `LaunchReadinessCriteriaDto` – weighted readiness scoring
    * `CommunityLaunchBlockerDto` – detailed blocker descriptions
    * `ActionSecretTitleDto` – secret title configuration
  </Accordion>
</AccordionGroup>

## Admin Highlights

* **Distribute Leaderboard Periods** – End a leaderboard period and automatically distribute reward allocations to top performers directly from the admin rankings interface; supports exactly-once execution to prevent duplicate rewards
* **Leaderboard Exclusion Lists** – Add or remove specific users from leaderboard competitions to ensure fair play, handle disputes, or balance competitive tiers; built with full audit trail and revision history
* **Launch-Readiness Checklist** – New interactive dashboard showing every requirement for launching a community, with specific guidance on missing settings and links to fix them; replaces generic spinners with actionable next steps
* **Chat Agent UX Improvements** – Better handling of approval queues, tool release workflows, and agent feedback visibility in the admin chat interface; improved error messaging and state recovery

## User Highlights

* **Secret Action Titles** – Challenge creators can set hidden titles that only show after a user completes an action, creating delightful reveal moments and encouraging discovery
* **Anonymous Widget Browsing** – Explore challenges, rewards, and leaderboards without signing in; sign up only when ready to start earning
* **Google Sign-In Recovery** – Fixed authentication issue where orphaned accounts were blocking Google sign-in recovery; accounts now reconnect properly

## Contributors

<CardGroup cols={4}>
  <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)**

    6 commits • +19,899/-1,413 lines
  </Card>

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

    **@jamescockayne**

    5 commits • +7,814/-1,123 lines
  </Card>

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

    **@[dch@wenudj.com](mailto:dch@wenudj.com)**

    6 commits • +499/-43 lines
  </Card>

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

    **@[solicshop@gmail.com](mailto:solicshop@gmail.com)**

    4 commits • +1,332/-7 lines
  </Card>

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

    **@[hienhang@hotmail.co.uk](mailto:hienhang@hotmail.co.uk)**

    2 commits • +1,042/-98 lines
  </Card>

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

    **@[tomcarroll09@duck.com](mailto:tomcarroll09@duck.com)**

    2 commits • +456/-246 lines
  </Card>

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

    **@[zuhayrk00@gmail.com](mailto:zuhayrk00@gmail.com)**

    1 commit • +510/-30 lines
  </Card>
</CardGroup>

## Release Stats

| Metric        | Value       |
| ------------- | ----------- |
| Total Commits | 27          |
| Lines Added   | +36,402     |
| Lines Removed | -2,963      |
| Files Changed | 357         |
| Release Size  | Massive 🔴  |
| Complexity    | Moderate ⭐⭐ |

***

*v2.491.4 deployed on August 19, 2026*
