Skip to content

a contact page, and the mailto stops being invisible - #2756

Merged
Flotapponnier merged 1 commit into
mainfrom
cherry/contact-page
Oct 1, 2026
Merged

Flotapponnier merged 1 commit into
mainfrom
cherry/contact-page

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Cherry-pick of ac59dff1 from dev (#2755). This commit only — dev carries 15 others that stay there.

/contact routes each kind of request to the channel that answers it (data-quality template, provider-correction template, benchmark proposal, private security advisory) with the email address last and unconditional. No form, and a closing section on what we cannot do, because those requests arrive anyway.

The part that mattered more: posthog-provider.tsx returned early on any non-http(s) protocol, which is right for the cursor:// and vscode: deeplinks and silently dropped every mailto. The only contact channel the site had was the only surface it never measured, so "nobody wrote to us" and "we never looked" were the same zero. A mailto now fires contact_click with the page it came from, and no address.

Also caught: the sitemap gained a duplicate /contact while this was written, because grepping "/contact" misses a template literal `${SITE.url}/contact` — the same defect behind yesterday's duplicate /chains/cosmos-hub. The static route list now has a test that fails on any repeat.

Verified after the pick: tsc --noEmit clean, 395 tests pass, diff against origin/main is exactly the 7 files of the original commit.

There was no contact page. The address lived in the footer and on three
other pages, so every kind of request arrived in one inbox with no
context, and the pages carrying it drew about 1 % of the traffic.

The page routes a request to the channel that answers it. A wrong number
goes to the data-quality template, which asks for the bench slug and the
value and is therefore checkable. A provider correcting their own entry
goes to the provider template, which asks who they are so the change can
be attributed. A benchmark proposal goes through an issue before anyone
writes a harness. An integrity problem goes to a private advisory rather
than a public issue, which is the one case where filing in the open
makes things worse.

Email stays last and unconditional. A contact page that only offers forms
turns people away, and the ones most worth hearing from are often the
ones who will not open a GitHub account to tell us we are wrong. No form
on the page either: it would put a database between the reader and us for
no gain.

A section says what we cannot do, because those three requests arrive
anyway and a page that stays silent about them invites them.

The second half is why this was worth doing at all. The outbound-click
listener returns early on any protocol that is not http(s), which is
correct for the cursor:// and vscode: deeplinks on /mcp and silently
dropped every mailto. The one contact channel the site had was the one
surface it never measured, so "nobody wrote to us" and "we never looked"
were the same number: zero. A mailto now fires contact_click with the
page it was clicked from, and no address, since there is one and it is
already public.

Also: the sitemap gained a duplicate /contact while this was being
written, because a grep for "/contact" does not match a template literal
spelled ${SITE.url}/contact. That is the same defect that put
/chains/cosmos-hub in the production sitemap twice yesterday, so the
static route list now has a test that fails on any repeat.

The footer comment counted its own links and named which ones the sitemap
lacks. Adding one made both halves wrong, so both are corrected.
@Flotapponnier
Flotapponnier merged commit ec3dc94 into main Oct 1, 2026
2 checks passed
@Flotapponnier
Flotapponnier deleted the cherry/contact-page branch October 1, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant