[pull] master from supabase:master - #1222
Merged
Merged
Conversation
## 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? The troubleshooting landing page includes a lengthy diagnostic workflow, related debugging links, a destructive-action warning, and support escalation guidance before the search interface. This makes the troubleshooting catalog harder to scan. ## What is the new behavior? The page returns to a concise catalog layout: title, short description, and the troubleshooting search and filters. ## Additional context Validation completed: - Prettier - ESLint - Git whitespace check <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Streamlined the troubleshooting guide to focus on its heading, description, and search/browse troubleshooting interface. - Removed introductory debugging guidance, related-guide links, data-loss warning, and support-escalation information from the page. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…49894) ## 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 — follow-up to #49621 for the Postgres 15.19 / 17.11 release. ## What is the current behavior? The upgrade guide covers three of the four customer-action items for this release; the pgcrypto legacy-cipher caveat (CVE-2026-14663) was deliberately held pending Security sign-off on the wording. ## What is the new behavior? Adds a "Pgcrypto legacy PGP ciphers" section (between the Ltree and Btree_gist sections, matching the release comms order): who is affected (`bf`/`blowfish`/`cast5` only), the wrong-key decrypt probe to check stored data, the AES re-encrypt step (with `ignore-cipher-failure=1` for post-upgrade recovery), and the secret-rotation recommendation. Wording approved by Security. ## Additional context Refs PSQL-1245 / PSQL-1110. Matches the customer email draft and changelog entry wording. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Updated `pgcrypto` upgrade guidance to separate pre-upgrade decryption from post-upgrade recovery, including the appropriate handling for cipher failures. - Added row-based targeting and plaintext spot checks before bulk updates. - Clarified that automated wrong-key scans cover symmetric messages; public-key messages require manual identification and key-pair re-encryption. - Updated the caution note to direct users to scan stored values rather than rely on a fixed list of cipher algorithms. No action is needed when `cipher-algo` was never specified. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…lready open (#49911) ## Summary * Query blocks embedded inside an active assistant conversation (`AssistantQueryCell`) reused the same "Debug with Assistant" handler as standalone query blocks (Explorer Query tab, notebook cells), which always opens a brand-new chat and navigates away. * Clicking Debug on a block that's already part of the open conversation silently abandoned it for an unrelated new chat, which read as the button doing nothing. * Added an optional `onDebug` override threaded through `QueryEditor` → `QueryResultRenderer` → `QueryResultError`; `AssistantQueryCell` now uses it to write the debug prompt into the currently active chat's composer (`ai-assistant-state`'s new `setInitialInput`) instead of creating a new chat. Standalone query blocks keep the existing "open a new chat" behavior since no `onDebug` override is passed there. * `ExplorerChatTab` now wires `composerContext` into `AssistantChat` (it wasn't before), so the pre-filled prompt actually reaches the visible textarea on the Explorer chat route. Fixes [FE-4319](https://linear.app/supabase/issue/FE-4319/debug-with-ai-assistant-does-seemingly-nothing-if-query-is-already). ## Test plan - [X] `pnpm vitest run` on `QueryResultError.test.tsx` / `QueryResultError.selfhosted.test.tsx` / `ExplorerChatTab.test.tsx` / `AssistantQueryCell.utils.test.ts` — all pass, including new test asserting `onDebug` is called instead of `createChat`. - [X] `pnpm exec eslint` on touched files — clean (only pre-existing unrelated warnings). - [X] Manual check: run a query inside an assistant chat that errors, click "Debug with Assistant" on that block, confirm the debug prompt appears in the current chat's composer rather than opening a new chat. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a “Debug with Assistant” workflow that sends SQL error details to the AI Assistant as its initial input. * Preserved the existing behavior of opening a new debug chat when the Assistant panel is unavailable. * **Tests** * Added coverage confirming that debugging invokes the Assistant callback without creating an additional chat. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Increased GP3 disk limits to support up to 64 TB of storage, 80,000 IOPS, and 2,000 MB/s throughput. * **Documentation** * Updated the disk comparison table to reflect the expanded GP3 limits. * **Bug Fixes** * Improved disk-size validation and recommendation messaging for clearer wording. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
## Summary * Closes the block options popover (grip dropdown menu) when a drag operation starts on that block * Fixes the issue where the menu would remain visible during the drag if it was already open <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Section action menus now remain closed when dragging begins, preventing delayed reopening and keeping the editing interface clear and focused. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
#48546) ## Summary - `contentlayer2@0.4.6` is unmaintained and drags in a heavy, stale dependency graph (esbuild pinned to 0.17–0.20, mdx-bundler, old `@opentelemetry/core`) that was the recurring source of vuln bumps. - Migrates all three apps that used it — `design-system`, `ui-library`, `learn` — to [Velite](https://velite.js.org), preserving the generated typed `allDocs`/`Doc` collection and the `body.code` + `useMDXComponent` runtime via a small shared local hook. - Same MDX pipeline (remark-gfm, remark-code-import, rehype-slug, rehype-pretty-code w/ Shiki compat + local theme, rehype-autolink-headings, custom `__rawString__`/`__src__`/`__event__`/`__style__` visitors) ported 1:1 into each app's `velite.config.js`. - `learn`'s extra frontmatter fields (`chapterNumber`, `explore`, `courseHero`) are now backed by real Velite/Zod schema types, so the `(doc as any)` casts in `get-next-page.ts` / `get-current-chapter.ts` / the doc page could be dropped. - `next.config.mjs` no longer wraps with `withContentlayer`; since Velite has no Next.js webpack-plugin equivalent, each app's `dev` script now runs `velite dev` and `next dev` in parallel via `npm-run-all`. Ref: [FE-3861](https://linear.app/supabase/issue/FE-3861/migrate-off-contentlayer2-learn-ui-library-design-system-to-shed) ## Test plan - [x] `pnpm build:content` (Velite build) succeeds for all three apps - [x] `pnpm typecheck` passes for all three apps - [ ] Manual smoke test of `pnpm dev` for each app in a browser (docs pages render, TOC, copy-button, code highlighting) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Improvements** * Improved content generation across documentation, learning materials, and the UI library for more consistent pages. * Preserved MDX rendering, navigation, table of contents, course metadata, source previews, and component examples. * Improved consistency when displaying documentation and interactive examples. * Improved application loading by optimizing how interface components are delivered. * **Chores** * Streamlined content compilation and development workflows across the design system, learning area, and UI library. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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? Please link any relevant issues here. ## What is the new behavior? Feel free to include screenshots if it includes visual changes. ## Additional context Add any other context or screenshots. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated the team listing to remove a former team member. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Removed Eyal Ehrlich from the humans.txt list. ## 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated the team roster in the public information file by removing one former team member entry. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
removal to reflect current employees. ## 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Updated the published team roster to remove two former team members. - The team information now reflects the current roster. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
We already have proper error handling on: - the token list query - token creation/deletion with toasts We had custom error handling on the token permissions sheet. Replaced it with an `AlertError`: <img width="798" height="371" alt="image" src="https://github.com/user-attachments/assets/24145308-b1cd-491f-8f54-0c628dd185ce" /> Question: should we do something about the sheet header when the token couldn't be loaded? <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved the access token loading error state with a clearer, consistent error display and “Please try again” guidance. * Added a fallback label of “Unknown” when an access token name is unavailable. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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? The disk space exhaustion banner can stick around for roughly two hours after the user has actually fixed the problem, which is long enough that people act on stale information and change the wrong thing. Two caches stack: - Studio caches resource warnings for an hour: `staleTime: 1000 * 60 * 60` in `useResourceWarningsQuery` - The resource warnings endpoint independently only reports warnings raised in the last 60 minutes, and has no resolved signal, so a warning stops being reported by aging out rather than by being cleared Worst case is that backend hour plus however much of the client hour the user happened to be sitting on. Details in GROWTH-1190, split out of GROWTH-966. ## What is the new behavior? Client `staleTime` drops to 5 minutes, which removes the client-side hour. Worst case goes from about two hours to about one. No change to `refetchOnWindowFocus`, which already defaults to true in `apps/studio/data/query-client.ts`. ## Additional context This deliberately only fixes the client half. The backend resolved signal, and the question of which banner should show for which disk, both stay on GROWTH-966. Testing: unverified in the browser. It is a numeric literal on an existing field, so there is nothing new to typecheck, but I have not reproduced the stale banner locally. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Resource warning information now refreshes more frequently, helping ensure displayed warnings are more up to date. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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? Dependency update. ## What is the current behavior? `apps/studio` depends on `@supabase/mcp-server-supabase` `^0.11.0`, which pulls in `@supabase/mcp-utils` `0.7.0` transitively. ## What is the new behavior? - Bump `@supabase/mcp-server-supabase` to `^0.12.0`. The lockfile moves it to `0.12.0` and its `@supabase/mcp-utils` dep to `0.8.0` (still indirect). Nothing else in the lockfile changes. - Peer deps are unchanged (`@modelcontextprotocol/server ^2.0.0`, `zod ^3.25.0 || ^4.0.0`). No studio code change needed. 0.12.0 adds an optional `costConfirmation` server option for `create_project` / `create_branch`; the self-hosted route doesn't set it, and self-hosted never registers those tools in the first place. The exported tool set is the same 33 schemas, so the tool-name guard in `lib/ai/tools/mcp-tools.ts` still passes. `get_advisors` now groups lints inside its result, which studio forwards to the model without parsing. Release notes: [mcp-server-supabase v0.12.0](https://github.com/supabase/mcp/releases/tag/mcp-server-supabase-v0.12.0) and [mcp-utils v0.8.0](https://github.com/supabase/mcp/releases/tag/mcp-utils-v0.8.0). ## Additional context [AI-1178](https://linear.app/supabase/issue/AI-1178/2b-update-self-hosted-remote-mcp-server) Testing: - `pnpm install --frozen-lockfile` passes. - Studio `pnpm typecheck` is clean. - MCP-related vitest files: 13 files, 108 tests passed. - In-memory smoke of `createSupabaseMcpServer` with the self-hosted route's options reports `serverInfo.version` `0.12.0` and 11 tools. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated the Supabase MCP integration dependency to version 0.12.0. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )