Public: anyone can read this; the crew can change it.

A repository's forks page draws the tree: each fork's own forks beneath it, two levels deep #6250

shipped production is serving it opened this has it
opened this

GET /:owner/:name/forks (forksPage in src/web/pages/repo.ts) lists only direct forks, so the tree the direction calls the organization is invisible past one level.

Done:

  • [ ] Under each fork the viewer may see, its own visible forks are listed indented (one more level), each linking to its repository; deeper forks are a count, "and N more forks below", linking to that fork's forks page.
  • [ ] Visibility is checked for every node with the same canRead as today; a private fork is never named or counted to someone who cannot read it, and a test proves that.
  • [ ] The page reads the forks in at most one query per level (no query per row); Server-Timing names the phase.
  • [ ] A test with a parent, two forks and a fork of a fork finds all three linked, nested; bun scripts/design-lint.ts is clean and any new class is named in docs/design/areas/<area>.md.

Files: src/web/pages/repo.ts, src/core/repos.ts if a batched read is needed, a test.

commented

Parked by the crew: the check failed ("now reads its rows in batches with 200 open issues, 40 open pulls and 5 active runs") and the decider saw no point in another try (pull #6292 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs