feat(www): add Open Authorization Integration Addendum - #48804
Conversation
Adds a new Program Addendum at /legal/partner-resources/program-addenda/oauth-partner-addendum, formatted and listed to match the Integration Partner Addendum. The effective date (August 6, 2026) comes from the 20260806 filename prefix, which is how apps/www/lib/addenda.ts and addenda-utils.ts derive it. A title override is added in addenda.ts because the slug does not capitalize into the document's real title. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VtcJJGqw5jL1ESwhs8DGCu
|
The latest updates on your projects. Learn more about Vercel for GitHub.
6 Skipped Deployments
|
…source Re-transcribed from the revised source .docx in Google Drive (md5 3e01ababea84f06a61aad24bc9985b3a, modified 2026-08-06T15:10:27Z). 13 paragraphs changed: subject-verb agreement in 3.2, 4.2, 6.3(b)(iv), 8 and 13; the stray close paren in 6.1(a); comma fixes in 6.1(a), 6.1(c), 6.3(a), 6.3(b)(vii) and 6.4; "thirty (30) days" and "notice to Partner" in 10.2; "a third party's" in 11.1; and the missing "or" plus "clauses" in 12. "Harmful Code" is now a bolded defined term, matching the source. Section and subsection structure is unchanged (13 h2, 17 h3, 5 h4). Effective date prefix 20260806 is unchanged; the source still carries no date of its own. Remaining source typos preserved verbatim. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VtcJJGqw5jL1ESwhs8DGCu
The section 6.1(c) heading in the Open Authorization Integration Addendum rendered as a copyright sign instead of "(c)". The MDX source and the rendered DOM are both a literal ASCII "(c)"; the substitution happens at glyph-shaping time. Manrope is --font-heading and is applied to h1-h6 by the base layer in globals.css. Its GSUB `liga` feature -- the standard ligature feature, enabled by default in every browser -- maps `parenleft c parenright` to a composite glyph whose only component is `copyright`. Body copy uses Inter, whose Google Fonts latin subset has no such ligature, which is why paragraphs on the same page render "(c)" and "6.1(a)(iv)" correctly while the heading does not. Add a `legal-prose` utility that sets font-variant-ligatures: no-common-ligatures and apply it to the addendum's document container. Scoped to the legal document rather than `.prose`, which is shared with the blog and marketing pages. The legal text is unchanged and stays pure ASCII. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VtcJJGqw5jL1ESwhs8DGCu
The Manrope heading font ships a default-on standard `liga` mapping the
glyph sequence `parenleft c parenright` to the copyright glyph, so the
literal "(c)" in the h4 at mppa/v1.mdx:143 ("...; or (c) replace the
Covered Materials...") painted as "or © replace" on the live page.
Apply the existing `legal-prose` utility (font-variant-ligatures:
no-common-ligatures) to the page's prose container, matching the fix
already applied to the OAuth partner addendum page. The legal text is
unchanged -- the DOM still holds U+0028 U+0063 U+0029.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VtcJJGqw5jL1ESwhs8DGCu
|
Could someone with write access hit "Re-run failed jobs" on the runs below — the red and cancelled checks on Wave 1, action resolution (~15:42–15:57 UTC) — died in
Wave 2, runner starvation — cancelled with zero steps executed, "The job was not acquired by Runner ... even after multiple attempts". Not superseded by newer runs:
So The starved Studio Docker Build, Studio Unit/UI test jobs and three E2E shards no-op on this diff anyway — their Generated by Claude Code |
Braintrust eval report
|
…for-pitr-archiving-stale * origin/master: (342 commits) feat(studio): role-aware access feedback in scoped token creation (#48858) Initialize notebook editor page (#48842) test(docs): scan changed pages for WCAG 2.1 A/AA in warn mode (#48727) docs(auth): clarify audit logs storage options and configuration (#48852) feat(studio): warn that scoped tokens don't support the MCP server (#48849) feat(studio): lifecycle and role-aware scoped token view sheet (#48848) feat(www): add Open Authorization Integration Addendum (#48804) feat(studio): add legacy token mode to scoped pat creation flow (#48844) Add blog post: Supabase is now a connector on Perplexity Computer (#48776) feat(studio): enforce expiry scoped pat (#48811) fix(studio): model scoped pat permissions as OR-of-AND alternatives - smaller version (#48809) fix(ui): opaque default button hover fills (#48837) fix(ui): restore normal alert text wrapping (#48840) feat: notebook content schema (#48813) fix(ui): remove extra spacing before custom reports section (#48796) feat(marketing): add hint text below Go page form labels (#48824) Initialize notebooks store (#48801) Use white wordmark for QA.tech primary logo (#48827) fix titleless Admonition alignment (#48784) fix inconsistent product menu dividers (#48787) ...
Requested by Nicole Kramer · Slack thread
I have read the CONTRIBUTING.md file.
YES
What kind of change does this PR introduce?
Feature — a new legal page on the marketing site (
apps/www).What is the current behavior?
Before: the Program Addenda page at
/legal/partner-resources/program-addendalists exactly one addendum, the Integration Partner Addendum. There is no published Open Authorization (OAuth) addendum anywhere on the site.What is the new behavior?
After: the Program Addenda page also lists the Open Authorization Integration Addendum, linking to a new page at
/legal/partner-resources/program-addenda/oauth-partner-addendum. Formatting, breadcrumbs, version selector, and listing badge all match the existing Integration Partner Addendum.How: three files.
apps/www/data/legal/partner-resources/oauth-partner-addendum/20260806-v1.mdx— the addendum text, formatted to matchintegration-partner-addendum/20260615-v1.1.mdx(escaped section-number periods,####run-in headings for the lettered subsections, italic_Label_run-in labels for the enumerated data-protection clauses, explicit[url](url)links).apps/www/pages/legal/partner-resources/program-addenda/oauth-partner-addendum.tsx— the page, mirroringintegration-partner-addendum.tsxwith a single-versionversionsarray.apps/www/lib/addenda.ts— adds a smallTITLE_OVERRIDESmap. The listing derives titles by capitalizing slug words, which turnsoauth-partner-addenduminto "Oauth Partner Addendum"; the override makes the listing link read the same as the page'sh1.No other wiring was needed: the addenda listing is generated from the directory, so there is no hub entry, redirect, rewrite, sitemap entry, or
noindexrule to add.Additional context
Two things for the requester to confirm:
YYYYMMDDfilename prefix, so this file is dated August 6, 2026, taken from the source document's own filename (2026.08.06 - Supabase-OAuthAddendum-ONLINE.docx). To change it, rename the file — no code change required.One wording choice that was not in the source document: the page subheader, "An addendum to the Master Partner Program Agreement governing OAuth integrations." It mirrors the one-line subheader style of the existing addendum page and is easy to reword.
Also fixed here: a literal
(c)rendered as©in legal headingsWhile formatting the new addendum we hit a rendering bug that turned out to be already live on supabase.com, not new to this branch.
The heading font, Manrope, ships a default-on standard
ligafeature that maps the glyph sequenceparenleft c parenrightto the copyright glyph. So a literal(c)anywhere inside anh2–h6on the marketing site paints as©. Body copy is unaffected because it uses Inter, whose subset has no such ligature — which is why this only ever shows up in headings.This branch adds a
legal-proseutility (font-variant-ligatures: no-common-ligatures) inapps/www/styles/globals.cssand applies it to two pages:#### (c) Security.), and#### (b) Such indemnity …heading in section 17.1 contains… ; or (c) replace the Covered Materials …about 600 characters into the line. That page was already published, and rendered "or © replace the Covered Materials" in production.The MPPA change is one word —
className="prose"→className="prose legal-prose". No legal text was modified: no HTML entities, no zero-width characters, no rewording, no re-hyphenation. The DOM still holdsU+0028 U+0063 U+0029; only the font's shaping is suppressed. Verified in Chromium against the real heading text and the same two font subsetsnext/fontserves: the(c)run measures 15.36px before the fix (a single©glyph) and 22.05px after (three literal glyphs), against a 23.30px control for the(b)in the same heading.All 17
.mdxfiles underapps/www/data/legal/were swept for(c)and the other Manropeligainput sequences (--,->,<-,(>),<3) on heading lines. The only two hits are the two pages fixed above; nothing else needs the utility today. (Headings do containff/fi/fl/tt— those ligatures are ordinary typography and are intentionally left alone.)For future legal pages: because the cause is the heading font's default ligature rather than anything about these documents, any new legal page whose source has
(c)in a heading will needlegal-proseon its prose container too.One side effect worth flagging:
no-common-ligaturesis blunt, so on those two pages it also suppresses the ordinaryfi,ffandttligatures — a sweep of the legal.mdxfiles counts 107 such occurrences in headings (fi83,ff21,tt3,fl0), so the note above about leaving them alone holds for the rest of the site rather than for these two pages. That is a deliberate trade-off: correctness of the legal text beats typographic polish on two addendum pages. A narrower alternative exists —font-feature-settings: "liga" 0scoped to just the offending ligature, or overriding only theparenleft_c_parenrightsubstitution — but it is more fragile and more subset-specific, so push back here if you would rather have that instead.🤖 Generated with Claude Code
https://claude.ai/code/session_01VtcJJGqw5jL1ESwhs8DGCu