Skip to content

Featured Missions Description is blank on Tutorial Navigator Page #1941

Closed

Description

@jung-thomas
Image

Activity

  1. added 2 commits that reference this issue on Aug 20, 2026
  2. jung-thomas commented on Aug 20, 2026

    @jung-thomas
    ContributorAuthor

    Fixed in #1945 (merged to DEV).

    Root cause

    Commit 0d202e3f (2026-08-16, the /browse/ CLS perf fix) changed the shared card partials browse/_partials/card-{mission,group,tutorial}.html to expect a { item, categories } dict context. The /browse/ call sites were updated, but hugo/layouts/tutorial-navigator/list.html kept passing the bare card object.

    Inside the partial, {{ $item := .item }} then resolved to nil, so every field — href, title, description, level, time, tag — rendered empty. The reporter noticed the blank description, but the whole card was blank (empty title/link too, "0 min." meta).

    Why it was visible on the live site: /build/featured returns [] on both DEV and PROD, so the client featured-rail.js upgrade fail-silently keeps the SSR markup. That SSR markup was the broken bare-$item path → empty MISSION cards on /tutorial-navigator/.

    Fix

    • Build a $categoriesMap (slug→label) from browse.categories, mirroring browse/list.html.
    • Wrap both partial-call sites (the SSR preview grid and the Featured rail) in (dict "item" $item "categories" $categoriesMap).

    Verified with a manual Hugo build (cards now render title, description, level, time, tutorial count, tag, and category chip) and a new render assertion in test/unit/hugo-homepage-partials.test.ts that was red before the fix, green after.

    Follow-up note

    hugo/layouts/partials/homepage/tutorials-teaser.html has the same latent bare-$item bug but is not included by any layout (dead partial), so it was left untouched. Worth fixing or deleting if it's ever revived.

  3. added a commit that references this issue on Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions