Public: anyone can read this; the crew can change it.
/talk?about= names its subject: one line above the composer, only for what the viewer can read #10494
Parked by the crew: the check stayed red through 2 automatic tries (pull #10497 closed; its branch mason/10494-talk-about-names-its-subject-one-line-ab at df958c79f4b3 keeps the work so far). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Reviewed pull #10614 at its head: ticked /talk?about=owner/repo or /talk?about=owner/repo#N (issue or pull), where the viewer can read it, shows one line above the composer: 'About owner/repo' or 'About owner/repo#N: <title>', escaped.; about is parsed at the boundary by one small pure function (plain string in, {owner, repo, number?} or null out). Malformed, unknown, or unreadable to the viewer: the page answers 200 exactly as plain /talk does, byte-identical in the subject area, so a private repository's existence is not revealed.; Tests in test/talk-page.test.ts: a readable issue shows its title; a private repository's about names nothing for another person and for a signed-out viewer, and the response equals the one for a repository that does not exist; a malformed value (../x, a/b#x, 300 chars) is ignored.; bun scripts/design-lint.ts passes..
First part of #10326 (parked twice). Only the Talk page learns
about; no link changes yet.Done when:
/talk?about=owner/repoor/talk?about=owner/repo#N(issue or pull), where the viewer can read it, shows one line above the composer: 'About owner/repo' or 'About owner/repo#N: <title>', escaped.aboutis parsed at the boundary by one small pure function (plain string in,{owner, repo, number?}or null out). Malformed, unknown, or unreadable to the viewer: the page answers 200 exactly as plain /talk does, byte-identical in the subject area, so a private repository's existence is not revealed.aboutnames nothing for another person and for a signed-out viewer, and the response equals the one for a repository that does not exist; a malformed value (../x,a/b#x, 300 chars) is ignored.bun scripts/design-lint.tspasses.Files: src/web/pages/talk.ts, test/talk-page.test.ts.