* Use the "eslint" command instead of built-in next lint since it's getting obsolete.
* Bump all deps to support eslint 9+.
* Convert the rules in eslint-config-supabase to be flat-config compatible.
* Migrate all apps to use the new eslint config rules.
* Fix all errors found in the new setup.
* Fix the no default exports ignores.
* Scan all files for linting in studio.
* Fix all lint errors.
* Make the reportUnusedDisableDirectives a warning.
* refactor: refactor support form
Refactor support form to make it easier to maintain:
- Split up large components into smaller components and hooks
- Lift state up so we don't have to do complex child/parent
state-syncing via useEffect
- Use nuqs parsing for consistent serialization/deserialization of
support form prefilled fields
* test: support form
Add comprehensive tests for support form
* fix(support form): project and org empty state
* Nit clean up
* More clean up
* cleannnn
* fix(support form): allow case-insensitive category in url
* clean(support form tests): remove unused param
* fix(support form): incorrect logic for sending affected services in payload
* clean(support form): use NO_ORG_MARKER and NO_PROJECT_MARKER instead of strings
* fix(support form): don't show upgrade cta if already on enterprise
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
This PR updates the Swift SDK documentation to reflect new features from recent merged PRs in supabase-swift:
## Documentation Updates
### PR #812: getClaims method
- Added documentation for new `getClaims()` method for JWT verification
- Supports both symmetric (HS256) and asymmetric (RS256) JWTs
- Includes global JWKS caching with 10-minute TTL
- Handles key rotation gracefully
- Examples: current session, custom JWT, expired tokens, custom JWKS
### PR #809: OAuth 2.1 client admin endpoints
- Added documentation for OAuth 2.1 client administration endpoints
- New methods: `listClients()`, `createClient()`, `getClient()`, `deleteClient()`, `regenerateClientSecret()`
- All methods under `admin.oauth` namespace requiring `service_role` key
- Includes pagination support for listing clients
### PR #806: forceFunctionRegion query parameter
- Updated `invoke()` documentation to mention both `x-region` header and `forceFunctionRegion` query parameter
- Both are set when a region is specified for better function routing
### PR #805: broadcast replay configuration
- Added example for configuring broadcast with replay support
- Shows `ReplayOption` with `since` and `limit` parameters
- Demonstrates how to detect replayed messages via `meta` field
### PR #795: maxAffected method
- Already documented in previous commit (7c29f852c0)
- No changes needed
## Files Updated
- apps/docs/spec/supabase_swift_v2.yml
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude <noreply@anthropic.com>
* fix: only show "Authentication" note for hosted platform
* fix: platform/project selector wrapping for small screens
* fix: disable contentEditable on codeblock to hide system spellcheck
* feat: standalone codeblock for mcpUrl
* fix: use <Portal> for client select popover to improve scrollIntoView behavior
* feat: remove "Other" client option
* feat: tooltip specifying MCP transport / auth requirements
* feat: update auth tooltip copy, only show for hosted platform
* docs: remove old local Supabase MCP instructions
* feat: improve description on docs feature group
---------
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
* feat: add `crypto-js`, `encryptString` with sample key
* feat: include POSTGRES_PASSWORD in generated .env.test
* feat: include POSTGRES_PASSWORD in turbo.json for studio
* feat: read only query support
* feat: configurable `POSTGRES_HOST`, `POSTGRES_DB`, `POSTGRES_PORT`
* chore: rename POSTGRES_USER to clarify write permission
* feat: configurable `PG_META_CRYPTO_KEY`
* chore: add `PG_META_CRYPTO_KEY` to generateLocalEnv
* feat: add 'postgres-meta' to linter dictionary
* feat: restore read-only toggle in local MCP URL builder
* feat: MCP URL builder
- Creates an MCP URL builder component that allows a user to choose options via a UI, then automatically builds the URL and config needed for various MCP clients
- Adds this component to studio Config modal and docs MCP page
* fix(mcp url builder): mcp-remote options
mcp-remote handles OAuth, so no need to pass personal access token
* fix(docs): mcp
We are pushing the remote MCP server rather than the local one, so removing
references to the local server from documentation.
* fix(mcp url builder): ui messages
- Clarify read-only mode
- Storage is not enabled in the defautl configuration
* fix: mcp url builder
- Refactor unnecessary hook into a utility function
- Fix background color in dark mode
* feat: update remote MCP base URL
* docs: update MCP getting started
- Restores relevant content from prod
- Adds callout about authentication
- Adds next steps to remote MCP installation section
* Update apps/docs/content/guides/getting-started/mcp.mdx
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: click selected project to unselect
This follows the unselect pattern from shadcn combobox example
https://ui.shadcn.com/docs/components/combobox
* Update apps/docs/content/guides/getting-started/mcp.mdx
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
* Update apps/docs/content/guides/getting-started/mcp.mdx
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
* Update apps/docs/content/guides/getting-started/mcp.mdx
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
* fix: light mode connection icons
* chore: format `mcp.mdx`
* fix: VS Code URL handler "name"
Based on docs the field is "name" instead of "id":
- https://code.visualstudio.com/docs/copilot/customization/mcp-servers#_commandline-configuration
- https://code.visualstudio.com/docs/copilot/customization/mcp-servers#_url-handler
* refactor: `NEXT_PUBLIC_MCP_URL` environment variable
* feat: move client selector below options
* feat: "Add to" buttons left aligned about config file
* feat: actionable login hint
* feat: condition supported feature groups on platform
* feat: platform selector, mcp url for self-hosted
* feat: update copy for platform selection
* fix: base URL logic, copy
* fix: form MCP url from apiUrl in self-hosted studio
* chore: unused file
* fix: don't populate apiUrl for docs
* fix: omit `project_ref` for self-hosted
* docs: tweak copy for CLI platform
* chore: optional instead of nullable `apiUrl`
* chore: type sharing / inference for platform type
* feat: 'development' self-hosted feature group
* feat: omit read-only switch/param for local/self-hosted
* refactor: remove claude desktop client option
Replay of https://github.com/supabase/supabase/pull/36867/commits/59670f6771bca8e81fa62c0d3115288b82bfbb5d
---------
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>