mirror of
https://github.com/supabase/supabase.git
synced 2026-09-09 03:19:36 +08:00
cli/ref-doc
1672 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
500dddc20c |
docs(integrations): add Stripe Projects provisioning guide (#49354)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? This PR adds some missing Stripe Projects documentation: a short peer entry on the Integrations overview (next to the existing Vercel Marketplace entry) plus a focused guide page. Closes DOCS-1337. ## What is the current behavior? - Linear item: `DOCS-1337`: Document programmatic project provisioning, with Stripe Projects as a partner example - No page under `apps/docs/content/**` mentions Stripe Projects. The only existing prose is a blog post and a `/go/` marketing page, neither indexed as docs nor surfaced in `llms.txt` (which is generated purely from `content/guides/**` directory names/titles). - The Studio-side confirmation flow (`apps/studio/pages/partners/stripe/projects/login.tsx`) already exists and works; the gap is entirely on the docs side. ## What is the new behavior? - `apps/docs/content/guides/integrations.mdx`: added a "Stripe Projects" section, same weight as the existing "Vercel Marketplace" section (short description + link), so Stripe is presented as one of several provisioning paths rather than singled out. - `apps/docs/content/guides/integrations/stripe-projects.mdx` (new): Overview, Quickstart (CLI commands from the Stripe Projects blog post), Authorizing the request (the actual Supabase-side confirmation screen behavior), and Limitations. - `apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts`: added the new page to the Integrations sidebar nav, alongside Vercel Marketplace. ## Additional context - Worktree: `~/GitHub/supabase/supabase/.claude/worktrees/docs-1337-stripe-projects` - Paired eval issue: `DOCS-1338`: a regression eval to be added/run separately, before and after this PR, to confirm agent discoverability actually improves. - Out of scope: the agent-skills piece (separate `supabase/agent-skills` repo, federated into docs at `content/guides/ai-tools/ai-skills.mdx`) is being picked up separately. - The org-linking limitation is confirmed against `AccountRequestDetailsDto` and `AccountRequestsController_confirmAccountRequest` in `packages/api-types/types/platform.d.ts`: the schema exposes a single optional `linked_organization`, not a list, and the confirm endpoint takes no request body, so there's no way for the client to select a different organization. - The first Vercel deploy on this branch failed on an invalid `<!-- -->` HTML comment (not valid MDX); fixed in a follow-up commit to use `{/* */}`. - Heading case (`Stripe Projects`) and the word `proxied` needed allowlist entries in `supa-mdx-lint/Rule001HeadingCase.toml` and `supa-mdx-lint/Rule003Spelling.toml`, matching the existing `Vercel Marketplace` precedent. - Added a Limitations bullet (per reviewer suggestion from gregorvand) on accessing the dashboard for a newly provisioned organization via `stripe projects open supabase` or the reset-password flow. ### Integrations page update ([PR preview](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations))  ### Stripe Projects page addition ([PR preview](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations/stripe-projects))  ### Test plan - [x] Confirm the "Stripe Projects" section renders on [the Integrations overview page (preview)](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations) - [x] Confirm [the new Stripe Projects page (preview)](https://docs-git-nikrichers-docs-1337-document-programm-7b3426-supabase.vercel.app/docs/guides/integrations/stripe-projects) renders and appears in the sidebar under Integrations - [ ] Confirm the new page surfaces in `llms.txt` (directory/title based) - [x] Org-linking limitation confirmed via the `AccountRequestDetailsDto`/confirm-endpoint schema (see Additional context) rather than a Stripe Projects team conversation - [x] Re-ran `supa-mdx-lint` allowlist additions locally; heading-case and spelling findings addressed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Added Stripe Projects to the integrations navigation. - Added guidance for provisioning Supabase projects through the Stripe CLI, synchronizing environments, accessing dashboards, rotating credentials, and understanding authorization and organization-linking limitations. - **Documentation** - Linked the Stripe Projects guide from the integrations overview. - Updated documentation validation to support Stripe Projects terminology and capitalization. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nik Richers <nik@validmind.ai> Co-authored-by: Gregor <1828888+gregorvand@users.noreply.github.com> |
||
|
|
3bc52101ee |
(docs/pipelines): early access destinations (#49304)
## What kind of change does this PR introduce? Docs update ## Summary - Add Early Access setup and reference guides for ClickHouse, DuckLake, and Snowflake. - Update Pipelines navigation and shared documentation with destination-specific data models, source requirements, schema-change support, and recovery behavior. - Keep all three destinations organization-gated. DuckLake is documented only as a Pipelines replication destination i.e. query compute remains external and this is not a Warehouse launch. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added ClickHouse, DuckLake, and Snowflake as Early Access Pipelines destinations. * Added BigQuery as a managed destination. * Added destination navigation and setup guides covering configuration, replication behavior, schema changes, type mappings, troubleshooting, and monitoring. * **Documentation** * Clarified destination availability, regional guidance, requirements, limitations, and processing behavior. * Documented destination-specific schema-change support, table identity requirements, reset behavior, and CDC replication modes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
fdf33e72c4 |
fix(studio): clean up onboarding returnTo paths (#49283)
## What kind of change does this PR introduce? Bug fix. Follow-up to #41041 and DEPR-318. ## What is the current behavior? Marketing "Start your project" links go to `/dashboard`, which redirects unauthenticated users to `/org` and sets `returnTo=/org`. That value survives when they switch from sign-in to sign-up, so email verification still lands on the org list instead of org creation. ## What is the new behavior? - Sign-in's **Sign up** link rewrites `returnTo=/org` (and `/organizations`) to `/new` - Docs mobile menu, www homepage/product CTAs, and solution page CTAs link to `/dashboard/sign-up` for guests - Signed-in visitors get the dashboard URL instead, so they never hit the sign-up form - Shared `DASHBOARD_SIGN_UP_URL` / `getDashboardCtaHref` helpers for www Stacked on #41041. ## To test Stacked on #41041. The studio preview below includes both PRs. www and docs have their own previews. ### Studio: sign-in → sign-up rewrite Using the [studio-staging preview](https://studio-staging-git-dnywh-fixonboarding-return-to-supabase.vercel.app/) from Vercel checks: 1. Open the preview while logged out. It should land on `/dashboard/sign-in?returnTo=%2Forg` 2. Click **Sign up**. Expect the URL to include `returnTo=%2Fnew` ### Optional: www CTAs Using the [www preview](https://zone-www-dot-com-git-dnywh-fixonboarding-return-to-supabase.vercel.app/): 3. Logged out: homepage, product, or solutions **Start your project** should go to `/dashboard/sign-up` 4. Logged in: the same CTAs should go to `/dashboard` (not sign-up) (thought this will be hard if not impossible to test on staging) ### Optional: docs CTAs Using the [docs preview](https://docs-git-dnywh-fixonboarding-return-to-supabase.vercel.app/): 5. On mobile nav while logged out, click **Start your project**. Expect `/dashboard/sign-up` ### Compare on supabase.green Optional. Just to show what happens currently on `master`: 6. Open **supabase.green** while logged out, then click **Sign up** from `/dashboard/sign-in?returnTo=%2Forg`. `returnTo` should stay as `/org` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Start-project and sign-up links now direct visitors to registration while signed-in users continue to reach the dashboard. * Homepage, product, solution, and mobile navigation CTAs now provide consistent authentication-aware destinations. * Sign-up links preserve return destinations and existing navigation parameters. * **Bug Fixes** * Corrected mobile navigation and marketing CTA links that previously sent visitors to the dashboard root instead of the appropriate sign-up flow. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
34454037d3 |
clean up docs admonition structure (#48669)
## What kind of change does this PR introduce? Docs update. Resolves DEPR-634. Stacked on #48664. The linter package and CI revision pins will be updated after [supa-mdx-lint#121](https://github.com/supabase-community/supa-mdx-lint/pull/121) merges and is released. ## What is the current behavior? Admonition body content can contain structural headings, which inherit prose spacing and produce awkward callout layouts. Standalone Docs actions are also rendered as ordinary body content in two places. | Before | | --- | | <img width="1264" height="840" alt="70168" src="https://github.com/user-attachments/assets/00aa7620-a6b4-452c-971f-b3ce2eda0e8c" /> | | _Recent violation with Markdown header in `children`. Notice the big gap up top._ | ## What is the new behavior? - Documents that admonition titles belong in the `title` prop, standalone calls to action belong in `actions`, and document sections belong outside admonitions. - Configures heading-inside-admonition violations as errors for the forthcoming linter release. - Moves the UI-library and wrapper dashboard buttons into the existing `actions` slot without changing the shared component. Validated with the forthcoming linter across all 810 Docs sources, Docs type-checking, targeted ESLint and Prettier checks, and desktop/mobile rendering. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Clarified admonition guidelines for optional titles, headings, rich content, and standalone calls to action. * Improved guidance on when contextual links and interactive examples belong in admonition content. * **Style** * Updated documentation call-to-action buttons to use the designated actions area. * **Quality Improvements** * Added validation to prevent headings inside admonitions and maintain consistent formatting. * Updated documentation linting to apply the latest validation rules. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
22e2370b35 | docs(self-hosted): add poolers how-to guide (#49303) | ||
|
|
10c425ad0b | feat(www): markdown copy/ask affordances (#48475) | ||
|
|
e5f12b4252 |
fix(docs): fix step code block spacing and Prisma guide tabs (#49263)
Two fixes for the [Prisma guide](https://supabase.com/docs/guides/database/prisma): - `StepHikeCompact.Code` marked its whole subtree `not-prose`, so the labels and admonitions that steps interleave with their code samples rendered at 16px with zero margins, flush against the samples and tab bars. Dropping `not-prose` restores body typography and spacing; back-to-back samples now get a gap too, since they have no prose between them. - The guide's three outer tab groups omitted `type`, so they fell back to pill styling — the only pills among 395 `<Tabs>` in the content tree. Fixes DOCS-1327 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Improved spacing and prose behavior for code samples in the documentation. * Preserved existing code margin customizations. * Updated Prisma guide tabs with a consistent compact, underlined appearance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
edf50668aa |
docs(database): split RLS tuning into its own guide (#49016)
Stacked on #49015, which is stacked on #49011. Review those first. ## Problem The Row Level Security guide spent 225 lines and 5 benchmark tables on performance, 29% of the page. The `RLS Performance and Best Practices` troubleshooting entry already covers the same six tips with the same numbers, from the same source. Neither page tells you how to check whether RLS is your bottleneck in the first place. Four of the six tips are not tuning advice. Indexes, `select`-wrapping, role scoping, and `security definer` safety change whether a policy is correct and safe, not just fast. ## Solution - Add `guides/database/postgres/row-level-security-performance`. It carries the client-filter rule, the join-rewrite rule, all 5 benchmark tables merged into one, and a new `Diagnose whether RLS is the bottleneck` section: toggle RLS off to confirm it's the cost, then read the plan under an impersonated role. That diagnostic exists in the troubleshooting entry and has never been in the guide. - Keep every rule that affects correctness on the RLS guide, grouped under `Write policies that scale`. These are also the four the `build-docs-002-rls-guide` eval grades, and an agent reads the guide top-down. - Repoint the Grafana IO troubleshooting entry at the new page. - Rewrite `More resources` as `Related content`. Every link now says what it is and when to use it. Adds `Advanced pgTAP testing`, the deepest RLS testing content in the docs, which nothing here linked. Drops discussion 14576: locked, mislabeled here as "RLS Guide and Best Practices" when it is "RLS **Performance** and Best Practices", and superseded by the troubleshooting entry and this new page. **Ownership rule** so the two pages don't drift: the RLS guide owns the rule and the correct form. The performance page owns the measurement and the optimizer explanation. If a sentence on the performance page tells you what to write, it belongs on the guide. Scoped out of this PR: `More resources` was assigned to the restructure PR in the plan, but the 14576 link is what this PR supersedes, so leaving it would ship a stale pointer. ## Manual testing 1. Open the [RLS performance guide](https://docs-git-docs-rls-performance-split-supabase.vercel.app/docs/guides/database/postgres/row-level-security-performance) on the preview. It appears in the left nav under Database, Access and security, directly below Row Level Security. 2. Select the three rule links in its intro. Each lands on the matching section of the RLS guide. 3. Open the [Row Level Security guide](https://docs-git-docs-rls-performance-split-supabase.vercel.app/docs/guides/database/postgres/row-level-security) and go to `Write policies that scale`. It holds indexes, `select`-wrapping, and role scoping, with one link out to the performance page. 4. Open the [Grafana IO troubleshooting entry](https://docs-git-docs-rls-performance-split-supabase.vercel.app/docs/guides/troubleshooting/interpreting-supabase-grafana-io-charts-MUynDR) and select the RLS performance guide link. It lands on the new page. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added a dedicated guide for diagnosing and improving PostgreSQL Row Level Security performance. * Expanded guidance on indexing, query filters, role targeting, function usage, and avoiding costly policy joins. * Updated the Row Level Security guide with streamlined, scalable policy recommendations and links to related resources. * Added the new performance guide to the Database documentation navigation. * Updated troubleshooting guidance to reference the dedicated performance guide. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> |
||
|
|
e0ee774c74 | fix(docs): point the Management API nav entry at the Management API reference (#49165) | ||
|
|
ee1eb5dbca |
docs: standardize quickstart guides (#48950)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs update ## What is the new behavior? - All 19 guides follow one step order: create project → set up database → create app → AI tooling → add keys → create client → query data → run it → go to production. Added _template.mdx with structure requirements; it is not enforced with a lint check for now - this will be a separate PR before adding new guides. - 4 new partials replace copy-pasted blocks (AI tooling, connection strings, mobile env vars, going to production). - Error handling: return a message instead of a blank page when a query fails. - All guides verified and tested separately - all work as described. What was fixed: wrong env var names in the Hono sample, a Next.js page that redirected to login, missing database permissions in Refine and Hono, and stale file paths and APIs in SvelteKit, Refine, and TanStack. - Astro, Expo, Python, Laravel, and Rails were live but missing from the quickstart grid or listing page. Added, with two new icons. ## Quick links for review Base preview: https://docs-git-docs-standardize-framework-quickstarts-supabase.vercel.app/docs **Quickstart discovery**: new Astro/Expo/Python/Laravel/Rails entries and icons - [Docs homepage grid](https://docs-git-docs-standardize-framework-quickstarts-supabase.vercel.app/docs) <img width="1998" height="882" alt="CleanShot 2026-08-12 at 12 06 31@2x" src="https://github.com/user-attachments/assets/942eb7e2-1e85-4b20-a6a7-c2b127d31b2b" /> - [Getting started overview](https://docs-git-docs-standardize-framework-quickstarts-supabase.vercel.app/docs/guides/getting-started) <img width="856" height="878" alt="CleanShot 2026-08-12 at 12 13 30@2x" src="https://github.com/user-attachments/assets/d48091a9-7daf-4796-a521-14116b7479c9" /> ### New shared files: **[apps/docs/content/guides/getting-started/quickstarts/_template.mdx]( |
||
|
|
a5afb3dd22 |
feat(docs): add enterprise managed MCP auth (#47691)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Added docs for enterprise managed MCP auth <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added guidance for Enterprise-Managed Authentication for MCP. * Documented setup requirements, authorization flow, configuration steps, and security considerations. * Expanded the SSO guide and navigation with links to the new MCP authentication documentation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Chris Chinchilla <chris.ward@supabase.io> |
||
|
|
5a8eecf509 | feat(self-hosted): envoy is the default api gateway (#48153) | ||
|
|
cb35e1f98e |
chore(library): update routes, redirects, and naming (#48668)
Our UI Library registry is expanding to include blocks that go beyond UI and in some cases focus purely on back-end. This PR is a precursor to adding more back-end related blocks. This PR includes the `ui-library -> library` rename plus redirects and small UI copy updates. Since this is a rename we'll need to update Vercel configuration. ## Vercel rollout Keep the Library project Root Directory as `apps/ui-library` 1. In the **Library** Vercel project, set: `NEXT_PUBLIC_BASE_PATH=/library` Apply it to Preview and Production, then redeploy the Library project. 2. In the **www** Vercel project, add: `NEXT_PUBLIC_LIBRARY_URL=<current value of NEXT_PUBLIC_UI_LIBRARY_URL>` Apply it to Preview and Production. Keep `NEXT_PUBLIC_UI_LIBRARY_URL` during the migration, then redeploy the www project. 3. Deploy in this order: 1. Library project 2. www project 4. Validate: - `/library` - `/library/docs/nextjs/password-based-auth` - `/ui` redirects to `/library` - `/ui/docs/nextjs/password-based-auth` redirects to `/library/docs/nextjs/password-based-auth` - `/ui/docs/ai-editors-rules/*` still uses its existing Docs redirects No Vercel dashboard redirect rules are needed. Environment-variable changes require a new deployment. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Supabase UI Library has been renamed to **Supabase Library** across navigation, pages, documentation, and resource links. * The Library is now available at `/library`, with updated descriptions covering components, blocks, and developer tools. * **Bug Fixes** * Added permanent redirects from legacy `/ui` URLs to corresponding `/library` paths. * Updated links throughout the site and documentation to prevent broken navigation and references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
08867f94ff |
docs: lead self-hosting overview with what/why/CTA, restructure secondary content (#48415)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs restructure of the self-hosting overview: short fit intro, Get started / community listings above the fold, parallel h2 sections for how self-hosting differs (including local development), responsibilities, and telemetry, plus a streamlined support listing with better card content. Closes DOCS-1251. ## What is the current behavior? - Linear item: Explore two PR approaches for the self-hosting page - The self-hosting overview page (`/guides/self-hosting`) is the top search hit for "supabase self-hosting," but reads as a wall of text: three full prose/bullet sections (differs / responsibilities / telemetry) come before the getting-started CTA, which is buried as one small card partway down the page. ## What is the new behavior? - Short fit intro; `self-hosting-get-started` and `self-hosting-community` listings sit directly under the intro. - Top-level h2s for how self-hosting differs, responsibilities, telemetry, and support (no "More about self-hosting" wrapper). - Under differs: rewritten single-project + platform-gap copy, plus `### Not the same as local development` (CLI stack is not a production self-host; points to Docker / community options). - Telemetry clarifies CLI local-dev telemetry vs Docker Compose (no phone-home). - Merged support into a single `self-hosting-support` listing; Enterprise subsection unchanged. - Minor a11y: `aria-hidden` on GlassPanel decorative icon background. ## Additional context - Worktree: `~/GitHub/supabase/supabase-worktrees/nikrichers/docs-1251-self-hosting-inform` - Review: removed the "More about self-hosting" grouping after feedback that it undersold differs / responsibilities. - Companion prototype PR 48416 is closed; this branch is the direction under review. - Verification: | Check | Result | | ----------------------------------------------- | ------------------------------------------------------------------ | | `pnpm lint:mdx content/guides/self-hosting.mdx` | Pass — no errors/warnings on this file | | Vercel docs preview | Pass — full-page after screenshot captured from the preview deploy | ### Proof: intro and get-started above the fold; parallel h2s for differs, responsibilities, and telemetry **Verified:** `pnpm lint:mdx content/guides/self-hosting.mdx` (pass) · Vercel docs preview (pass) ### Before & After | [Before (production)](https://supabase.com/docs/guides/self-hosting) | [After (PR preview)](https://docs-git-nikrichers-docs-1251-self-hosting-inform-supabase.vercel.app/docs/guides/self-hosting) | | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | |  |  | ### Test plan - [ ] Visit the preview link and confirm the page opens with intro above the Get started listings - [ ] Confirm parallel h2s for differs / responsibilities / telemetry / support (no "More about self-hosting") - [ ] Confirm "Not the same as local development" distinguishes the CLI stack from self-hosting - [ ] Confirm Support and community is one card grid - [ ] Check mobile width — layout should still be usable - [ ] Confirm `/guides/self-hosting/docker` link still works <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Reorganized the self-hosting guide with clearer getting-started resources and community links. - Added dedicated guidance for local development, managed Supabase, telemetry, and self-hosting responsibilities. - Consolidated support resources into one section covering discussions, issues, chat, Reddit, and sharing experiences. - **Accessibility** - Marked decorative icon backgrounds as hidden from assistive technologies. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nik Richers <nik@validmind.ai> Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
e7d9c88cbc |
fix(docs): resolve remaining heading-order issues found in Pass 2 diagnostic (#48664)
## Problem After merging [#48456](https://github.com/supabase/supabase/pull/48456) (shared components) and [#48459](https://github.com/supabase/supabase/pull/48459) (per-page content fixes), a follow-up diagnostic pass found 22 remaining heading-order violations, logged as Pass 2 in the [triage report](https://app.notion.com/p/supabase/Playwright-E2E-Triage-Reports-3ab5004b775f81e3bc60d058fa5a02c1). None of them were caught by the earlier fixes because they came from places that scan didn't check: shared partials, raw HTML heading tags written directly in MDX, and a couple of shared/interactive components rendering hardcoded heading levels. ## Solution - `_partials/social_provider_setup.mdx`: `#### Local development` → `###`, matching the `##` that always precedes it on all 14 social-login pages. - `guides/database/functions.mdx` and `guides/integrations/vercel-marketplace.mdx`: replaced raw `<h4>`/`<h5>` tags with correctly-nested real headings (`### Planets`/`### People`; `#### Deploy a Next.js app...`) — no styling workarounds needed since they nest naturally one level below their parent section. - `auth/quickstarts/{nextjs,react-native,react,astrojs}.mdx`: these 4 pages had no heading at all before the embedded `_partials/api_settings.mdx` partial's own `### Get API details` heading, so added a `## Quickstart` heading above the walkthrough to give it a valid parent. - `packages/ui`'s `Accordion` component: Radix's `AccordionPrimitive.Header` renders as an unconditional `<h3>` regardless of where the accordion is used. That's shared across Studio, www, and design-system, not just docs, and surfaced on docs' vendor-agnostic telemetry page. Now rendered via `asChild` onto a plain `div` instead, since a generic accordion has no way to know what heading level (if any) is valid in a given page. - SQL-to-REST translator tool (`/docs/guides/api/sql-to-rest`): its `Assumptions`/`FAQs` section labels were hardcoded `<h3>` with no `h2` anywhere on the page. Converted to styled spans rather than promoting to a real `<h2>`, because real h1/h2/h3 tags in this codebase force a prose font-size that utility classes can't override — promoting the tag would have visibly changed its size. - `RealtimeLimitsEstimator` (embedded on both `postgres-changes` and `benchmarks`): its 3 section headings were hardcoded `<h4>`, but the two embedding pages need different levels (h3 vs h4) for that spot to be valid — no single correct heading level. Converted to styled spans, same pattern used throughout this project for components embedded at varying heading depths. ## Manual testing 1. Check out this branch and run `pnpm dev:docs`. 2. Visit `/docs/guides/auth/social-login/auth-github` (or any other provider page) and confirm the "Local development" callout under "Find your callback URL" still looks and reads the same. 3. Visit `/docs/guides/database/functions` → "Returning data sets" tab and confirm the "Planets" / "People" table captions still look the same. 4. Visit `/docs/guides/integrations/vercel-marketplace` → "Quickstart" → "Via template" and confirm the CTA card title still looks the same. 5. Visit `/docs/guides/auth/quickstarts/nextjs` (or react-native/react/astrojs) and confirm a "Quickstart" heading now appears above the walkthrough, and "Get API details" still renders correctly further down. 6. Run `pnpm dev:design-system` and open `/design-system/docs/components/accordion` — expand/collapse an item and confirm it still animates and looks identical; inspect the DOM and confirm the trigger's wrapper is a `div`, not an `h3`. 7. Visit `/docs/guides/api/sql-to-rest`, translate any query, and confirm the "Assumptions"/"FAQs" section labels still look the same. 8. Visit `/docs/guides/realtime/postgres-changes` and `/docs/guides/realtime/benchmarks`, scroll to the connection-limits calculator, and confirm its section labels still look the same on both pages. 9. (Optional, for a full re-check) Run `pnpm e2e:docs:a11y --all` against a deployed preview of this branch — only `/docs/guides/cli` (pre-existing 404, unrelated to headings) should fail; every other page should pass. Verified with a full Playwright run against a real preview deployment: **756 passed, 1 failed** (`/docs/guides/cli`, the pre-existing unrelated 404). Zero heading-order violations remain. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Added clearly labeled Quickstart sections to Astro, Next.js, React Native, and React authentication guides. - Improved heading hierarchy and formatting across social provider setup, database functions, and deployment documentation. - Updated estimator and SQL-to-REST section presentation for more consistent content structure. - **Bug Fixes** - Improved accordion trigger layout while preserving existing behavior, styling, accessibility, and icon display. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> |
||
|
|
31d1a639c0 |
docs: Update SDK references from recent releases (#47830)
## Summary Updates SDK reference docs and the client-side tracing guide based on recent releases across all six Supabase SDKs. ## SDKs analyzed | SDK | Repo | Latest commit | Latest tag | |-----|------|--------------|------------| | js | supabase/supabase-js | `e4e8864` | v3.0.0-next.29 | | dart | supabase/supabase-flutter | `c3e3602` | yet_another_json_isolate-v2.1.1 | | py | supabase/supabase-py | `6570638` | v3.0.0a1 | | swift | supabase/supabase-swift | `ebef170` | v2.51.0 | | kt | supabase-community/supabase-kt | `e23df20` | 3.7.0-beta-1 | | csharp | supabase-community/supabase-csharp | `3fad62f` | v1.1.2 | ## Documentation changes ### `apps/docs/spec/supabase_dart_v2.yml` - **OAuth Server API** ([supabase-flutter#1561](https://github.com/supabase/supabase-flutter/pull/1561)): Added `oauth-server-api` group stub and `listGrants()` / `revokeGrant()` method entries, matching the existing `common-client-libs-sections.json` nav IDs. - **`listBuckets()` options** ([supabase-flutter#1557](https://github.com/supabase/supabase-flutter/pull/1557)): Added example showing `ListBucketsOptions` with `search`, `limit`, `offset`, `sortColumn`, and `sortOrder`. ### `apps/docs/spec/supabase_py_v2.yml` - **`on_postgres_changes` `select` param** ([supabase-py#1524](https://github.com/supabase/supabase-py/pull/1524)): Added `listening-to-selected-columns` example for the new `select=["id", "name"]` parameter. - **Expanded filter operators** ([supabase-py#1524](https://github.com/supabase/supabase-py/pull/1524)): Updated `listening-to-row-level-changes` note to list all supported operators (`eq`, `neq`, `lt`, `lte`, `gt`, `gte`, `in`, `like`, `ilike`, `is`, `match`, `imatch`, `isdistinct`) plus `not.` prefix and comma-AND. ### `apps/docs/spec/supabase_swift_v2.yml` - **OpenTelemetry tracing setup** ([supabase-swift#1101](https://github.com/supabase/supabase-swift/pull/1101)): Added `initialize-client-with-opentelemetry` example under the `initializing` section documenting the `OpenTelemetry` SwiftPM package trait, provider wiring, and known `_invokeWithStreamedResponse` limitation. ### `apps/docs/content/guides/telemetry/client-side-tracing.mdx` - **Merged Swift and Dart tracing docs** into the existing JS guide ([supabase-swift#1101](https://github.com/supabase/supabase-swift/pull/1101), [supabase-flutter#1564](https://github.com/supabase/supabase-flutter/pull/1564)). - **Converted to tabbed layout** (`<Tabs queryGroup="language">`) with JavaScript / Swift / Dart tabs, matching the pattern used across other multi-SDK guides. - Updated title to "Client-side tracing" and nav label accordingly. ## SDKs with no doc-worthy changes - **js**: Bug fixes only (auth session clearing, realtime heartbeat suppression) — no new API surface. - **kt**: PKCE for `resend()` — behavioral enhancement, no new spec entry needed. - **csharp**: Chore/compliance/maintenance only. --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added Dart “OAuth Server” API docs for listing OAuth grants and revoking grants (including signed-in context and the `clientId` parameter), with examples. * Extended Dart Storage docs with a new `listBuckets` example using `ListBucketsOptions` for filtering, pagination, and sorting. * Updated Python Realtime docs with generalized PostgREST-style row filter operators and added examples for listening to selected columns. * Reworked the “Client-side tracing” guide across JS, Swift, and Dart, including expanded configuration and troubleshooting (trace propagation and `traceparent` details). * Renamed the telemetry navigation label to “Client-side tracing.” <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
1123a74813 |
spike(docs): chunk Management API reference into one page per endpoint (#48547)
## I have read the CONTRIBUTING.md file. YES ## What kind of change does this PR introduce? This is an experimental spike that splits the Management API reference into one statically-generated page per endpoint, instead of the single monolithic page that currently renders all ~172 operations at `/reference/api`. Relates to DOCS-1268. ## What is the current behavior? - Linear item: Spike: chunk Management API reference into one page per endpoint - `/reference/api/introduction` (and every other API deep link) renders one ~35MB page containing all 172 endpoints, per `known-issues.md`'s "Reference page length" note — a known UX/LLM issue with no per-endpoint pages today - All API reference "navigation" is actually `preventDefault` + `pushState` + `scrollIntoView` within that one page (see `Reference.navigation.client.tsx`) ## What is the new behavior? - New `generateStaticParamsForApi()` in `Reference.utils.ts` emits one static param per API operation slug (~172 pages), independent of the SDK static-params generator - Fixed the permanent `/docs/reference/api` -> `/docs/reference/api/start` redirect in `apps/www/lib/redirects.js` (`start` was never a real content slug — it only worked because the old routing collapsed every sub-path to the monolith); now points straight at `introduction`, and `/start` itself still redirects there so old links/bookmarks don't 404 - `middleware.ts` only normalizes the bare `/reference/api` request now; `/reference/api/<slug>` falls through to the real per-operation page (or 404s if the slug is unknown) - `Reference.apiPage.tsx` branches on the resolved slug: no slug now redirects to `/reference/api/introduction` (the monolith-rendering branch is removed entirely — `ClientLibIntroduction`/`RefSections` are no longer used in this file), a slug renders just that one section via the existing `SectionSwitch`/`ApiEndpointSection`/`MarkdownSection` — no duplicated rendering logic - `Reference.navigation.tsx` / `Reference.navigation.client.tsx` gained an opt-in `realNavigation` prop; only the API reference's two `<ReferenceNavigation>` call sites set it, so SDK/CLI/self-hosting sidebar behavior is byte-for-byte unchanged - Per-operation page metadata (title/description/canonical URL) ### Explicitly out of scope for this spike - `internals/generate-reference-markdown.ts` (the LLM `api.md` export) — still a single file, not split per endpoint - Any change to SDK, CLI, or self-hosting reference rendering or navigation - A hypothetical 2+-segment API path (`/reference/api/foo/bar`) previously collapsed silently to the monolith; it now 404s. Not reachable by any existing internal link today. ## Additional context - Worktree: `~/GitHub/supabase/supabase-worktrees/nrichers/nikrichers/docs-1268-spike-chunk-management-api-reference-into-one-page-per` - Verification: | Check | Result | | --- | --- | | `pnpm typecheck` (apps/docs) | ✅ pass | | `GET /reference/api` (bare) | ✅ 307, redirects to `/reference/api/introduction` (monolith removed) | | `GET /reference/api/introduction` | ✅ 200, new chunked page | | `GET /reference/api/v1-get-performance-advisors` | ✅ 200, new chunked page — confirmed via content size (~1.5MB vs ~35.5MB monolith) and heading-count diffing that only one operation renders | | `GET /reference/api/not-a-real-slug` | ✅ 404, confirms new static params + `dynamicParams=false` work as designed | | `GET /reference/cli`, `GET /reference/self-hosting-storage` | ✅ 200, unaffected — same shared nav components, no `realNavigation` passed | | `GET /reference/javascript`, `GET /reference/python` | ⚠️ 404 locally — not a regression; these need `codegen:references:new` output + `dev:secrets:pull` (internal env vars) that weren't run in this sandbox, unrelated to any file this PR touches | ### Before & After **Example (left: prod; right: PR)** <img width="2664" height="1667" alt="image" src="https://github.com/user-attachments/assets/c00e59ab-208b-44fb-be52-80270404fcc5" /> Preview is deployed: https://vercel.com/supabase/docs/43RzVCY6MkAbUuaDxdf9dPz7qsBu | Before (production) | After (PR preview) | | --- | --- | | - [Bare `/reference/api` (redirects to Introduction)](https://supabase.com/docs/reference/api)<br>- [Introduction](https://supabase.com/docs/reference/api/introduction)<br>- [Get performance advisors](https://supabase.com/docs/reference/api/v1-get-performance-advisors)<br>- [Get security advisors](https://supabase.com/docs/reference/api/v1-get-security-advisors)<br>- [Create log drain](https://supabase.com/docs/reference/api/v2-create-log-drain)<br>- [Delete log drain](https://supabase.com/docs/reference/api/v2-delete-log-drain)<br>- [Get project function combined stats](https://supabase.com/docs/reference/api/v1-get-project-function-combined-stats)<br>- [Get project logs](https://supabase.com/docs/reference/api/v1-get-project-logs)<br>- [Get project logs all](https://supabase.com/docs/reference/api/v1-get-project-logs-all)<br>- [Get project usage api count](https://supabase.com/docs/reference/api/v1-get-project-usage-api-count)<br>- [Get project usage request count](https://supabase.com/docs/reference/api/v1-get-project-usage-request-count)<br>- [List log drains](https://supabase.com/docs/reference/api/v2-list-log-drains)<br>- [Update log drain](https://supabase.com/docs/reference/api/v2-update-log-drain)<br>- [Create a sso provider](https://supabase.com/docs/reference/api/v1-create-a-sso-provider)<br>- [Create legacy signing key](https://supabase.com/docs/reference/api/v1-create-legacy-signing-key)<br>- [Create project signing key](https://supabase.com/docs/reference/api/v1-create-project-signing-key)<br>- [Create project tpa integration](https://supabase.com/docs/reference/api/v1-create-project-tpa-integration)<br>- [Delete a sso provider](https://supabase.com/docs/reference/api/v1-delete-a-sso-provider)<br>- [Delete project tpa integration](https://supabase.com/docs/reference/api/v1-delete-project-tpa-integration)<br>- [Get a sso provider](https://supabase.com/docs/reference/api/v1-get-a-sso-provider)<br>- [Get auth service config](https://supabase.com/docs/reference/api/v1-get-auth-service-config)<br>- [Get legacy signing key](https://supabase.com/docs/reference/api/v1-get-legacy-signing-key)<br>- [Get project signing key](https://supabase.com/docs/reference/api/v1-get-project-signing-key)<br>- [Get project signing keys](https://supabase.com/docs/reference/api/v1-get-project-signing-keys)<br>- [Get project tpa integration](https://supabase.com/docs/reference/api/v1-get-project-tpa-integration)<br>- [List all sso provider](https://supabase.com/docs/reference/api/v1-list-all-sso-provider)<br>- [List project tpa integrations](https://supabase.com/docs/reference/api/v1-list-project-tpa-integrations)<br>- [Remove project signing key](https://supabase.com/docs/reference/api/v1-remove-project-signing-key)<br>- [Update a sso provider](https://supabase.com/docs/reference/api/v1-update-a-sso-provider)<br>- [Update auth service config](https://supabase.com/docs/reference/api/v1-update-auth-service-config)<br>- [Update project signing key](https://supabase.com/docs/reference/api/v1-update-project-signing-key)<br>- [Apply project addon](https://supabase.com/docs/reference/api/v1-apply-project-addon)<br>- [List project addons](https://supabase.com/docs/reference/api/v1-list-project-addons)<br>- [Remove project addon](https://supabase.com/docs/reference/api/v1-remove-project-addon)<br>- [Accept invite external jit access](https://supabase.com/docs/reference/api/v1-accept-invite-external-jit-access)<br>- [Apply a migration](https://supabase.com/docs/reference/api/v1-apply-a-migration)<br>- [Authorize jit access](https://supabase.com/docs/reference/api/v1-authorize-jit-access)<br>- [Create login role](https://supabase.com/docs/reference/api/v1-create-login-role)<br>- [Delete invite external jit access](https://supabase.com/docs/reference/api/v1-delete-invite-external-jit-access)<br>- [Delete jit access](https://supabase.com/docs/reference/api/v1-delete-jit-access)<br>- [Delete login roles](https://supabase.com/docs/reference/api/v1-delete-login-roles)<br>- [Disable readonly mode temporarily](https://supabase.com/docs/reference/api/v1-disable-readonly-mode-temporarily)<br>- [Enable database webhook](https://supabase.com/docs/reference/api/v1-enable-database-webhook)<br>- [Generate typescript types](https://supabase.com/docs/reference/api/v1-generate-typescript-types)<br>- [Get a migration](https://supabase.com/docs/reference/api/v1-get-a-migration)<br>- [Get a snippet](https://supabase.com/docs/reference/api/v1-get-a-snippet)<br>- [Get backup schedule](https://supabase.com/docs/reference/api/v1-get-backup-schedule)<br>- [Get database metadata](https://supabase.com/docs/reference/api/v1-get-database-metadata)<br>- [Get database openapi](https://supabase.com/docs/reference/api/v1-get-database-openapi)<br>- [Get jit access](https://supabase.com/docs/reference/api/v1-get-jit-access)<br>- [Get jit access config](https://supabase.com/docs/reference/api/v1-get-jit-access-config)<br>- [Get pooler config](https://supabase.com/docs/reference/api/v1-get-pooler-config)<br>- [Get postgres config](https://supabase.com/docs/reference/api/v1-get-postgres-config)<br>- [Get project pgbouncer config](https://supabase.com/docs/reference/api/v1-get-project-pgbouncer-config)<br>- [Get readonly mode status](https://supabase.com/docs/reference/api/v1-get-readonly-mode-status)<br>- [Get ssl enforcement config](https://supabase.com/docs/reference/api/v1-get-ssl-enforcement-config)<br>- [Invite external jit access](https://supabase.com/docs/reference/api/v1-invite-external-jit-access)<br>- [List all backups](https://supabase.com/docs/reference/api/v1-list-all-backups)<br>- [List all snippets](https://supabase.com/docs/reference/api/v1-list-all-snippets)<br>- [List jit access](https://supabase.com/docs/reference/api/v1-list-jit-access)<br>- [List migration history](https://supabase.com/docs/reference/api/v1-list-migration-history)<br>- [Patch a migration](https://supabase.com/docs/reference/api/v1-patch-a-migration)<br>- [Read only query](https://supabase.com/docs/reference/api/v1-read-only-query)<br>- [Remove a read replica](https://supabase.com/docs/reference/api/v1-remove-a-read-replica)<br>- [Restore pitr backup](https://supabase.com/docs/reference/api/v1-restore-pitr-backup)<br>- [Rollback migrations](https://supabase.com/docs/reference/api/v1-rollback-migrations)<br>- [Run a query](https://supabase.com/docs/reference/api/v1-run-a-query)<br>- [Setup a read replica](https://supabase.com/docs/reference/api/v1-setup-a-read-replica)<br>- [Update backup schedule](https://supabase.com/docs/reference/api/v1-update-backup-schedule)<br>- [Update database password](https://supabase.com/docs/reference/api/v1-update-database-password)<br>- [Update jit access](https://supabase.com/docs/reference/api/v1-update-jit-access)<br>- [Update jit access config](https://supabase.com/docs/reference/api/v1-update-jit-access-config)<br>- [Update pooler config](https://supabase.com/docs/reference/api/v1-update-pooler-config)<br>- [Update postgres config](https://supabase.com/docs/reference/api/v1-update-postgres-config)<br>- [Update ssl enforcement config](https://supabase.com/docs/reference/api/v1-update-ssl-enforcement-config)<br>- [Upsert a migration](https://supabase.com/docs/reference/api/v1-upsert-a-migration)<br>- [Activate custom hostname](https://supabase.com/docs/reference/api/v1-activate-custom-hostname)<br>- [Activate vanity subdomain config](https://supabase.com/docs/reference/api/v1-activate-vanity-subdomain-config)<br>- [Check vanity subdomain availability](https://supabase.com/docs/reference/api/v1-check-vanity-subdomain-availability)<br>- [Deactivate vanity subdomain config](https://supabase.com/docs/reference/api/v1-deactivate-vanity-subdomain-config)<br>- [Get hostname config](https://supabase.com/docs/reference/api/v1-get-hostname-config)<br>- [Get vanity subdomain config](https://supabase.com/docs/reference/api/v1-get-vanity-subdomain-config)<br>- [Update hostname config](https://supabase.com/docs/reference/api/v1-update-hostname-config)<br>- [Verify dns config](https://supabase.com/docs/reference/api/v1-verify-dns-config)<br>- [Bulk update functions](https://supabase.com/docs/reference/api/v1-bulk-update-functions)<br>- [Create a function](https://supabase.com/docs/reference/api/v1-create-a-function)<br>- [Delete a function](https://supabase.com/docs/reference/api/v1-delete-a-function)<br>- [Deploy a function](https://supabase.com/docs/reference/api/v1-deploy-a-function)<br>- [Get a function](https://supabase.com/docs/reference/api/v1-get-a-function)<br>- [Get a function body](https://supabase.com/docs/reference/api/v1-get-a-function-body)<br>- [List all functions](https://supabase.com/docs/reference/api/v1-list-all-functions)<br>- [Update a function](https://supabase.com/docs/reference/api/v1-update-a-function)<br>- [Count action runs](https://supabase.com/docs/reference/api/v1-count-action-runs)<br>- [Create a branch](https://supabase.com/docs/reference/api/v1-create-a-branch)<br>- [Delete a branch](https://supabase.com/docs/reference/api/v1-delete-a-branch)<br>- [Diff a branch](https://supabase.com/docs/reference/api/v1-diff-a-branch)<br>- [Disable preview branching](https://supabase.com/docs/reference/api/v1-disable-preview-branching)<br>- [Get a branch](https://supabase.com/docs/reference/api/v1-get-a-branch)<br>- [Get a branch config](https://supabase.com/docs/reference/api/v1-get-a-branch-config)<br>- [Get action run](https://supabase.com/docs/reference/api/v1-get-action-run)<br>- [Get action run logs](https://supabase.com/docs/reference/api/v1-get-action-run-logs)<br>- [List action runs](https://supabase.com/docs/reference/api/v1-list-action-runs)<br>- [List all branches](https://supabase.com/docs/reference/api/v1-list-all-branches)<br>- [Merge a branch](https://supabase.com/docs/reference/api/v1-merge-a-branch)<br>- [Push a branch](https://supabase.com/docs/reference/api/v1-push-a-branch)<br>- [Reset a branch](https://supabase.com/docs/reference/api/v1-reset-a-branch)<br>- [Restore a branch](https://supabase.com/docs/reference/api/v1-restore-a-branch)<br>- [Update a branch config](https://supabase.com/docs/reference/api/v1-update-a-branch-config)<br>- [Update action run status](https://supabase.com/docs/reference/api/v1-update-action-run-status)<br>- [Authorize user](https://supabase.com/docs/reference/api/v1-authorize-user)<br>- [Exchange oauth token](https://supabase.com/docs/reference/api/v1-exchange-oauth-token)<br>- [Oauth authorize project claim](https://supabase.com/docs/reference/api/v1-oauth-authorize-project-claim)<br>- [Revoke token](https://supabase.com/docs/reference/api/v1-revoke-token)<br>- [Assign organization member role](https://supabase.com/docs/reference/api/v2-assign-organization-member-role)<br>- [Create an organization](https://supabase.com/docs/reference/api/v1-create-an-organization)<br>- [Get an organization](https://supabase.com/docs/reference/api/v1-get-an-organization)<br>- [Get organization entitlements](https://supabase.com/docs/reference/api/v1-get-organization-entitlements)<br>- [List all organizations](https://supabase.com/docs/reference/api/v1-list-all-organizations)<br>- [List organization members](https://supabase.com/docs/reference/api/v1-list-organization-members)<br>- [List organization members](https://supabase.com/docs/reference/api/v2-list-organization-members)<br>- [List organization roles](https://supabase.com/docs/reference/api/v2-list-organization-roles)<br>- [Create organization invitations](https://supabase.com/docs/reference/api/v2-create-organization-invitations)<br>- [Get profile](https://supabase.com/docs/reference/api/v1-get-profile)<br>- [Cancel a project restoration](https://supabase.com/docs/reference/api/v1-cancel-a-project-restoration)<br>- [Create a project](https://supabase.com/docs/reference/api/v1-create-a-project)<br>- [Create private link association](https://supabase.com/docs/reference/api/v2-create-private-link-association)<br>- [Delete a project](https://supabase.com/docs/reference/api/v1-delete-a-project)<br>- [Delete network bans](https://supabase.com/docs/reference/api/v1-delete-network-bans)<br>- [Delete private link association](https://supabase.com/docs/reference/api/v2-delete-private-link-association)<br>- [Get all projects for organization](https://supabase.com/docs/reference/api/v1-get-all-projects-for-organization)<br>- [Get available regions](https://supabase.com/docs/reference/api/v1-get-available-regions)<br>- [Get database disk](https://supabase.com/docs/reference/api/v1-get-database-disk)<br>- [Get disk utilization](https://supabase.com/docs/reference/api/v1-get-disk-utilization)<br>- [Get network restrictions](https://supabase.com/docs/reference/api/v1-get-network-restrictions)<br>- [Get postgres upgrade eligibility](https://supabase.com/docs/reference/api/v1-get-postgres-upgrade-eligibility)<br>- [Get postgres upgrade status](https://supabase.com/docs/reference/api/v1-get-postgres-upgrade-status)<br>- [Get project](https://supabase.com/docs/reference/api/v1-get-project)<br>- [Get project disk autoscale config](https://supabase.com/docs/reference/api/v1-get-project-disk-autoscale-config)<br>- [Get services health](https://supabase.com/docs/reference/api/v1-get-services-health)<br>- [List all network bans](https://supabase.com/docs/reference/api/v1-list-all-network-bans)<br>- [List all network bans enriched](https://supabase.com/docs/reference/api/v1-list-all-network-bans-enriched)<br>- [List all projects](https://supabase.com/docs/reference/api/v1-list-all-projects)<br>- [List available restore versions](https://supabase.com/docs/reference/api/v1-list-available-restore-versions)<br>- [List private link associations](https://supabase.com/docs/reference/api/v2-list-private-link-associations)<br>- [Modify database disk](https://supabase.com/docs/reference/api/v1-modify-database-disk)<br>- [Patch network restrictions](https://supabase.com/docs/reference/api/v1-patch-network-restrictions)<br>- [Pause a project](https://supabase.com/docs/reference/api/v1-pause-a-project)<br>- [Preview a project transfer](https://supabase.com/docs/reference/api/v2-preview-a-project-transfer)<br>- [Restart a project](https://supabase.com/docs/reference/api/v1-restart-a-project)<br>- [Restore a project](https://supabase.com/docs/reference/api/v1-restore-a-project)<br>- [Transfer a project](https://supabase.com/docs/reference/api/v2-transfer-a-project)<br>- [Update a project](https://supabase.com/docs/reference/api/v1-update-a-project)<br>- [Update network restrictions](https://supabase.com/docs/reference/api/v1-update-network-restrictions)<br>- [Upgrade postgres version](https://supabase.com/docs/reference/api/v1-upgrade-postgres-version)<br>- [Get realtime config](https://supabase.com/docs/reference/api/v1-get-realtime-config)<br>- [Shutdown realtime](https://supabase.com/docs/reference/api/v1-shutdown-realtime)<br>- [Update realtime config](https://supabase.com/docs/reference/api/v1-update-realtime-config)<br>- [Get postgrest service config](https://supabase.com/docs/reference/api/v1-get-postgrest-service-config)<br>- [Update postgrest service config](https://supabase.com/docs/reference/api/v1-update-postgrest-service-config)<br>- [Bulk create secrets](https://supabase.com/docs/reference/api/v1-bulk-create-secrets)<br>- [Bulk delete secrets](https://supabase.com/docs/reference/api/v1-bulk-delete-secrets)<br>- [Create project api key](https://supabase.com/docs/reference/api/v1-create-project-api-key)<br>- [Delete project api key](https://supabase.com/docs/reference/api/v1-delete-project-api-key)<br>- [Get pgsodium config](https://supabase.com/docs/reference/api/v1-get-pgsodium-config)<br>- [Get project api key](https://supabase.com/docs/reference/api/v1-get-project-api-key)<br>- [Get project api keys](https://supabase.com/docs/reference/api/v1-get-project-api-keys)<br>- [Get project legacy api keys](https://supabase.com/docs/reference/api/v1-get-project-legacy-api-keys)<br>- [List all secrets](https://supabase.com/docs/reference/api/v1-list-all-secrets)<br>- [Update pgsodium config](https://supabase.com/docs/reference/api/v1-update-pgsodium-config)<br>- [Update project api key](https://supabase.com/docs/reference/api/v1-update-project-api-key)<br>- [Update project legacy api keys](https://supabase.com/docs/reference/api/v1-update-project-legacy-api-keys)<br>- [Get storage config](https://supabase.com/docs/reference/api/v1-get-storage-config)<br>- [List all buckets](https://supabase.com/docs/reference/api/v1-list-all-buckets)<br>- [Update storage config](https://supabase.com/docs/reference/api/v1-update-storage-config) | - [Bare `/reference/api` (redirects to Introduction)](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api)<br>- [Introduction](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/introduction)<br>- [Get performance advisors](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-performance-advisors)<br>- [Get security advisors](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-security-advisors)<br>- [Create log drain](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-create-log-drain)<br>- [Delete log drain](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-delete-log-drain)<br>- [Get project function combined stats](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-function-combined-stats)<br>- [Get project logs](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-logs)<br>- [Get project logs all](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-logs-all)<br>- [Get project usage api count](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-usage-api-count)<br>- [Get project usage request count](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-usage-request-count)<br>- [List log drains](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-list-log-drains)<br>- [Update log drain](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-update-log-drain)<br>- [Create a sso provider](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-a-sso-provider)<br>- [Create legacy signing key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-legacy-signing-key)<br>- [Create project signing key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-project-signing-key)<br>- [Create project tpa integration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-project-tpa-integration)<br>- [Delete a sso provider](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-a-sso-provider)<br>- [Delete project tpa integration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-project-tpa-integration)<br>- [Get a sso provider](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-sso-provider)<br>- [Get auth service config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-auth-service-config)<br>- [Get legacy signing key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-legacy-signing-key)<br>- [Get project signing key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-signing-key)<br>- [Get project signing keys](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-signing-keys)<br>- [Get project tpa integration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-tpa-integration)<br>- [List all sso provider](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-sso-provider)<br>- [List project tpa integrations](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-project-tpa-integrations)<br>- [Remove project signing key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-remove-project-signing-key)<br>- [Update a sso provider](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-a-sso-provider)<br>- [Update auth service config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-auth-service-config)<br>- [Update project signing key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-project-signing-key)<br>- [Apply project addon](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-apply-project-addon)<br>- [List project addons](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-project-addons)<br>- [Remove project addon](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-remove-project-addon)<br>- [Accept invite external jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-accept-invite-external-jit-access)<br>- [Apply a migration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-apply-a-migration)<br>- [Authorize jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-authorize-jit-access)<br>- [Create login role](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-login-role)<br>- [Delete invite external jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-invite-external-jit-access)<br>- [Delete jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-jit-access)<br>- [Delete login roles](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-login-roles)<br>- [Disable readonly mode temporarily](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-disable-readonly-mode-temporarily)<br>- [Enable database webhook](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-enable-database-webhook)<br>- [Generate typescript types](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-generate-typescript-types)<br>- [Get a migration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-migration)<br>- [Get a snippet](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-snippet)<br>- [Get backup schedule](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-backup-schedule)<br>- [Get database metadata](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-database-metadata)<br>- [Get database openapi](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-database-openapi)<br>- [Get jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-jit-access)<br>- [Get jit access config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-jit-access-config)<br>- [Get pooler config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-pooler-config)<br>- [Get postgres config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-postgres-config)<br>- [Get project pgbouncer config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-pgbouncer-config)<br>- [Get readonly mode status](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-readonly-mode-status)<br>- [Get ssl enforcement config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-ssl-enforcement-config)<br>- [Invite external jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-invite-external-jit-access)<br>- [List all backups](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-backups)<br>- [List all snippets](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-snippets)<br>- [List jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-jit-access)<br>- [List migration history](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-migration-history)<br>- [Patch a migration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-patch-a-migration)<br>- [Read only query](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-read-only-query)<br>- [Remove a read replica](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-remove-a-read-replica)<br>- [Restore pitr backup](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-restore-pitr-backup)<br>- [Rollback migrations](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-rollback-migrations)<br>- [Run a query](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-run-a-query)<br>- [Setup a read replica](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-setup-a-read-replica)<br>- [Update backup schedule](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-backup-schedule)<br>- [Update database password](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-database-password)<br>- [Update jit access](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-jit-access)<br>- [Update jit access config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-jit-access-config)<br>- [Update pooler config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-pooler-config)<br>- [Update postgres config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-postgres-config)<br>- [Update ssl enforcement config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-ssl-enforcement-config)<br>- [Upsert a migration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-upsert-a-migration)<br>- [Activate custom hostname](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-activate-custom-hostname)<br>- [Activate vanity subdomain config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-activate-vanity-subdomain-config)<br>- [Check vanity subdomain availability](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-check-vanity-subdomain-availability)<br>- [Deactivate vanity subdomain config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-deactivate-vanity-subdomain-config)<br>- [Get hostname config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-hostname-config)<br>- [Get vanity subdomain config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-vanity-subdomain-config)<br>- [Update hostname config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-hostname-config)<br>- [Verify dns config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-verify-dns-config)<br>- [Bulk update functions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-bulk-update-functions)<br>- [Create a function](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-a-function)<br>- [Delete a function](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-a-function)<br>- [Deploy a function](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-deploy-a-function)<br>- [Get a function](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-function)<br>- [Get a function body](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-function-body)<br>- [List all functions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-functions)<br>- [Update a function](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-a-function)<br>- [Count action runs](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-count-action-runs)<br>- [Create a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-a-branch)<br>- [Delete a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-a-branch)<br>- [Diff a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-diff-a-branch)<br>- [Disable preview branching](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-disable-preview-branching)<br>- [Get a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-branch)<br>- [Get a branch config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-a-branch-config)<br>- [Get action run](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-action-run)<br>- [Get action run logs](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-action-run-logs)<br>- [List action runs](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-action-runs)<br>- [List all branches](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-branches)<br>- [Merge a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-merge-a-branch)<br>- [Push a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-push-a-branch)<br>- [Reset a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-reset-a-branch)<br>- [Restore a branch](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-restore-a-branch)<br>- [Update a branch config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-a-branch-config)<br>- [Update action run status](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-action-run-status)<br>- [Authorize user](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-authorize-user)<br>- [Exchange oauth token](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-exchange-oauth-token)<br>- [Oauth authorize project claim](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-oauth-authorize-project-claim)<br>- [Revoke token](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-revoke-token)<br>- [Assign organization member role](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-assign-organization-member-role)<br>- [Create an organization](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-an-organization)<br>- [Get an organization](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-an-organization)<br>- [Get organization entitlements](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-organization-entitlements)<br>- [List all organizations](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-organizations)<br>- [List organization members](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-organization-members)<br>- [List organization members](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-list-organization-members)<br>- [List organization roles](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-list-organization-roles)<br>- [Create organization invitations](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-create-organization-invitations)<br>- [Get profile](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-profile)<br>- [Cancel a project restoration](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-cancel-a-project-restoration)<br>- [Create a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-a-project)<br>- [Create private link association](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-create-private-link-association)<br>- [Delete a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-a-project)<br>- [Delete network bans](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-network-bans)<br>- [Delete private link association](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-delete-private-link-association)<br>- [Get all projects for organization](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-all-projects-for-organization)<br>- [Get available regions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-available-regions)<br>- [Get database disk](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-database-disk)<br>- [Get disk utilization](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-disk-utilization)<br>- [Get network restrictions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-network-restrictions)<br>- [Get postgres upgrade eligibility](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-postgres-upgrade-eligibility)<br>- [Get postgres upgrade status](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-postgres-upgrade-status)<br>- [Get project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project)<br>- [Get project disk autoscale config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-disk-autoscale-config)<br>- [Get services health](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-services-health)<br>- [List all network bans](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-network-bans)<br>- [List all network bans enriched](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-network-bans-enriched)<br>- [List all projects](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-projects)<br>- [List available restore versions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-available-restore-versions)<br>- [List private link associations](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-list-private-link-associations)<br>- [Modify database disk](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-modify-database-disk)<br>- [Patch network restrictions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-patch-network-restrictions)<br>- [Pause a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-pause-a-project)<br>- [Preview a project transfer](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-preview-a-project-transfer)<br>- [Restart a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-restart-a-project)<br>- [Restore a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-restore-a-project)<br>- [Transfer a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v2-transfer-a-project)<br>- [Update a project](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-a-project)<br>- [Update network restrictions](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-network-restrictions)<br>- [Upgrade postgres version](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-upgrade-postgres-version)<br>- [Get realtime config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-realtime-config)<br>- [Shutdown realtime](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-shutdown-realtime)<br>- [Update realtime config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-realtime-config)<br>- [Get postgrest service config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-postgrest-service-config)<br>- [Update postgrest service config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-postgrest-service-config)<br>- [Bulk create secrets](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-bulk-create-secrets)<br>- [Bulk delete secrets](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-bulk-delete-secrets)<br>- [Create project api key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-create-project-api-key)<br>- [Delete project api key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-delete-project-api-key)<br>- [Get pgsodium config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-pgsodium-config)<br>- [Get project api key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-api-key)<br>- [Get project api keys](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-api-keys)<br>- [Get project legacy api keys](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-project-legacy-api-keys)<br>- [List all secrets](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-secrets)<br>- [Update pgsodium config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-pgsodium-config)<br>- [Update project api key](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-project-api-key)<br>- [Update project legacy api keys](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-project-legacy-api-keys)<br>- [Get storage config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-get-storage-config)<br>- [List all buckets](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-list-all-buckets)<br>- [Update storage config](https://docs-git-nikrichers-docs-1268-spike-chunk-manag-905bfb-supabase.vercel.app/docs/reference/api/v1-update-storage-config) | 174 links per column: the bare `/reference/api` route plus all 173 API reference sections (Introduction + 172 operations). The bare-route link now redirects to Introduction on *both* sides (production already did via the `apps/www` fix earlier in this PR; the preview now matches, since the monolith-rendering branch is removed). For the other 173 links, production still resolves every one to today's same ~35MB monolith (all 172 endpoints on one page, regardless of which slug you clicked), while the preview serves each as its own individual per-endpoint page — click through any pair to compare page weight/content directly. ### Test plan - [ ] Open the PR preview and confirm `/reference/api/introduction` and a handful of `/reference/api/<operation-slug>` URLs render as individual pages (not the full monolith) - [ ] Confirm the API reference sidebar navigates between real pages (URL changes, page reloads) without console errors - [ ] Confirm `/reference/javascript/...`, `/reference/cli`, and `/reference/self-hosting-*` render exactly as they do on production (no regression) - [ ] Confirm `/reference/api` (bare) now redirects to `/reference/api/introduction` instead of rendering all 172 operations <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added individual pages for Management API operations with operation-specific titles, descriptions, metadata, and share previews. * API reference navigation now supports full page navigation between sections and operations. * **Bug Fixes** * Updated API reference routing to preserve direct links to operation pages. * Unknown API operations now return a not-found page. * **Documentation** * Updated Management API links and redirects to use the new API introduction page. * Bare API reference URLs now redirect to the introduction. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nik Richers <nik@validmind.ai> |
||
|
|
3c903b7dfa |
Add Elastic Tile to Supabase Metrics API page (#48564)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Feature ## What is the current behavior? Elastic is not added as a tile in metrics API page. ## What is the new behavior? Now Elastic is supporting Supabase metrcis ingestion, hence it should be listed in the Metrics page. ![Uploading Screenshot 2026-08-03 at 4.31.46 PM.png…]() <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added Elastic as a supported metrics integration in the documentation. - Added an Elastic integration card with community labeling and a link to Elastic’s documentation. - Added Elastic to the monitoring metrics navigation and Metrics API guide resources. - Added Elastic branding and iconography to the metrics integration listings for easier recognition. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io> |
||
|
|
80866c6f22 | docs(self-hosted): add updating how-to (#48535) | ||
|
|
c8954e6054 |
docs(security): add GDPR, ISO 27001, and DDoS coverage to security guide (#48449)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? This is a docs-only content update to the `/docs/guides/security` landing page and its neighboring guides. It adds a dedicated GDPR compliance guide, and surfaces ISO 27001 and DDoS protection coverage that Supabase already provides but wasn't listed anywhere in the docs security guide. Closes DOCS-354. ## What is the current behavior? - In `/docs/guides/security`, there is no mention of GDPR, ISO 27001 or DPA request potential, despite Supabase docs covering these partially in one place or another. - Confirmed by auditing `apps/docs/content/`: zero mentions of GDPR/data residency, zero DPA content or link to `/legal/dpa`, zero ISO 27001 mentions, and only incidental/wrong-audience mentions of DDoS protection (a pen-testing exclusion, a Storage CDN aside, a fail2ban troubleshooting article for banned users). - `regions.mdx` only frames region choice as a performance decision, with no data-residency/compliance angle. - This is a parallel docs-side counterpart to #48403 (marketing `/security` page content additions), which is adding the same GDPR/Data Residency/DPA/DDoS topics on `apps/www`. This PR does not modify `apps/www` — see that PR for the marketing-page changes. ## What is the new behavior? - New guide: `apps/docs/content/guides/security/gdpr-compliance.mdx` covering data residency (including the nuance that the "Europe" general region grouping includes non-EU jurisdictions UK and Switzerland) and the Data Processing Agreement (DPA), linked to `/legal/dpa`. - Added to the sidebar nav under Security → Compliance, alongside SOC 2 and HIPAA. - `apps/docs/content/guides/security.mdx`: added an ISO 27001 paragraph (dashboard certificate link, matching the existing SOC 2/HIPAA pattern) and a GDPR pointer paragraph to `## Compliance`; added a DDoS protection paragraph (Cloudflare CDN + fail2ban) to `## Platform configuration`. - `apps/docs/content/guides/platform/regions.mdx`: added a "Data residency" section clarifying that general region groupings may span non-matching jurisdictions, and specific regions should be used when strict jurisdictional residency is required. ## Additional context - Worktree: `~/GitHub/supabase/supabase-worktrees/nikrichers/docs-354-security-landing-page` - Note: Supabase's subprocessor list was considered for the GDPR guide but omitted — both candidate links (`/legal/customer-resources/subprocessor-list` and `/legal/privacy#subprocessors`) are not yet publishable/live. Follow up once Legal publishes that page. **Verification:** | Check | Result | | ------------------------------------ | ----------------------------------------------------------------------------------------------------- | | `pnpm lint:mdx` on changed/new files | Pass (0 errors, 0 warnings on touched files) | | `pnpm build:guides-markdown` | Fails on `master` too (unrelated missing `ai-skills.json` generated file) — not caused by this change | | Local render (`pnpm dev:docs`) | All three pages return 200; new copy, nav entry, and all links/anchors verified to resolve | ### Proof: Reviewers should believe: the security landing page and regions guide now list GDPR/ISO 27001/DDoS coverage that was previously missing, and the new GDPR guide renders correctly with working links, where before it 404'd. ### Before & After **`/docs/guides/security`** — ISO 27001, GDPR, and DDoS paragraphs now present: | [Before (production)](https://supabase.com/docs/guides/security) | [After (PR preview)](https://docs-git-nikrichers-docs-354-security-landing-page-supabase.vercel.app/docs/guides/security) | | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | |  |  | **`/docs/guides/platform/regions`** — new "Data residency" section: | [Before (production)](https://supabase.com/docs/guides/platform/regions) | [After (PR preview)](https://docs-git-nikrichers-docs-354-security-landing-page-supabase.vercel.app/docs/guides/platform/regions) | | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | |  |  | **`/docs/guides/security/gdpr-compliance`** — net-new page, no production URL exists yet (404 before this PR): | Before (production) | [After (PR preview)](https://docs-git-nikrichers-docs-354-security-landing-page-supabase.vercel.app/docs/guides/security/gdpr-compliance) | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | |  | ### Test plan ```text - [ ] Visit /docs/guides/security — confirm ISO 27001, GDPR, and DDoS paragraphs render under the right headings - [ ] Visit /docs/guides/security/gdpr-compliance — confirm it renders and appears in the sidebar under Compliance (next to SOC 2, HIPAA) - [ ] Visit /docs/guides/platform/regions — confirm the new "Data residency" section renders before "General regions" - [ ] Confirm links resolve: /docs/guides/security/gdpr-compliance, /docs/guides/platform/regions#specific-regions, /legal/dpa, /dashboard/org/_/documents ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Documentation - Added a GDPR Compliance entry to the Compliance navigation. - Updated security documentation with ISO 27001 certification details, clearer GDPR guidance, and expanded protection information. - Clarified regional data residency guidance, including primary project data and GDPR considerations. - Made minor wording and formatting improvements to the GDPR compliance guide. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nik Richers <nik@validmind.ai> |
||
|
|
5c5d7bcc63 |
docs: fix quickstart catalog gaps (#48618)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs update. Getting Started page is the most visited page in the docs at the moment: https://supabase.com/docs/guides/getting-started. Looking at all 19 guides, they appear to have drifted apart because there was never a written standard for what a quickstart must contain. Additionally, we are missing some frameworks, languages, and ORMs quickstarts. Phase 1 (this PR) fixes broken numbering, duplicated steps, and dead-end pages. Later phases bring all 19 guides into line with a single "definition of done" contract (error handling in samples, env vars everywhere, consistent Connect-panel pattern). The end goal is that every quickstart, regardless of framework, gives the same complete, trustworthy path from zero to a working app. ## What is the new behavior? 1. SvelteKit and Hono cards added to the [homepage grid](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs) (FrameworkQuickstarts.tsx). Only added the most popular missing frameworks to the grid. 2. [Rails](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/ruby-on-rails#2-install-agent-skills-optional): Add missing second step (Agent Skills), add next steps at the end (point 6) 3. [Laravel](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/laravel#6-set-up-the-postgres-connection-details): Remove duplicated instruction to create project from step 6. 4. [Refine](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/refine#5-update-supabaseclient-with-environment-variables): In step 5, create .env file (VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY), and the client reads them via import.meta.env, matching the Vite-based refine-supabase preset. 5. [Hono](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/hono#6-set-up-the-required-environment-variables) TODO resolved: In step 6, add the "Open Connect panel" Button with the generic api_settings.mdx partial call, identical to the Flask and Expo pattern. 6. Next steps added to the 9 guides missing it at the end of the guide, linking to the framework tutorial or Auth, UI components, data import, and Storage (Flutter, Kotlin, Laravel, Nuxt, RedwoodJS, Refine, Ruby on Rails, SolidJS, and Vue). 7. Remove 4 stale screenshots from RedwoodJS and Refine, along with their now-orphaned image assets under apps/docs/public/img/. The surrounding text already covers what they showed; they weren't Connect-panel screens, so the Button pattern didn't apply as a replacement. 8. Add [Supabase Agent Skills](https://docs-git-docs-fix-quickstart-catalog-gaps-supabase.vercel.app/docs/guides/getting-started/quickstarts/nextjs#4-install-agent-skills-optional) purpose and benefits for the user 9. Start all guides from creating Supabase project ## Additional context Add any other context or screenshots. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Documentation - Added SvelteKit and Hono quickstarts with icons and documentation links. - Expanded Agent Skills guidance across framework quickstarts, including current authentication, SSR, and migration patterns. - Improved project creation, Connect panel, API configuration, and credential setup instructions. - Added framework-specific “Next steps” resources for Auth, database imports, Storage, UI components, and libraries. - Clarified PostgreSQL SSL, password encoding, connection, and environment-variable requirements. - Replaced outdated screenshots with clearer setup guidance and relevant examples. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c0f1ef51fb |
feat(docs): migrate resources and getting-started to ContentListings (#48517)
## What kind of change does this PR introduce? Docs update / follow-up to #48379. ## What is the current behavior? `/guides/resources` and `/guides/getting-started` hand-roll `GlassPanel` grids in MDX. They look like ContentListings cards after the chrome PR, but they do not use the shared data files, so they miss PostHog `docs_content_listing_clicked` telemetry and the CONTRIBUTING contribution path. ## What is the new behavior? Those pages use `<ContentListings id="…" />` backed by `resources.data.ts` and `getting-started.data.ts`, same pattern as storage. - Section-level `$Show` wrappers stay for framework / web / mobile blocks - Nimbus stays a `$Partial` behind `$Show` - New optional per-item `feature` field gates SDK links (e.g. Flutter / Swift / Kotlin) without splitting whole sections - CONTRIBUTING notes when to use `feature` vs a partial-level `$Show` ## To test Compare the following against `master`: - [Resources](https://docs-git-dnywh-docs-content-listings-resources-239158-supabase.vercel.app/docs/guides/resources): overview, migrate, and postgres grids; icons in light/dark - [Getting started](https://docs-git-dnywh-docs-content-listings-resources-239158-supabase.vercel.app/docs/guides/getting-started): overview, use cases, framework quickstarts, web demos, mobile tutorials; nimbus partial when enabled - Click a card and confirm `docs_content_listing_clicked` fires with the expected `listingId` Everything should look and feel the same. It’s just that we’re using `ContentListings` instead of `GlassPanel` grids. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added centralized Getting Started and Resources content listings, including quickstarts, demos, tutorials, migration guides, and Postgres resources. - Added feature-based visibility controls for individual content listing items. - **Improvements** - Disabled content is now automatically hidden from documentation pages and generated Markdown. - Pages and sections with no available content are omitted entirely. - External documentation links are more secure. - Updated contribution guidance with instructions and examples for feature flags. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
320111b06b |
fix(docs): replace hardcoded heading tags in 4 shared components (#48456)
Closes DOCS-1261 _WAVE plugin shows headers creating jumps in hierarchy. Preview on the left:_ <img width="1022" height="417" alt="Screenshot 2026-07-29 at 2 42 07 PM" src="https://github.com/user-attachments/assets/f5e3bd09-8dbf-45e3-8a7f-70d7334fd25b" /> <img width="408" height="663" alt="Screenshot 2026-07-29 at 2 44 33 PM" src="https://github.com/user-attachments/assets/6b952a81-40e5-4a9d-b08a-190c71575cac" /> ## Problem Four shared components in `apps/docs` render a hardcoded heading tag no matter where they're used: - `NamedCodeBlock` renders a code block's filename as an `<h6>` - `ProjectConfigVariables` renders a variable label as an `<h6>` - `StepHikeCompact.Details` renders a step title as an `<h3>` - `IconPanel` renders its title as an `<h5>` Since these are fixed, they often land in the wrong spot in a page's heading order (like an h6 right after an h2), which breaks navigation for screen reader users. This showed up in the [header hierarchy triage report](https://app.notion.com/p/supabase/Playwright-E2E-Triage-Reports-3ab5004b775f81e3bc60d058fa5a02c1) — fixing these 4 components alone resolves 72 of the 159 heading-order violations found. ## Solution Swapped the heading tag in each component for a `<span>` with the same classes. None of these are really "headings" for the content that follows, so they shouldn't be in the tag tree at all. The one wrinkle: this codebase applies heading font weight/family through a global CSS rule keyed off the tag name (h1-h6), not something the tag gives you for free. So each span now sets that styling explicitly, plus a margin to match what was there before. Nothing else changed — same classes, same layout. ## Manual testing Staging preview: https://docs-git-ui-header-hierarchy-supabase.vercel.app Check that each one still looks right: - [NamedCodeBlock](https://docs-git-ui-header-hierarchy-supabase.vercel.app/docs/guides/self-hosting/docker) — filenames above the code blocks - [ProjectConfigVariables](https://docs-git-ui-header-hierarchy-supabase.vercel.app/docs/guides/auth/quickstarts/react-native) — the "Project URL" / "Publishable key" labels (this page also has a `NamedCodeBlock` inside the numbered steps) - [StepHikeCompact](https://docs-git-ui-header-hierarchy-supabase.vercel.app/docs/guides/database/beekeeper-studio) — the step titles ("Create a new connection", etc.) - [IconPanel](https://docs-git-ui-header-hierarchy-supabase.vercel.app/docs/guides/resources) — the "Auth0" / "Firebase Auth" panel titles under "Migrate to Supabase" I also ran typecheck, lint, and the docs test suite locally — all green. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated headings and labels across documentation and UI components for more consistent typography. * Improved spacing, font weight, and block-level layout for project variables, step details, code tabs, and icon panels. * Preserved existing text content and conditional display behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> |
||
|
|
27f18f0359 |
Spring Boot Quickstart (#48396)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? docs update ## What is the new behavior? Spring Boot quickstart guide <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a “Use Supabase with Spring Boot” quickstart guide, including project setup, Session pooler/JPA configuration, sample entity/repository, seed data, and a `GET /instruments` endpoint. - Added “Spring Boot” to the Getting Started “Framework Quickstarts” navigation, shown only when not in JS-only mode. - Added a Spring Boot AI prompt with step-by-step integration instructions. - **Documentation** - Updated MDX linting rules to allow “Spring Boot” and “Spring Data JPA” headings, and to permit “Initializr” spelling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: Jeremias Menichelli <jmenichelli@gmail.com> |
||
|
|
6a99952af5 | docs(self-hosted): update nav and minor corrections (#48499) | ||
|
|
0e5c073b46 |
fix(docs): unblock prerender by closing Image JSX without blank lines (#48465)
## What kind of change does this PR introduce? Bug fix ## What is the current behavior? Docs production builds can fail during prerender with: `TypeError: Cannot read properties of undefined (reading 'children')` Seen on `/guides/ai/going-to-prod` (and the same pattern exists on several other guides). Root cause: blank lines inside MDX JSX such as `<Image ...>` make the MDX parser treat the element as closed early, which corrupts the AST. Separately, `apps/docs/components/Image.tsx` forwarded accidental `children` (and could overwrite `src`) onto `next/image`. ## What is the new behavior? - Remove blank lines before the closing `/>` on the affected guide MDX files so the JSX stays one element. - Make the docs `Image` wrapper drop `children` and keep `src` from props only, so a bad MDX tree is less likely to crash the build. ## Additional context Split out of #48428 so that PR stays focused on Admonition/Alert typography. ### To test 1. Check out this branch and run the docs app locally (`apps/docs`), or wait for the Vercel docs preview on this PR. 2. Confirm these pages render without a prerender / `children` crash: - [/docs/guides/ai/going-to-prod](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/ai/going-to-prod) - [/docs/guides/ai/engineering-for-scale](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/ai/engineering-for-scale) - [/docs/guides/ai/choosing-compute-addon](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/ai/choosing-compute-addon) - [/docs/guides/ai/vector-indexes/hnsw-indexes](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/ai/vector-indexes/hnsw-indexes) - [/docs/guides/database/orioledb](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/database/orioledb) - [/docs/guides/database/connecting-to-postgres](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/database/connecting-to-postgres) - [/docs/guides/telemetry/reports](https://docs-git-fix-docs-image-mdx-blank-lines-supabase.vercel.app/docs/guides/telemetry/reports) 3. Spot-check that the guide images still show at the expected size (no broken/missing images from the `Image` wrapper change). 4. Confirm Docs CI / Vercel docs build passes on this PR (this was the failure mode on master-ish builds). <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added zoomable behavior to the Disk Size chart, with optimized light and dark theme images. * **Bug Fixes** * Improved image rendering in documentation pages by handling captions, styling, and MDX content more reliably. * Corrected image markup formatting across multiple guides to ensure content parses and displays correctly. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3b06c6c7cc |
fix(docs): unify docs card hover and retire IconPanel (#48379)
## What kind of change does this PR introduce?
Bug fix / docs UI polish.
## What is the current behavior?
- Many docs `GlassPanel`s use `background={false}`, so hover only tweaks
the border and reads as having no hover state
- Compact icon+label grids still use `IconPanel`, which has a broken
`-z-10` hover fill and overlaps with the newer `IconLink` pattern
- Description card grids jump to 3-up too early on medium widths
## What is the new behavior?
**GlassPanel**
- Removes the `background` prop; cards always use the filled surface
with stronger border hover
- Tightens icon→description gap (`gap-6` → `gap-3`)
- Decorative icons/logos use empty `alt` so screen readers don’t hear
the title twice
**Icon tiles**
- Retires `IconPanel` from docs and deletes it from `ui-patterns`
- Uses `IconLink` / `IconLinkList` for compact navigation tiles (auth
providers, social login, etc.)
- Adds `IconLinkButton` for SMS provider pickers (same chrome, opens a
dialog)
- Adds focus styles, list labelling, and dialog-trigger ARIA where
needed
**Layout / content**
- Migrate-to-Supabase description cards on resources use `GlassPanel`
(not slim icon tiles)
- Grid spans use `md:… xl:…` so cards stay 2-up until ~1280px
- Fixes migrate links to `/guides/platform/migrating-to-supabase/…` and
SSR quickstarts to `creating-a-client` with framework query params
- Moves the Extensions list `key` onto the outer `Link`
| Before | After |
| --- | --- |
| <img width="1185" height="1323" alt="Resources Supabase Docs"
src="https://github.com/user-attachments/assets/1677bf65-d3a3-4202-8c70-e758f7c3bcce"
/> | <img width="1185" height="1323" alt="Resources Supabase Docs"
src="https://github.com/user-attachments/assets/51760f0f-62b6-4010-9841-de26039f37b4"
/> |
## Additional context
Homepage compact sections already use `IconLinkList` from #48317; this
PR finishes that pattern for remaining docs `IconPanel` callsites and
cleans up GlassPanel hover.
`www/customers` only drops the removed `background` prop; those cards
already use the filled surface via `logo`.
## Test plan
- [ ] `/guides/getting-started`: GlassPanels show filled surface and
clearer border hover
- [ ] `/guides/resources`: migrate cards are GlassPanels with working
`/platform/…` links; 2-up until xl
- [ ] `/guides/auth/social-login` and auth providers partial: IconLink
tiles hover/focus correctly
- [ ] `/guides/auth/phone-login`: SMS provider buttons open dialogs;
keyboard focus works
- [ ] Docs homepage: migrate / self-host IconLinkLists unchanged in
behaviour
- [ ] `/guides/auth/server-side`: Next.js / SvelteKit cards resolve on
docs preview
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Improved Layouts**
* Made “GlassPanel” card grids more responsive and consistent; refined
card and success badge spacing for a cleaner presentation.
* **Updated Documentation**
* Refreshed multiple guide and resource pages (including quickstarts and
migration content) with standardized card layouts and updated link
destinations.
* **Component Updates**
* Standardized “GlassPanel” styling (background toggle removed) and
simplified icon-based panels; added an `IconLinkButton` for action
tiles; updated authentication provider grids to use the shared tile UI.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
bf5a729f2d |
docs(telemetry): rename section and restructure as Monitoring and Debugging (#48243)
## Summary - Renames the **Telemetry** nav section to **Monitoring and Debugging** (nav label + sidebar title) - Rewrites the section overview (`telemetry.mdx`) as a clean navigation page using `ContentListings` — three panels (Debugging / Monitoring / AI & automation) with no how-to prose - Adds new `telemetry.data.ts` content-listings data file with three groups registered in `index.ts` - Adds a new **Debugging** guide (`debugging.mdx`) — request-stack model, symptom-to-layer router with troubleshooting links for every service, logging guidance - Adds cross-links between `debugging.mdx`, `logs.mdx`, and `advanced-log-filtering.mdx` - Adds a new **AI agents and MCP** page (`ai-agents.mdx`) — MCP tools table, `get_logs` usage, debugging skill workflow - Restructures sidebar into three groups: **Debugging** / **Monitoring** / **AI & automation** ## Motivation - No central entry point existed for debugging — content was scattered across products with no index - The overview page had almost no links for agents to follow - The section name "Telemetry" caused confusion (also used for CLI usage telemetry) - Unblocks the `supabase` debugging skill, which routes agents to this section as its source of truth ## Test plan - [ ] `/docs/guides/telemetry` — three ContentListings panels render, no prose how-to text - [ ] `/docs/guides/telemetry.md` (markdown) — clean link list, navigable by LLMs - [ ] `/docs/guides/telemetry/debugging` — renders correctly, symptom table links resolve - [ ] `/docs/guides/telemetry/ai-agents` — new page renders correctly - [ ] Sidebar shows 3 groups: Debugging / Monitoring / AI & automation - [ ] All cross-links between debugging, logs, and advanced-log-filtering resolve <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary - **New Features** - Added new documentation coverage for AI agent–assisted monitoring and debugging, including an observability-driven troubleshooting workflow. - **Documentation** - Updated the “Telemetry” area to “Monitoring and Debugging” with a refreshed landing page and reorganized sections (Debugging, Monitoring, and AI). - Revised the debugging and logs guides to improve step-by-step guidance and highlight advanced log filtering. - **Navigation** - Renamed and restructured the top-level navigation entry to reflect the new Monitoring and Debugging content layout. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Jeremias Menichelli <jmenichelli@gmail.com> |
||
|
|
e74ccefbb9 |
fix(docs): add cursor-pointer to tabs and copy controls (#48380)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Bug fix / polish ## What is the current behavior? Some docs interactive controls (copy buttons, tab triggers) do not show a pointer cursor on hover, so they feel less clickable than surrounding links. Called out on https://github.com/supabase/supabase/pull/48318. ## What is the new behavior? Adds `cursor-pointer` in one sweep so related controls stay consistent: - Shared `TabsTrigger` in `packages/ui` (covers PromptPanel AI Prompt / CLI tabs, including the unselected tab) - PromptPanel copy button and Show more / Show less - Guides sidebar “Copy as Markdown” - Docs code block copy button ## To test Hover the controls below and confirm the cursor is `pointer` on both selected and unselected tabs, and on copy buttons. ### Docs Preview: https://docs-git-dnywh-docs-cursor-pointer-supabase.vercel.app/docs - Homepage setup prompt: [AI Prompt / CLI tabs + copy](https://docs-git-dnywh-docs-cursor-pointer-supabase.vercel.app/docs) - Quickstart prompt: [Show more / Show less + copy](https://docs-git-dnywh-docs-cursor-pointer-supabase.vercel.app/docs/guides/getting-started/quickstarts/nextjs) - Guide sidebar + code block: [Copy as Markdown + code copy](https://docs-git-dnywh-docs-cursor-pointer-supabase.vercel.app/docs/guides/database/tables) ### Design system Preview: https://design-system-git-dnywh-docs-cursor-pointer-supabase.vercel.app/design-system - Shared tabs demo: [Account / Password triggers](https://design-system-git-dnywh-docs-cursor-pointer-supabase.vercel.app/design-system/docs/components/tabs) ### UI library Preview: https://ui-library-git-dnywh-docs-cursor-pointer-supabase.vercel.app/ui - Install command package-manager tabs (npm / pnpm / yarn / bun) + copy: [Password-based auth](https://ui-library-git-dnywh-docs-cursor-pointer-supabase.vercel.app/ui/docs/nextjs/password-based-auth) ### Studio (staging) Preview: https://studio-staging-git-dnywh-docs-cursor-pointer-supabase.vercel.app - Auth user panel: open a project → Authentication → Users → select a user → hover Overview / Logs (and related) tabs - Connect sheet: open Connect on a project → hover the install method tabs ### Studio (self-hosted) Preview: https://studio-self-hosted-git-dnywh-docs-cursor-pointer-supabase.vercel.app - Same `TabsTrigger` callsites as Studio staging (user panel / Connect sheet) ### WWW Preview: https://zone-www-dot-com-git-dnywh-docs-cursor-pointer-supabase.vercel.app - Blog chart tabs (`PGChart` → shared `TabsTrigger`): [Latency / Number of results / Average latency / Raw data](https://zone-www-dot-com-git-dnywh-docs-cursor-pointer-supabase.vercel.app/blog/postgres-full-text-search-vs-the-rest) (scroll to the Results section) ## Additional context Split out from #48318 so the homepage prompt polish stays focused. Prefer fixing the shared tab trigger rather than only the PromptPanel copy button, otherwise the copy control would show pointer while an unselected CLI tab would not. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Improved hover feedback across the docs UI by adding a pointer cursor to “Copy as Markdown,” code block copy and word-wrap controls, prompt copy buttons, and tab selectors. * Updated cursor styling consistently so interactive controls better communicate clickability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0d465e7b5f |
chore(ui): Remove 'tip' from Admonition (#48419)
Closes FE-3966 ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## Problem - The admonition uses both 'tip' and 'note', but the visual distinction has long-ago collapsed. - 'Note' is used far more frequently than 'tip' - The two are very similar and it is confusing to know which one to use when they are visually identical ## Solution Collapse 'tip' and 'note' into one by removing all places where there is 'tip' and updating all references to 'tip' into 'note'. **Note:** This PR also resolves new broken links flagged by the E2E docs checker. It may move to another PR since E2Es keep erroring. ### Specific changes See below for an AI-generated list of changes: - **Type system** — removed `'tip'` from `AdmonitionType`, its `TYPE_TO_VARIANT`/`TYPE_LABEL` entries, and the test case in [`packages/ui-patterns/src/Admonition/](packages/ui-patterns/src/Admonition/) - **Remark plugin** — [remarkAdmonition.ts](apps/docs/lib/mdx/plugins/remarkAdmonition.ts) now maps mkdocs `tip` → `note` - **Lint allowlist** — `tip` dropped from `supa-mdx-lint.config.toml` - **Content migration** — all 109 files with `type="tip"` (across `apps/docs`, `apps/www`, `apps/studio`) converted to `type="note"`; zero remaining hits confirmed by repo-wide grep - **Style guide** — `CONTRIBUTING.md` and `contributing/content.mdx` updated to describe 4 admonition types instead of 5 ### Usage before implementation See the usage table that points toward 'note' as being dominant across all apps: Here's the usage table: | Location | `note` | `tip` | |---|---|---| | apps/docs | ~480 | ~143 | | apps/studio | 34 | 6 | | apps/www (blog) | 19 | 3 | | packages/ui-patterns (tests) | 3 | 1 (parametrized) | | design-system / ui-library / packages/ui / packages/common | 0–1 (test fixture only) | 0 | ## Preview links | App | Page | Search text (Ctrl+F) | Verify | |---|---|---|---| | docs | [/docs/guides/ai-tools/byo-mcp](https://docs-git-admonition-collapse-note-tip-supabase.vercel.app/docs/guides/ai-tools/byo-mcp) | official MCP TypeScript SDK | callout's aria-label="Note" | | docs | [/docs/guides/ai-tools/mcp](https://docs-git-admonition-collapse-note-tip-supabase.vercel.app/docs/guides/ai-tools/mcp) | MCP server is available at | callout's aria-label="Note" | | docs | [/docs/guides/ai/python-clients](https://docs-git-admonition-collapse-note-tip-supabase.vercel.app/docs/guides/ai/python-clients) | Click Connect at the top of any project page | callout's aria-label="Note" | | docs | [/docs/guides/auth/audit-logs](https://docs-git-admonition-collapse-note-tip-supabase.vercel.app/docs/guides/auth/audit-logs) | Disabling Postgres storage reduces your database storage costs | callout's aria-label="Note" | | docs | [/docs/guides/database/tables](https://docs-git-admonition-collapse-note-tip-supabase.vercel.app/docs/guides/database/tables) | access a custom schema through the Supabase Data API | callout's aria-label="Note" | | docs | [/docs/guides/troubleshooting/edge-function-404-error-response](https://docs-git-admonition-collapse-note-tip-supabase.vercel.app/docs/guides/troubleshooting/edge-function-404-error-response) | Always configure an appropriate time frame | callout's aria-label="Note" (was single-quoted type='tip') | | www | [blog: cli-v2-config-as-code](https://zone-www-dot-com-git-admonition-collapse-note-tip-supabase.vercel.app/blog/cli-v2-config-as-code) | Detecting config drift | callout's aria-label="Note" | | www | [blog: cli-v2-config-as-code](https://zone-www-dot-com-git-admonition-collapse-note-tip-supabase.vercel.app/blog/cli-v2-config-as-code) | Setting Edge Function secrets | callout's aria-label="Note" | | www | [blog: nosql-mongodb-compatibility-with-ferretdb-and-flydotio](https://zone-www-dot-com-git-admonition-collapse-note-tip-supabase.vercel.app/blog/nosql-mongodb-compatibility-with-ferretdb-and-flydotio) | If your network supports IPv6 connections | callout's aria-label="Note" | Note: the `www` rows use the `zone-www-dot-com` preview host, not the `docs` one you gave — since blog pages are served from the www app, not docs. ## Manual testing 1. Open preview links for affected pages. 2. Inspect. Open console. 3. Paste the following in and see there is no 'Tip' on the page: ``` document.querySelectorAll('[role="alert"]').forEach(el => console.log(el.getAttribute('aria-label'), el.textContent.slice(0,60))) ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Standardized informational callouts across docs and tutorials from **“Tip”** to **“Note”**, updating multiple examples and guidance blocks. * Updated a few related doc references/links and conditional “Next steps” content. * **UI Updates** * Switched various in-app banners and notices to the **“Note”** style variant. * **Bug Fixes / Improvements** * Removed support for the retired **“Tip”** callout type and aligned docs linting, component behavior, and aria labeling to the remaining admonition types. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0695579870 | docs(self-hosted): add a guide covering custom pg extensions (#48203) | ||
|
|
5712eefe06 |
fix(docs): polish homepage AI setup prompt (#48318)
## What kind of change does this PR introduce? Bug fix / docs UI polish. ## What is the current behavior? The homepage AI Prompt panel: - Has an `expandable` feature but its overflow contents are ~1 line extra - Expanding it affects the cover height and causes layout shift - Below `xl`, the hero stacked and the logo sat alone above the title on small screens. ## What is the new behavior? - Shows the full AI setup prompt by default and removes the unused `expandable` machinery from `PromptPanel` - Keeps both tab panes in a shared grid cell so the panel height stays stable when switching tabs - Keeps logo + title in a row at all sizes, and starts the side-by-side hero (copy + prompt) at `lg` instead of `xl` | Before | After | | --- | --- | | <img width="1279" height="722" alt="15728" src="https://github.com/user-attachments/assets/c61fdbbc-706c-47cf-8b47-4245d4c96215" /> | <img width="1280" height="722" alt="Supabase Docs" src="https://github.com/user-attachments/assets/ab3a97a4-d725-4d9e-92bf-6f564a22f1bd" /> | | <img width="1279" height="722" alt="Supabase Docs" src="https://github.com/user-attachments/assets/42906c4b-4f82-4fbc-8bab-3f5d9530aa54" /> | <img width="1280" height="722" alt="Supabase Docs" src="https://github.com/user-attachments/assets/177a17d7-536c-4bd6-a8d0-1a2bc10f3ac9" /> | | <img width="1012" height="722" alt="96312" src="https://github.com/user-attachments/assets/032a3b43-078f-4d13-a67d-9a36c76a9be5" /> | <img width="1012" height="722" alt="Supabase Docs" src="https://github.com/user-attachments/assets/f3ff3c0a-6df8-4e61-bfcb-ab99e99cccea" /> | ## To test Play around with the docs homepage AI Prompt panel on the Vercel preview at various breakpoints: https://docs-git-dnywh-docs-ai-prompt-expanded-supabase.vercel.app/ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved prompt panel tab navigation with manual activation for more predictable switching and enhanced accessibility. - Inactive tab panels now remain mounted while reflecting active/inactive state for smoother transitions. - **Style** - Refined the documentation homepage cover layout, including responsive alignment, logo sizing behavior, and updated heading/paragraph spacing. - Updated setup prompt presentation and refined expandable prompt sizing and control styling. - **Bug Fixes** - Inactive prompt content is now hidden and non-interactive, preventing unintended interaction. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
37dded67d1 |
feat: unify SkipToContent across studio, docs, www, and design-system (#48314)
## What kind of change does this PR introduce? Feature / a11y polish ## What is the current behavior? Studio and Docs each had their own skip-to-content link (different styling and behaviour). www and design-system had none. ## What is the new behavior? Shared `SkipToContent` in `ui-patterns`, adopted by Studio, Docs, www, and design-system. Documented as a fragment with a short note under Accessibility → Jumping ahead. Tab once to reveal the button (top-left), Enter to jump to a content-only `<main>`. | After | | --- | | <img width="836" height="324" alt="CleanShot 2026-07-24 at 14 08 47@2x" src="https://github.com/user-attachments/assets/6df29452-e53a-4eca-8f64-946f2b9f605d" /> | ## To test Shared steps for every app: enable Tab key navigation if needed, load the preview, press **Tab** once — skip button should slide in top-left. Press **Enter** — focus jumps to main content (no blue ring on `<main>`). Press **Tab** again — first interactive control in the page body, not the sidebar/nav. Hover the skip button — solid fill, clear hover state, no chrome showing through. - **Studio** — [preview](https://studio-staging-git-dnywh-featskip-to-content-supabase.vercel.app) → sign in → any project page - **Docs** — [preview](https://docs-git-dnywh-featskip-to-content-supabase.vercel.app) → any docs page with sidebar - **www** — [preview](https://zone-www-dot-com-git-dnywh-featskip-to-content-supabase.vercel.app) → homepage or any marketing page with the default nav - **Design system** — [preview](https://design-system-git-dnywh-featskip-to-content-supabase.vercel.app) → any docs page (confirm Tab from content does **not** walk the sidebar), plus [Skip to Content fragment](https://design-system-git-dnywh-featskip-to-content-supabase.vercel.app/docs/fragments/skip-to-content) ## Additional context Follow-up to #47694 / #48303 (Studio) and #47515 (Docs). <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a reusable “Skip to content” accessibility link across key layouts and pages. - Updated main landmarks to support keyboard focus and skip-link navigation (`id="main"`). - **Accessibility** - Skip links now follow consistent landmark-target conventions and remain hidden until focused. - Improved documentation for skip links/jump shortcuts in persistent chrome layouts. - **Documentation** - Added a dedicated Skip to Content fragment, navigation entry, and expanded accessibility guidance. - Updated button description wording in component docs. - **Tests** - Added component tests for SkipToContent. - **Chores** - Exposed SkipToContent via additional public package entry points. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ca2b50a0a7 |
chore(ui-patterns): collapse the admonition shim into ui-patterns/Admonition (#48377)
Follow-up to #48344: collapses the two resolution paths for the Admonition module into one. `src/admonition.tsx` was a back-compat shim re-exporting `src/Admonition/`. Two ways to resolve one module is exactly what produced the macOS self-import bug fixed in #48344, and the local typecheck errors that #48374 worked around. This removes the shim and standardizes on the PascalCase subpath, matching every other export in the package. **Changed:** - Codemodded all 246 `ui-patterns/admonition` imports to `ui-patterns/Admonition` (240 `.tsx`, 5 `.mdx`, 1 `.ts` across studio, docs, www, design-system, and lite-studio) - Pointed the 5 internal `'../admonition'` imports back at the `'../Admonition'` directory **Removed:** - `packages/ui-patterns/src/admonition.tsx`, and its `./admonition` entry in the exports map (regenerated with `pnpm gen:exports`) ## To test - `grep -r "ui-patterns/admonition" --include='*.ts*'` → no hits - `pnpm test:case-hazards` → passes - `pnpm typecheck` → all 15 tasks green - `pnpm --filter studio run lint:ratchet` → passes - `pnpm --filter ui-patterns vitest run src/Admonition` → 11 tests pass <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Standardized Admonition component imports across the application and documentation. * Improved compatibility with case-sensitive environments by using the canonical component path. * Removed the legacy Admonition import entry point. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> |
||
|
|
4bda3bfe72 |
refactor(docs): unify homepage icon link tiles (#48317)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Docs UI refactor. ## What is the current behavior? Framework quickstarts and several other homepage grids used `IconPanel` / `IconPanelWithIconPicker`, which brought redundant tooltips (duplicating the visible title), inconsistent hover treatment, and circular icon tiles that didn't match the intended squarish look. | Before | | --- | | <img width="1744" height="626" alt="CleanShot 2026-07-24 at 14 29 44@2x" src="https://github.com/user-attachments/assets/1e145be2-19c9-4bd0-bf06-17516acbc774" /> | ## What is the new behavior? Introduces a shared `IconLink` used across the docs homepage (and reference index) so icon+label tiles share the same composition and hover: icon tile fill matches the surrounding surface (`surface-100`), with a stronger border on hover, and the row uses `hover:bg-accent`. Framework quickstarts keep the larger tile size; other sections keep the smaller size. Also aligns Explore more GlassPanels with Build your backend by using the same bordered background treatment. | After | | --- | | <img width="2478" height="906" alt="CleanShot 2026-07-24 at 15 09 48@2x" src="https://github.com/user-attachments/assets/dd516845-c162-47e4-8b86-9a7fa0e73290" /> | ## Additional context Removes the unused `IconPanelWithIconPicker` wrapper now that homepage/reference consumers go through `IconLink`. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added reusable `IconLink` UI for consistent docs tiles, including `IconLinkList`, menu icon, and light/dark icon rendering. * Introduced `FrameworkQuickstarts` to generate quickstart links based on feature-flag-enabled SDKs. * **UI / Improvements** * Updated the docs home and API reference pages to use the new list-based icon-link layout. * Refreshed migration guides and “Explore more”/self-hosting sections (including accessibility and updated CTA text). * **Bug Fixes** * Migration guide items now omit entries missing required details. * **Chores / Cleanup** * Removed the older icon panel picker-based UI component and its usage. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b5cae478bc |
fix(docs) Add smoke test for local development without credentials (#48218)
Closes DOCS-1210 Closes DOCS-1209 #48226 needs to merge first for CI failure ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Test coverage and several small bug fixes discovered during implementation. ## What is the current behavior? Nothing verified that `pnpm run dev:docs` keeps working without private credentials. We value this command working, especially for community contributors. However, this issue can go undetected by employees at Supabase since many of us have credentials in place. We do not want this to go a week before finding and fixing like in the previous instance. ## What is the new behavior? - **New Playwright test suite**: `e2e/docs/local-smoke/no-credentials.spec.ts` boots the docs dev server with zero GitHub App/Supabase secrets and checks 5 routes covering each known failure point. - **CI**: a new `local-dev-smoke` job in `docs-tests.yml` runs this suite with no credentials configured. ## Additional bugs resolved Setting up this test exposed other issues that are fixed in this PR: - **Troubleshooting.utils.ts crash** — Unguarded Supabase call pattern, crashing every troubleshooting article. Added the same guard as previous fixes. - **Missing manifest.json** — middleware.ts statically imports public/markdown/manifest.json, which is gitignored and only generated by a build step that's skipped in local dev. On a fresh checkout it doesn't exist, so middleware fails to compile and takes down every page. Fixed by committing a placeholder [] (real builds still regenerate the full file). - **Phantom @code-hike/mdx import** — apps/docs/app/layout.tsx imported @code-hike/mdx/styles.css, but only apps/www actually declares that dependency. Worked by accident whenever both apps were installed together; broke in CI's docs-only install. Turned out to be dead code (nothing in docs actually uses code-hike), so fixed by deleting the unused imports rather than adding the dependency. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit * **New Features** * Added a credential-free “local smoke” end-to-end test suite for key documentation routes. * **Bug Fixes** * Improved troubleshooting behavior when required external service credentials are missing. * Updated federated “wrappers” documentation pages to gracefully show a fallback message when external content can’t be fetched. * **Tests** * Added a dedicated local-smoke Playwright runner and enhanced CI path-based triggering and reporting (failure-focused artifacts). * **Chores** * Refined docs workflow path filters and adjusted docs markdown manifest/ignore rules for generated content. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
075caf314e | chore: refactor database advisors and database wrapper federated content (#48199) | ||
|
|
e0ecaadc21 |
docs: make AI tools section agent-first (#48167)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? This PR reworks the `/guides/ai-tools` docs section to be agent-first. The overview now leads with the fastest path to a working setup (the plugin install command), a "What's supported?" card grid showing which coding agents and IDEs work via Plugin and/or MCP (with each product's own tagline, not a generated sentence), and a concepts glossary — instead of a plain four-item list. The sidebar "AI Tools" widget, shown on every guides page, now links to this hub ("Connect your AI agent") instead of opening a ChatGPT/Claude chat frontend. Closes DOCS-1201. ## What is the current behavior? - The `/guides/ai-tools` overview is a plain four-item bullet list with no getting-started path, compatibility info, or concepts explanation. - The sidebar "AI Tools" widget offers "Copy as Markdown", "Ask ChatGPT", and "Ask Claude" — the latter two send you to a chat frontend instead of agent setup. ## What is the new behavior? - `ai-tools.mdx`: intro → plugin install callout → "What's supported?" card grid (`<ContentListings id="ai-tools-supported-agents" />`, icon + tagline + Plugin/MCP badge per agent) → "Key concepts" glossary → "Building AI into your app?" (also converted to `ContentListings`). - New `data/content-listings/ai-tools.data.ts` builds the card grid from the existing `PLUGIN_CLIENTS`/`MCP_CLIENT_DATA` client lists (no new hand-maintained data) — fixing two latent bugs found along the way: GitHub Copilot was keyed differently between the two sources (would have produced duplicate cards), and Windsurf has no upstream docs URL (would have been silently dropped). - New opt-in `badgePosition` field on `ContentListingItem` so the badge renders under the title for the agent grid, without changing the one other existing badge usage (self-hosting's "Official" tag, still inline). - `plugins.mdx`/`mcp.mdx`/`ai-skills.mdx` each get a one-line "Quick start" lead-in so they stand alone via the `.md` content-negotiation route. - `GuidesSidebar.tsx` + `telemetry-constants.ts`: Added "Connect your AI agent" → `/guides/ai-tools`, and the `ask_ai_clicked` event with `agent_setup_clicked`. - Accessibility fix (from review): the "Not supported" indicator now exposes an `sr-only` label instead of being fully `aria-hidden`. ## Additional context - Worktree: `~/GitHub/supabase/supabase-worktrees/nikrichers/docs-1201-make-guidesai-tools-agent-first-and-replace-chat-frontend` - **Open question — Windsurf card**: `windsurf.com` now redirects to a Devin Desktop page (Cognition acquired Windsurf in 2025), but Supabase's own `MCP_CLIENT_DATA` still targets Windsurf's distinct config path (`~/.codeium/windsurf/mcp_config.json`), so the card is still labeled "Windsurf" with its pre-acquisition tagline ("The first agentic IDE. Tomorrow's editor, today."). Needs a follow-up decision on whether to relabel/merge/drop this card once Devin Desktop's MCP support (if any) is confirmed. - Follow-up (not in this PR): deeper IA rework of the ai-tools section belongs to the broader agent-first audit; `content/guides/resources/glossary.mdx` has no MCP/Agent Skills/Plugin/Prompts entries yet — this PR's "Key concepts" is currently the only definition of these terms site-wide. - Verification: | Check | Result | | --- | --- | | Lint (`lint:mdx`, `eslint`), `typecheck`, `test:local lib/content-listings.test.ts` | Pass — 13/13 tests, 0 errors | | `build:guides-markdown` | Pass — card grid flattens cleanly to markdown | | Playwright: broken icon requests, light + dark theme, PR preview | Pass — 0 in either theme | | `/guides/self-hosting` "Official" badge (existing `ContentListings` usage) | Pass — unaffected by the new `badgePosition` opt-in | ### Before & After #### [`/guides/ai-tools`](https://supabase.com/docs/guides/ai-tools) Also shows the sidebar change (right rail): "Ask ChatGPT" / "Ask Claude" → "Connect your AI agent". | [Before](https://supabase.com/docs/guides/ai-tools) | [After](https://docs-git-nikrichers-docs-1201-make-guidesai-too-7c7493-supabase.vercel.app/docs/guides/ai-tools) | | --- | --- | |  |  | Sub-pages each just add a one-line "Quick start" callout under the intro (no other layout change): [plugins](https://supabase.com/docs/guides/ai-tools/plugins) ([preview](https://docs-git-nikrichers-docs-1201-make-guidesai-too-7c7493-supabase.vercel.app/docs/guides/ai-tools/plugins)) · [mcp](https://supabase.com/docs/guides/ai-tools/mcp) ([preview](https://docs-git-nikrichers-docs-1201-make-guidesai-too-7c7493-supabase.vercel.app/docs/guides/ai-tools/mcp)) · [ai-skills](https://supabase.com/docs/guides/ai-tools/ai-skills) ([preview](https://docs-git-nikrichers-docs-1201-make-guidesai-too-7c7493-supabase.vercel.app/docs/guides/ai-tools/ai-skills)). ### Test plan - [x] `/guides/ai-tools` renders callout → card grid → concepts → Building AI into your app, in order - [x] Card grid: one card per agent (no duplicate Copilot), Windsurf present, icons clean in both themes, taglines shown, badges below title - [x] Sidebar shows "Connect your AI agent"; self-hosting's "Official" badge unaffected - [x] `.md` route still serves clean markdown; no lingering `ask_ai_clicked`, ChatGPT/Claude icon, or `SupportedAgentsTable` references --------- Co-authored-by: Nik Richers <nik@validmind.ai> |
||
|
|
4272aba4b1 | fix: Update Grafana Cloud integration guides (#47776) | ||
|
|
3bca21b3f8 |
chore(a11y): convert leftover focus recipes to focus-ring (#48219)
## What kind of change does this PR introduce? Accessibility cleanup (DEPR-628). ## What is the current behavior? Leftover call sites still use ad-hoc focus recipes (`ring-foreground-muted`, `outline-brand`, Dialog/Sheet `focus:` rings, etc.) instead of the shared utilities from #41575. ## What is the new behavior? Converts those leftovers across `packages/ui`, Studio, www, docs, and design-system to `focus-ring`, preferring `focus-visible`. Keeps documented exceptions (`group-focus-visible`, InputGroup `:has()`). ## To test Tab through controls (keyboard only). Expect a consistent offset ring on `:focus-visible`, not a green/brand/custom stack, and no ring animation. ### www (marketing) Preview: https://zone-www-dot-com-git-danny-depr-628-focus-ring-fbccf9-supabase.vercel.app - Global nav on `/`: Product, Developers, Solutions dropdowns; logo; hamburger + mobile menu - `/features`: view toggles and feature cards - `/company`: card links - `/changelog`: timeline / entry links - `/partners/catalog`: grid/list toggle and partner cards - `/pricing`: compute section expand control - Product / Modules / Solutions sticky navs on product pages (e.g. `/database`, `/storage`) - `/state-of-startups`: TwoOptionToggle if present ### docs Preview: https://docs-git-danny-depr-628-focus-ring-long-tail-supabase.vercel.app - Any guide page: top nav dropdowns and items - Narrow viewport: hamburger, then mobile menu links + close - Guide with PromptPanel / tabs: tab to prompt actions and tab list ### studio (dashboard) Preview: https://studio-staging-git-danny-depr-628-focus-ring-long-tail-supabase.vercel.app - Project home: Connect section tiles; drag-handle focus on sortable sections - Integrations marketplace (`/project/<ref>/integrations`): featured cards, list/grid toggle, list rows - Auth (`/project/<ref>/auth/oauth-apps`, `/project/<ref>/auth/providers`): open create/edit sheet, tab to close (X) - Database policies (`/project/<ref>/database/policies`): open policy editor sheet, tab to close - Storage policies (`/project/<ref>/storage/files/policies`): bucket section links; policy modal close - Query performance (`/project/<ref>/observability/query-performance`): info icon buttons on metrics - Replication pipeline detail (if available): slot lag / status info icons - Support (`/support/new`): attachment add/remove controls - Table editor: spreadsheet import preview checkboxes; row text/JSON editor TwoOptionToggle - Any Dialog/Sheet/toast close (X): ring on keyboard focus only, not mouse click ### design-system Preview: https://design-system-git-danny-depr-628-focus-ring-long-tail-supabase.vercel.app - Colour palette swatches (keyboard focus) - Form patterns sidepanel example: avatar / focusable control in the example ## Additional context - Linear: [DEPR-628](https://linear.app/supabase/issue/DEPR-628) - Follow-ups: form-group CSS (DEPR-629), Storage columns selection (DEPR-630), ESLint rule (DEPR-632) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Accessibility & Usability** * Standardized keyboard focus indicators across navigation, dialogs, forms, buttons, toggles, links, and tooltips using a consolidated focus style. * Improved toggle controls to use proper button semantics (instead of clickable text), including `aria-pressed`/disabled handling and better keyboard navigation. * **Visual Updates** * Harmonized hover/focus ring visuals across the design system, Studio, documentation, and marketing pages while preserving existing layout and interaction behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6f6badae51 |
fix(eslint): promote require-explicit-tabindex to error (#48170)
## What kind of change does this PR introduce? Accessibility / lint hardening (Safari keyboard focus). ## What is the current behavior? `supabase/require-explicit-tabindex` is `'warn'`. Studio’s ratchet was at 0 but the rule was still ratcheted; www / docs / design-system still had raw `<button>` / `role="button"` call sites without an explicit `tabIndex`. [DEPR-627](https://linear.app/supabase/issue/DEPR-627) · follow-up to #47984 / #48040 ## What is the new behavior? - Shared config: `'supabase/require-explicit-tabindex': 'error'` - Swept www / docs / design-system (+ Studio test fixtures the ratchet skipped) - Removed the rule from the Studio ratchet + baselines ## To test Prefer **Safari**. This PR only adds explicit `tabIndex` to raw `<button>` / `role="button"` call sites — not links, and not controls that already go through `Button` from `ui`. ### Marketing (`www`) ([staging link](https://zone-www-dot-com-git-danny-depr-627-promote-req-7ae43c-supabase.vercel.app/)) - [x] Homepage frameworks / dashboard feature tabs — Tab through each tab button - [x] Product pages (e.g. `/auth`, `/database`) — section tab switchers - [x] Narrow viewport — open the hamburger; Tab through menu buttons - [x] `/partners/catalog` — filter / view controls - [x] Blog view toggle (list ↔ grid) ### Docs ([staging link](https://docs-git-danny-depr-627-promote-require-explici-25e46d-supabase.vercel.app/)) - [x] **Desktop (≥ lg):** top-right **⋯ menu** (hamburger icon) — opens a dropdown that includes Theme. Not a separate theme button. - [x] **Mobile (< lg):** top-right **hamburger** opens the sheet; close (X) is the raw button we tagged. Theme inside the sheet uses `ThemeToggle` / `DropdownMenuTrigger` from `ui` (already supposed to set `tabIndex`). - [x] **Code blocks** — copy / language controls - [x] **Is this helpful?** — X / check are `Button` from `ui` (should already Tab). After voting **while signed in**, the follow-up “What went well?” / “How can we improve?” text button is the raw one we tagged. - [x] **AI Tools → Copy as Markdown** (right rail on a guide) — this is the only GuidesSidebar control this PR changed. “On this page” TOC items are **links**, not covered by this lint. - [x] **Reference docs** (e.g. JS client reference) — section headers that expand/collapse in the left nav (`Collapsible.Trigger`) - [x] **Troubleshooting index** — type in the search field, then Tab to the **clear (X)** control ### Dashboard (`studio`) No production UI changes in this PR (tests + lint config only). Quick Safari smoke that prior tabindex work still holds: - [x] Project sidebar — Tab through primary nav links - [x] Settings → General — Tab through inputs / buttons - [x] Storage → Files — Tab a bucket row / file actions |
||
|
|
ca2a390a3d |
fix(docs): restore Supabase env vars to stop crash on every page load (#48213)
https://github.com/user-attachments/assets/0b9e4bd1-e2b6-4a58-b47e-803e2b34a32e ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Bug fix. ## What is the current behavior? Every page in `apps/docs` crashes at runtime with `Error: supabaseUrl is required.` Regression from #46757, which flipped `NEXT_PUBLIC_IS_PLATFORM` to `"true"` in `apps/docs/.env.development` and, in the same diff, duplicated a `NEXT_PUBLIC_MARKETPLACE_API_URL`/`NEXT_PUBLIC_MARKETPLACE_PUBLISHABLE_KEY` block where `NEXT_PUBLIC_SUPABASE_URL`/`NEXT_PUBLIC_SUPABASE_ANON_KEY` should have been. With `IS_PLATFORM` now `true`, `Feedback.tsx` (rendered on every docs page) unconditionally calls `createClient()` with an undefined URL/key, throwing synchronously on every page load. Closes DOCS-1208 / FE-3980. ## What is the new behavior? - `apps/docs/.env.development`: renamed the mislabeled duplicate block back to `NEXT_PUBLIC_SUPABASE_URL`/`NEXT_PUBLIC_SUPABASE_ANON_KEY`. - `apps/docs/components/Feedback/Feedback.tsx`: widened the guard to `IS_PLATFORM && supabaseUrl && supabaseAnonKey`, mirroring the existing pattern in `app/api/ai/docs/route.ts`, so a future env misconfiguration degrades gracefully (feedback votes silently skipped) instead of crashing every page. Verified locally by running `pnpm dev:docs` with no GitHub credentials set: - No more `"supabaseUrl is required."` anywhere; the Feedback widget renders and fires its vote request instead of throwing. - A normal guide page renders fine. - `/guides/database/database-advisors` still shows its existing graceful fallback admonition. - `/guides/graphql` (federated content, absent on a clean checkout) returns a clean 404 rather than crashing — confirming the related goal of running docs dev locally without federated content already works (via #48205 + existing `notFound()` handling), no extra changes needed there. ## Additional context A related but separate gap was found in `apps/docs/app/guides/database/extensions/wrappers/[[...slug]]/page.tsx`. A new Linear issue is created: https://linear.app/supabase/issue/DOCS-1209/wrappers-guide-page-crashes-on-unhandled-github-fetch-failure-without ## Manual testing 1. Checkout branch locally and run `pnpm run dev:docs` with no GitHub credentials set. Confirm it starts without errors. 2. Open any guide page on docs locally and confirm no `supabaseUrl is required` error, and the Feedback widget renders and responds to clicks. 3. Open `/docs/guides/database/database-advisors`. Confirm it renders and does not crash. 4. Open `/docs/guides/graphql`. Confirm a clean 404, not a server error. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved feedback functionality by safely handling missing configuration. * Feedback votes and comments are skipped when the required service configuration is unavailable, preventing errors. * **Chores** * Updated documentation-site configuration to use the appropriate content service settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> |
||
|
|
751dcecf86 |
docs(log-drains): overhaul page style and add missing Last9 + Syslog … (#48140)
## Summary Brings the Log Drains docs up to the same standard as the Metrics API page. - Replaces the plain destination table with a visual `LogDrainDestinationCards` component — a 3-column card grid that mirrors the product UI destination picker. Cards link to anchors on the same page (no sub-pages needed since setup is simpler than Metrics). - Adds a "What you can do" intro section and a consistent "Required configuration + Steps" structure for every destination. - Adds two destinations that were missing from the docs entirely: **Last9** and **Syslog** (both are live in the product). Config fields sourced from `LogDrainDestinationSheetForm.tsx`. - Cleans up raw `<ul><li>` HTML to markdown lists. - Adds an "Additional resources" footer (pricing, Metrics API, JS SDK tracing). ## Files changed - `apps/docs/content/guides/telemetry/log-drains.mdx` — core of the changes - `apps/docs/components/LogDrainDestinationCards.tsx` — new card grid component - `apps/docs/components/LogDrainDestinationCards.data.ts` — destination data (9 entries) - `apps/docs/internals/markdown-schema/LogDrainDestinationCards.ts` — markdown fallback renderer - `apps/docs/features/docs/MdxBase.shared.tsx` — register new component - `apps/docs/internals/generate-guides-markdown.ts` — register new component ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? docs update ## What is the current behavior? not supanice, also missing syslog and last9 <img width="619" height="687" alt="image" src="https://github.com/user-attachments/assets/58e8f07c-eb40-4d30-a5e2-3988d1af87c2" /> ## What is the new behavior? hopefully more supanice, also added syslog and last9 <img width="568" height="667" alt="image" src="https://github.com/user-attachments/assets/be61e67f-58aa-4e8c-be0d-44206f1b16de" /> ## Additional context <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Reorganized the Log Drains guide with destination-specific sections and a new destination chooser. * Added support and setup guidance for Last9 and Syslog destinations. * Clarified HTTP batching, JSON delivery, compression, authentication, and endpoint requirements. * Updated OpenTelemetry, Datadog, Loki, Amazon S3, Sentry, and Axiom instructions. * Added Edge Function examples covering compressed and uncompressed payloads. * Added links to pricing, Metrics API, and JavaScript tracing resources. * **UI Improvements** * Updated destination listings with clearer, consistent icons and presentation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Nik Richers <nik@validmind.ai> |
||
|
|
77818b814e | feat: Add terraform federated content and data (#48010) | ||
|
|
2d745edfb4 | Landing page agent focus (#47989) | ||
|
|
f19cb09b43 | feat(pipelines): Update product docs and UI copy (#47997) | ||
|
|
dac5756295 |
docs(auth): add server-side package disambiguation guide (#47966)
Adds a docs guide, "Choosing a server-side package", that explains when to use `supabase-js`, `@supabase/ssr`, or `@supabase/server` when working with Supabase from JavaScript on the server. It includes a decision table and a short code example for each, with one rule up front: cookie-based sessions in SSR frameworks use `@supabase/ssr`, per-request header auth in Edge Functions and other backend runtimes uses `@supabase/server`, and `supabase-js` is the base client both wrap. The guide is surfaced from the Auth overview page and the sidebar, and is cross-linked from the `supabase-js` and `@supabase/server` reference introductions so it is reachable from where developers start. It also states that the packages coexist and are not replacements for each other, and keeps combining `@supabase/server` with `@supabase/ssr` as an advanced section. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a guide explaining how to choose between Supabase server-side JavaScript packages. - Added the guide to Auth navigation and the getting-started content listings. - Added links to the new guidance throughout relevant JavaScript and server documentation. - **Documentation** - Clarified when to use cookie-based sessions versus header-based authentication. - Added package comparisons, usage examples, advanced guidance, and related next steps. - Updated spelling support for framework names used in the documentation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
963182f58e |
fix: add hasLightIcon field to ContentListings; revert getting-started-overview to GlassPanel (#47467)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Bug fix + partial revert. ## What is the current behavior? 1. `ContentListings.client.tsx` unconditionally derives `hasLightIcon` from `Boolean(item.icon)`. `GlassPanel` appends `-light.svg` to the icon path in light mode whenever `hasLightIcon` is true. Framework icons (react, nuxt, hono, redwood, flutter, swift, kotlin, svelte, solidjs, vue, refine, angular, ionic) have no `-light.svg` variants, causing broken image requests in light mode for any ContentListings card that uses them. 2. `getting-started.mdx` uses `<ContentListings id="getting-started-overview" />` (added in #47097) for the top three-card grid (Build with AI tools, API Keys, Local Development). ## What is the new behavior? 1. `hasLightIcon` is now an optional field in the item schema (defaults to `Boolean(item.icon)` for backward compatibility). The component reads `item.hasLightIcon ?? Boolean(item.icon)`, so data files can opt specific icons out of the light-mode variant. 2. `<ContentListings id="getting-started-overview" />` is removed and the original hand-authored GlassPanel grid is restored. The `gettingStartedGetStarted` data entry and its registry import are also removed. ContentListings has no mandate to cover every section of every page: the goal was for hub and overview pages to have a reasonable, standardized link section that tooling can lint for. This page doesn't fit that pattern. ## Additional context | Check | Result | |-------|--------| | `pnpm vitest run lib/content-listings.test.ts` | ✅ 12/12 passed | | `pnpm lint:mdx` (getting-started.mdx) | ✅ No warnings | <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Updated the Getting Started guide with dedicated tiles for Build with AI Tools, API Keys, and Local Development. * Expanded the available Getting Started content listings. * **Bug Fixes** * Improved icon styling in content listings so light icon treatment reflects each item’s configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nik Richers <nik@validmind.ai> |
||
|
|
7cffbcc47f | docs(cli): add local-dev workflow guide and restructure CLI docs (#47932) | ||
|
|
d23f86021a |
feat(www): Partner Catalog update (#46757)
## Info architecture change around "Partners" The www "integrations" now become more partner-driven. `/partners/integrations` -> now Partner Catalog under `/partners/catalog` (old links redirect to new paths) Moved them close together in the nav dropdown and in the footer <img width="494" height="336" alt="Screenshot 2026-07-09 at 11 06 41" src="https://github.com/user-attachments/assets/a875fef0-0ab8-47ca-8756-d658b27c4892" /> <img width="1149" height="665" alt="Screenshot 2026-07-09 at 11 09 48" src="https://github.com/user-attachments/assets/9631bb72-fe25-4fb4-b1af-9f14a37d02e7" /> ## /partners This page remains untouched in this PR, updates to layout, content and intake form are delegated to #47874 ## /partners/catalog Listed in the [catalog](https://zone-www-dot-com-git-feat-www-partners-pages-supabase.vercel.app/partners/catalog) are now partners. Some partners match with a listing. <img width="1207" height="866" alt="Screenshot 2026-07-09 at 11 14 17" src="https://github.com/user-attachments/assets/b65216be-976f-4ef5-91f8-1ad49da87b45" /> ## /partners/catalog/[partner] Each partner can have one or more "listings" which are either - simple guides - foreign data wrappers - dashboard integrations Integrations available in the dashboard now all have a prominent "Install integration" cta to open it in the dashboard [integrations page](https://supabase.com/dashboard/project/_/integrations). <img width="1269" height="776" alt="Screenshot 2026-07-09 at 11 16 51" src="https://github.com/user-attachments/assets/3c7bb715-ffce-4d0a-905f-9a660c3b1f5a" /> ## Docs Update docs → [Preview](https://docs-git-feat-www-partners-pages-supabase.vercel.app/docs/guides/integrations) - remove "Supabase marketplace" - use "Dashboard Integrations and Partner Catalog - update integrations in sidenav to link to updated /partners/catalog/** listings <img width="1520" height="696" alt="Screenshot 2026-07-15 at 12 54 47" src="https://github.com/user-attachments/assets/9f5a2794-4536-4299-97df-9732d3d75b4c" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a Partner Catalog experience with search, category filters, official-partner toggle, responsive filtering (sidebar + bottom sheet), grid/list views, and featured partners. * Added Partner Catalog detail pages with tabbed listings, MDX-rendered content, image gallery with zoom overlay, and “add/install” actions. * **Improvements** * Updated “Become a Partner” layout and form support for prefilled values and checkbox-group fields (including validation). * Updated navigation/footer/docs and partner tile links to use Partner Catalog routes; expanded redirects from legacy integrations paths. * Added public agent-skills discovery manifest. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alan Daniel <stylesshjs@gmail.com> Co-authored-by: Alex Hall <alex.hall@supabase.io> Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io> |