diff --git a/internal/generate-tree.mjs b/internal/generate-tree.mjs index fbe521730..5a7b1cdce 100644 --- a/internal/generate-tree.mjs +++ b/internal/generate-tree.mjs @@ -1663,6 +1663,15 @@ function main() { staged++ } } + // people-groups/lists/*.json — the ?list= / profile-config `list` prop fetches the chosen list by name + // (frontier-500k, frontier, unreached, unengaged), so the whole folder ships. Missing, every non-default + // list 404'd on the built tree and drew 0 pins (go-int / rega at a71007f1). + const listsSrc = join(pubAssets, 'people-groups', 'lists') + if (existsSync(listsSrc)) { + const listsDest = join(treeAssets, 'people-groups', 'lists') + mkdirSync(listsDest, { recursive: true }) + for (const f of readdirSync(listsSrc)) { if (!f.endsWith('.json')) continue; cpSync(join(listsSrc, f), join(listsDest, f)); staged++ } + } // previews/ + posters/ — the poster walls fetch these PER CARD, lazily, by id // (`${assetsBase}/previews/.webp`, `${assetsBase}/posters/.webp`), so the // name is dynamic and the whole folder ships. They are the bulk of the tree