* docs: Add version requirement note for Windsurf MCP client
Add a warning note to the Windsurf MCP configuration page advising users
to use version 0.1.37 or higher. This version includes the fix for
Protected Resource Metadata Discovery (RFC 9728) in mcp-remote, which is
required for MCP authorization compliance.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* minor fixes
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add shimmering-loader CSS to ui-patterns.
* Import the shimmering-loader classes from the ui-patterns component.
* Remove ShimmeringLoader from studio.
* Migrate studio to use ui-patterns/ShimmeringLoader.
* Migrate away from using default import for ShimmeringLoader.
* Fix the css imports in docs and studio.
* feat: Add Flask quick start
* feat: Add Flask (python) quick start to the menu
* Small changes
---------
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
* feat: Add an Expo quick start
* feat: Add Expo quick start to the side menu
* Add new partials
---------
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
Iterator.prototype.map() is only newly baseline available, which is
causing problems with older browsers.
Switched to Array.from(<iterator>) since that (and Map as an iterable)
date from 2015/2016
* wip
* wip
* single page
* new sections and polishing up
* reponsive
* nits
* semantic titles
* optimize imgs
* nits
* wup
* hero bubbles
* Update apps/www/components/Wrapped/Pages/SupabaseSelect.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix: Use `amaro` for stripping types in code samples (#41229)
* Fix the error for babel/preset-typescript in docs.
* Unfix the version.
* Try using amaro for type stripping.
* Run prettier after stripping types.
* Fix tests.
---------
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
* fix: Fix minor issue in the foreign key selector (#41235)
Change the isPending state to isLoading.
* docs: Remove empty troubleshooting fields (#41236)
* Remove emoty fields
* Fix lock file
* chore: update self-hosted image versions (#41234)
* Feature: show index advisor in table editor (#41166)
* added table advisor query
* updated to include table editor performance
* updated JSON B
* added side panel
* updated query indexes to show highlights context
* show index advisor in table editor
* updated invalidation logic
* added color updates
* added query indexes
* updated query performance type
* updated overflow and title
* put behind flag
* remove gap
* added on close
* Update apps/studio/data/database/table-index-advisor-query.ts
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
* updated styling
---------
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
* fix: useFlag to update initial check of flag store (#41209)
* fix flag lib
* updated uneeded logic
* updated logic
* remove line
* updated comment
* fix: Hide favourites and share snippets on self-hosted variant (#41227)
* Hide favorite and share actions for self-hosted version.
* Rename the query on save only on platform.
* Simplify useCheckOpenAiKeyQuery.
* Rename with AI now depends if the OPENAI_API_KEY is set.
* Minor fixes.
* Fix the tests to use .skip for skipping tests. Remove extra port params.
* Make the test for favourites work only on platform variant.
* feat(reports): support new database report granularity FE-2221 (#41228)
* handle new granularity
* undo unnecessary type change
* rm console log
* fix: blog auto scroll post app router migration for blog (#41220)
Enhance TOC highlighting and anchor scroll in blog posts
Refactored useActiveAnchors hook to support smooth hash scrolling and improved TOC highlighting based on scroll position. Added options for custom selectors and offset, and updated BlogPostClient to enable scroll-to-anchor and TOC highlight functionality.
* fix: remove flakiness with launch options and default timeouts (#41245)
* attempt to make table editor tests less flaky
* updated race conditions for table editor
* updated playwright config with optimized launch options
* reduce workers
* updated timeouts for tests
* updated config to have a global timeout of 20 seconds
* updated to be visible
* chore: update changelog and image versions file (#41244)
* feat(design-system): improve table docs (#41215)
* docs updates
* docs expansion
* minor docs fix
* improvements
* fix dependencies
* docs expansion
* more table examples
* map over data
* improve copy
* Update apps/design-system/registry/default/example/table-row-link-actions.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Update apps/design-system/registry/default/example/table-row-link-actions.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fixes
* fix
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore(studio): improve table presentation (#41217)
* billing improvements
* wrapper improvements
* border fix
* Nit adjustments
* fixes
* fix aria
* fix loading
* fixes
* fix
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Save opened side bar in local storage, and init on new session (#41224)
* Save opened side bar in local storage, and init on new session
* Fix test
* Fix
* Nit
* docs(design-system): Data Table and Data Grid documentation (#41252)
* basic differentiation
* docs
* data-grid examples
* data-grid-demo
* data-table
* demo
* use existing components
* improvements
* markup
* docs
* remove data table
* lint
* Update apps/design-system/content/docs/ui-patterns/empty-states.mdx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix ref
* use TanStack sorting
* grammar
* dependency
* 📝 Add docstrings to `dnywh/docs/data-table-data-grid` (#41255)
Docstrings generation was requested by @MildTomato.
* https://github.com/supabase/supabase/pull/41252#issuecomment-3640781017
The following files were modified:
* `apps/design-system/registry/default/example/data-grid-demo.tsx`
* `apps/design-system/registry/default/example/data-grid-empty-state.tsx`
* `apps/design-system/registry/default/example/data-table-demo.tsx`
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* docs: fix grammatical error in generate-text-embeddings guide (#41187)
* docs: fix grammatical error in generate-text-embeddings guide
* Update generate-text-embeddings.mdx
Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
---------
Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
* chore: uniform card and panel padding-x (#41237)
* docs: Fix typo in API introduction documentation (#41251)
* chore(billing): regenerate api-types to include vanity subdomain entitlement (#41257)
chore(billing: regenerate api-types to include vanity subdomain entitlement
* Add liam to humans.txt (#41169)
* docs: Add link to restoring backup to new Supabase project (#39108)
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
* feat(code-block): add word wrap functionality and controls to code bl… (#39689)
* feat(code-block): add word wrap functionality and controls to code blocks
* feat(code-block): enhance layout of code block with improved line number display and structure
* fix h-full issue
* fix Prettier issue
---------
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
* wip
* wip
* single page
* optimize imgs
* revert
* pkg
* update new content
* rm overflow
* new data
* nits
* nits
* og
* border
* fix: improve AnimatedCounter and FloatingStatBubbles/Intro components
- Update AnimatedCounter to correctly reflect value changes in the DOM.
- Add lifetime management for timers in FloatingStatBubbles and FloatingBoxes to prevent memory leaks.
- Ensure cleanup of timers on component unmount for better resource management.
* dbs
* minify images
* text-brand-link on light mode
* fix grid
* max-width on images
* address comments
* fixes
* faster image rotation
* upd og
* new launch
* nitsgs
* last nits
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
Co-authored-by: Andrey A. <56412611+aantti@users.noreply.github.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: Jordi Enric <37541088+jordienr@users.noreply.github.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Dinesh Dawonauth <dineshddawo@gmail.com>
Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
Co-authored-by: 李子衿 <160584929+hhhez@users.noreply.github.com>
Co-authored-by: Kanishk Dudeja <kanishk@kanishkdudeja.com>
Co-authored-by: lch-supa <liam.hogan@supabase.io>
Co-authored-by: Timothy Lim <tim.lim@supabase.io>
Co-authored-by: Priyanshu Thapliyal <114170980+Priyanshuthapliyal2005@users.noreply.github.com>
The global storage size validation depends on an unpaginated buckets
query to determine whether it is lower than any individual bucket's
cutoff. This causes a problem for users with tens of thousands of
buckets.
There's a bit of a UX/performance problem here, because in order to
determine whether any bucket's `file_size_limit` exceeds the global
setting, we need to get the max `file_size_limit` of `storage.buckets`
-- however, that column is not indexed.
My workaround is:
- Below a certain threshold (10,000) buckets, the query for max
`file_size_limit` is automatically run on form submit.
- Above that threshold, the user must confirm whether they want to run
the query. They're still allowed to change the storage config without
running it -- this does open a loophole where they can have a global
storage setting lower than an individual bucket's file size limit, but
though this is a potentially confusing situation, it's not strictly an
error.
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* add codex and minor fixes
* sort clients by popularity
* fix rebase
* add codex and minor fixes
* add onCopy handle to other mcp clients
* update configs for different clients
* add codex and minor fixes
* sort clients by popularity
* feat: add Gemini CLI client configuration
- Add GeminiMcpConfig type
- Add Gemini CLI client to MCP_CLIENTS array
- Support both direct CLI installation and extension installation methods
- Include authentication instructions via /mcp auth supabase
- Link to Gemini CLI MCP server documentation
* add gemini logos
* add onCopy handle
* fix httpUrl
* fix format
* fix auth command
* add v0.20.2 disclaimer
* Update packages/ui-patterns/src/McpUrlBuilder/constants.tsx
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
* add gemini logo to studio and minor fixes
* nit: add comment to gemini config
---------
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
* Delete
* Add redirect and remove menu items from the sidebar
* Remove more
* Tidy redirects
* Revert "Delete"
This reverts commit 4a2726a0a6.
* Redirect
* Reapply "Delete"
This reverts commit 9f92a111ef.
* Fix the Vercel avatar image when going back to the URL.
* Fix portal issues on org and project linkers.
* Remove misleading comment.
* Use png format when requesting Vercel avatar.
* Fix a type error.
* Fix a missing import.
---------
Co-authored-by: Ali Waseem <waseema393@gmail.com>
* Add a generateDeterministicUuid function and tests for it.
* Use the new function and generate an id automatically when creating a snippet.
* Clean up extra code.
* Don't pass in id when creating a snippet.
* Add generateSnippetTitle function and use it instead of fixed string.
* When SQL editor is open, generate an id form a generated snippet title.
* Add id override for SQL editor to avoid flash when saving the snippet.
* Merge the two generate functions to happen in the same useMemo block.
* Save the snippet to the API when adding it.
* Minor fixes from CodeRabbit review.
* Hide new folder CTA in sql editor for self-hosted
* Don't add the snippet for saving, just set the value.
* UpsertContentPayload always has an id.
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Incident status banners/alerts should be automatically determined from
the status page, rather than being manually configured.
Adds a new endpoint, /api/incident-status, to return information about
active incidents. This information is fetched from the StatusPage API.
The endpoint is cached to reduce number of third-party API requests.
Co-authored-by: Ali Waseem <waseema393@gmail.com>
PR #41200 introduced template variables ({{ .tab }}, {{ .framework }})
to api_settings_steps.mdx for deep-linking to the Connect dialog.
However, 4 auth docs pages were calling the partial without passing
the required variables prop, causing MDX parsing errors:
- Could not parse expression with acorn: Unexpected token
This resulted in 404 errors on:
- /docs/guides/auth/server-side/creating-a-client
- /docs/guides/auth/quickstarts/nextjs
- /docs/guides/auth/quickstarts/react-native
- /docs/guides/auth/quickstarts/react
Fixes the issue by adding the variables prop to match the pattern
used in other quickstart pages.