Skip to content

Merge Develop onto Main - #2023

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
develop
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
develop

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

This PR was auto-generated - see create-release-pr.yml and
actions/github-script.
Merging this PR will trigger an automatic deployment to production.

* Modular courses: course item pages, piece-based progress and course analytics

- Course.sessions lists library pieces (video, audio, written); course pages and the new
  /courses/<course>/<folder>/<slug> route show them with the session playlist and "Next"
- pieces show activity, bonus content and "Part of" course links; library cards label them
- starting a piece inside a course starts the course (NEXT_PUBLIC_FF_COURSE_PROGRESS)
- COURSE_STARTED / COURSE_COMPLETED logged from backend responses for every course type
- cached per-locale course list, cleared by the revalidate webhook
- deployment runbook in docs/modular-courses-plan.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove the course progress feature flag

Turning it off only stopped modular courses from ever starting, and as a build-time flag it
needed a redeploy anyway, so reverting is the rollback instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Name course content "resource", not "item" or "piece"

Renames the course resource route segment to [resourceSlug], the new helpers, types and
variables, the GA parameters to course_resource_position and course_trigger 'course_resource',
and the plan doc, matching the domain terms used by the backend and Storyblok.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Simplify course progress helpers

- resourceProgressByUuid replaces the session-and-resource map: modular courses only list
  resources in Step A, so the course sessions it also collected were never read
- pass courseStoryblokUuid straight through; undefined is dropped from the request body
- clarify why the course resource route needs the folder segment and its sessionSlug name

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Support existing courses listing resources in some languages

A course can keep its weeks in one language and list resources in another (Turkish and
Arabic versions of existing English courses). Session pages now always read the weeks, and
the course page hides the intro video where the course lists resources, since that video
falls back to the English one. Content guide covers the setup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Resolve language-only course resources; in-course "also part of" label

- Storyblok only resolves Course.sessions when the default language lists resources too, so a
  course keeping its weeks in English got bare uuids in Turkish and Arabic. Fetch those by uuid
  for the course and course resource routes.
- Inside a course, the other courses a resource belongs to are introduced with "This session is
  also part of course(s):", translated in all 8 locales.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Runbook: Turkish and Arabic course drafts and translation review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Runbook: drop the removed hold tag

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Grounding exercises as course steps; gate courses with nothing in this locale

A modular course can now list grounding exercises. Inside a course they render
on the written/activity page and are marked done like a written resource,
counting towards completion. A course offered only in other languages shows
"not available in your language" instead of an empty page. Runbook covers the
three new Turkish and Arabic drafts; style guides no longer call courses
English only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* translations

* Docs: courses, sessions and resources guide; modular courses plan as released

Adds a developer guide to the content model (weeks vs resource lists per
language, routes, progress, access, adding a course). Rewrites the modular
courses plan as Step A released plus the Step B plan to convert sessions into
resources. Fixes two stale comments.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
bloom-frontend Ready Ready Preview Nov 3, 2026 6:47pm UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — e77cc239 Deployed Nov 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant