feat(S3): seção de conteúdos da home de campanha inclui os posts do Instagram #71
Loading…
Reference in a new issue
No description provided.
Delete branch "S3-secao-de-conteudos-na-home-de-campanha-instagram"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
S3 — a seção "Acompanhe de perto" da home de campanha (S1 artigos + S2 YouTube) ganha os posts do Instagram oficial, completando o board do plano-site §4.2.
src/utilities/socialFeed/instagramFeed.ts— os feeds externos mudaram para o subfoldersocialFeed/(o pin da S2 predizia exatamente isso;git mvpreserva o histórico): Graph API (/mediacomchildrenp/ carrossel + username),unstable_cachetagsocial-feed+revalidate: 300, snapshot cru pré-exclusão persistido via SQL direto, refresh de token automático (refresh-on-failure + retry; só tokens de Instagram Login — page tokens caem no fail-closed, nota no admin).InstagramPostExclusionPicker, campoui+ importmap) — lista os posts do snapshot com thumbnail e toggle "Não exibir" que escreve emexcludedItems(mecanismo unificado da S2).coverAspect: 'square'(1:1 do rascunho aprovado), badge "Instagram", título = legenda (fallback p/ post de grade sem legenda), clique nopermalink(nova aba), link "Seguir no Instagram →".SocialFeedSettingsestendida (5 campos IG) — migration20260818_192948_add_instagram_social_feed_fieldsnão destrutiva.socialStub.ts) — 3 testes novos no describe serial + kill switch estendido + smoke do picker no admin. Local: 9/9 serial + 1/1 admin; prod-mode 9/9 ×2; unit 2351 + int 791; gates verdes.page.goto('/')servia a cópia stale do cache heurístico do Chromium (ISR s-maxage sem max-age) após o bust — navegação com URL única/?e2e=<ts>erra todas as entradas de cache; e2e (1) e (2) verdes no CI.Impl plan:
docs/plans/secao-conteudos-home-instagram-impl.md(aprovado no gate humano). Closes #20.changelog-rewrite: rebase dos 3 commits de main (S6-FOLLOWUP, OPS62, OPS63) — o
pnpm changelog:builddeduplicou blocos idênticos duplicados no agregado de main (S6-FOLLOWUP/OPS61/OPS62 apareciam 2×; mesmo texto, sem perda).9108f441bcto46038d5a6a