PostHog / PostHog/posthog.com

Unpublished teams keep a public team page with no members

Open
#20,278 1 comment 0 reactions 1 assignee View on GitHub

@rubychilds is already working on this.

Since Sep 17, 2026.

Dominant language
TypeScript
Stars
1.1k
Forks
907
Avg merge
1d 16h
Merged PRs (30d)
430

Description

Summary

Team pages stay publicly reachable after the team is unpublished in the CMS, and they render with an empty roster. /teams/cdp is the example that started this: the CMS record is unpublished and has no members, but the page is still live.

Cause

src/hooks/useTeam.tsx requests the team with publicationState: 'preview' for every visitor, not only for moderators. So unpublishing a team — the action behind the "Unpublish team" button, whose tooltip says the team is removed from the site on the next build — does not take the page off the public site. The page only loses its members, which is what an unpublished team with no profiles looks like.

There is a second, smaller case: a team page with no CMS record at all renders the 404 page, so redirects that pointed at removed teams (/teams/pipeline, /teams/data-warehouse, /teams/video) sent visitors to a dead end.

Affected pages

7 CMS team records have no members:

  • Dead teams: cdp, revenue-analytics, actually-ai, and posthog-ai / pipeline (already redirected)
  • Active teams that need their record published and members added, not removal: agents, ai-gateway

Related visible effects:

  • <SmallTeam /> falls back to printing the raw slug as body text when it cannot find the team, so handbook pages showed content, agents, and ai-gateway mid-sentence.
  • The /pipelines product page loads its "Meet the team" section by the team name CDP, so that section renders empty.

Fixes

#20277 archives the dead pages page by page: a redirect to the successor team, removal of the orphaned content, and repair of the three redirects that pointed at dead pages.

Still open after that PR:

  1. Request publicationState: 'preview' only for moderators, so unpublishing a team actually removes its public page. This is the fix that makes the class of problem impossible, instead of needing a redirect for each new case.
  2. Publish the agents and ai-gateway CMS records and add their members.
  3. Point the /pipelines "Meet the team" section at the team that now owns the product. This is a visual change and needs before/after screenshots.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.