From 01fe4e68a0f298e16cbc54245766444d0b87df92 Mon Sep 17 00:00:00 2001
From: Vaibhav <117663341+7ttp@users.noreply.github.com>
Date: Mon, 2 Mar 2026 22:05:10 +0530
Subject: [PATCH 1/5] fix(auth-config) : force refetch lint data after config
update (#41960)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Problem
The Performance Advisor warning "Auth Absolute Connection Management
Strategy" persists after switching from "Absolute" to "Percentage"
allocation strategy, even after project restart.
PR #41652 added cache invalidation but the frontend doesn't immediately
refetch, so stale lint data may be displayed until the next natural
refetch occurs.
## Solution
Force an immediate refetch of lint data after invalidating the cache.
This ensures the backend re-evaluates the `auth_db_connections_absolute`
lint with the updated `DB_MAX_POOL_SIZE_UNIT` configuration value.
## Changes
- Added `refetchQueries` call after cache invalidation in
`useAuthConfigUpdateMutation`
- Uses `type: 'active'` to only refetch active queries (React Query best
practice)
## Related
- Extends: https://github.com/supabase/supabase/pull/41652
- Closes: https://github.com/supabase/supabase/issues/41619
## Summary by CodeRabbit
* **Bug Fixes**
* Improved data consistency by ensuring validation information is
automatically refreshed following authentication configuration updates.
✏️ Tip: You can customize this high-level summary in your review
settings.
---
apps/studio/data/auth/auth-config-update-mutation.ts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/apps/studio/data/auth/auth-config-update-mutation.ts b/apps/studio/data/auth/auth-config-update-mutation.ts
index b8197fd5e45aa..f2d4fc47dbee7 100644
--- a/apps/studio/data/auth/auth-config-update-mutation.ts
+++ b/apps/studio/data/auth/auth-config-update-mutation.ts
@@ -46,6 +46,10 @@ export const useAuthConfigUpdateMutation = ({
queryClient.invalidateQueries({ queryKey: authKeys.authConfig(projectRef) }),
queryClient.invalidateQueries({ queryKey: lintKeys.lint(projectRef) }),
])
+ await queryClient.refetchQueries({
+ queryKey: lintKeys.lint(projectRef),
+ type: 'active',
+ })
await onSuccess?.(data, variables, context)
},
async onError(data, variables, context) {
From b4cb20066f42d2c916a7890704d1530497628e08 Mon Sep 17 00:00:00 2001
From: Vaibhav <117663341+7ttp@users.noreply.github.com>
Date: Mon, 2 Mar 2026 22:18:29 +0530
Subject: [PATCH 2/5] fix(studio): prevent sidebar text overlap on project
cards (#42381)
## Problem
When hovering over the sidebar on the projects page, project card text
(names, regions, status) was rendering on top of the expanded sidebar,
making both the sidebar and project information difficult to read.
## Solution
Increased sidebar z-index from `z-10` to `z-50` to ensure the sidebar
renders above all project card content.
Before
After
## Related
- Closes https://github.com/supabase/supabase/issues/42376
---------
Co-authored-by: Gildas Garcia <1122076+djhi@users.noreply.github.com>
---
apps/studio/components/interfaces/Sidebar.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/apps/studio/components/interfaces/Sidebar.tsx b/apps/studio/components/interfaces/Sidebar.tsx
index 2df6201e6bcf6..d5686415597bc 100644
--- a/apps/studio/components/interfaces/Sidebar.tsx
+++ b/apps/studio/components/interfaces/Sidebar.tsx
@@ -81,6 +81,7 @@ export const Sidebar = ({ className, ...props }: SidebarProps) => {
{!hideSideBar && (
Date: Mon, 2 Mar 2026 13:21:10 -0330
Subject: [PATCH 3/5] Fix contribute table component (#43298)
Updates react-markdown to be compatible with remark-gfm
Example issue:
https://supabase.com/contribute/t/860-66969-11493-reddit_post_1rinknm
fixed:
https://zone-www-dot-com-git-chore-fix-table-component-supabase.vercel.app/contribute/t/860-66969-11493-reddit_post_1rinknm
---
apps/www/components/Contribute/markdownComponents.tsx | 10 +++++-----
apps/www/components/Sections/FeaturesSection.tsx | 2 +-
apps/www/components/Sections/ParagraphSection.tsx | 2 +-
apps/www/package.json | 6 +++---
pnpm-lock.yaml | 9 +++++----
5 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/apps/www/components/Contribute/markdownComponents.tsx b/apps/www/components/Contribute/markdownComponents.tsx
index b25a316984534..64e8c8859a141 100644
--- a/apps/www/components/Contribute/markdownComponents.tsx
+++ b/apps/www/components/Contribute/markdownComponents.tsx
@@ -1,14 +1,14 @@
import type { Components } from 'react-markdown'
export const markdownComponents: Components = {
- code: ({ node, inline, ...props }) =>
- inline ? (
+ code: ({ className, ...props }) =>
+ className ? (
+
+ ) : (
- ) : (
-
),
pre: ({ node, ...props }) => (
),
p: ({ node, ...props }) => ,
- ul: ({ node, ordered, ...props }) => ,
+ ul: ({ node, ...props }) => ,
ol: ({ node, ...props }) =>
,
}
diff --git a/apps/www/components/Sections/FeaturesSection.tsx b/apps/www/components/Sections/FeaturesSection.tsx
index 22d801188bc89..d4a515abdc385 100644
--- a/apps/www/components/Sections/FeaturesSection.tsx
+++ b/apps/www/components/Sections/FeaturesSection.tsx
@@ -2,7 +2,7 @@ import { LazyMotion, domAnimation, m, useInView } from 'framer-motion'
import { ArrowUpRight } from 'lucide-react'
import Link from 'next/link'
import { ReactNode, useRef } from 'react'
-import { ReactMarkdown } from 'react-markdown/lib/react-markdown'
+import ReactMarkdown from 'react-markdown'
import { Button, cn } from 'ui'
import SectionContainer from '~/components/Layouts/SectionContainer'
import { INITIAL_BOTTOM, getAnimation } from '~/lib/animations'
diff --git a/apps/www/components/Sections/ParagraphSection.tsx b/apps/www/components/Sections/ParagraphSection.tsx
index 067997fa61fa7..8e354846ab780 100644
--- a/apps/www/components/Sections/ParagraphSection.tsx
+++ b/apps/www/components/Sections/ParagraphSection.tsx
@@ -1,7 +1,7 @@
import { ArrowUpRight } from 'lucide-react'
import Link from 'next/link'
import { ReactNode } from 'react'
-import { ReactMarkdown } from 'react-markdown/lib/react-markdown'
+import ReactMarkdown from 'react-markdown'
import { Button, cn } from 'ui'
import SectionContainer from '~/components/Layouts/SectionContainer'
diff --git a/apps/www/package.json b/apps/www/package.json
index be6323d3a36ae..6df69f53cf071 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -54,8 +54,8 @@
"gsap": "^3.13.0",
"icons": "workspace:*",
"lucide-react": "*",
- "marketing": "workspace:*",
"markdown-toc": "^1.2.0",
+ "marketing": "workspace:*",
"mdast-util-from-markdown": "^2.0.2",
"mdast-util-gfm": "^2.0.2",
"mdast-util-mdx": "^2.0.1",
@@ -74,14 +74,14 @@
"react-copy-to-clipboard": "^5.1.0",
"react-countdown": "^2.3.5",
"react-dom": "catalog:",
- "react-markdown": "^8.0.3",
+ "react-markdown": "^9.0.1",
"react-syntax-highlighter": "^15.6.6",
"react-transition-group": "^4.4.1",
"react-use": "^17.4.0",
"recharts": "catalog:",
"rehype-slug": "^5.1.0",
"remark": "^15.0.1",
- "remark-gfm": "^4.0.0",
+ "remark-gfm": "^4.0.1",
"shared-data": "workspace:*",
"swiper": "^12.1.2",
"typed.js": "^2.0.16",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c425f8e4bb805..627d2620ec919 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1725,8 +1725,8 @@ importers:
specifier: 'catalog:'
version: 18.3.1(react@18.3.1)
react-markdown:
- specifier: ^8.0.3
- version: 8.0.7(@types/react@18.3.3)(react@18.3.1)(supports-color@8.1.1)
+ specifier: ^9.0.1
+ version: 9.0.1(@types/react@18.3.3)(react@18.3.1)(supports-color@8.1.1)
react-syntax-highlighter:
specifier: ^15.6.6
version: 15.6.6(react@18.3.1)
@@ -1746,7 +1746,7 @@ importers:
specifier: ^15.0.1
version: 15.0.1(supports-color@8.1.1)
remark-gfm:
- specifier: ^4.0.0
+ specifier: ^4.0.1
version: 4.0.1(supports-color@8.1.1)
shared-data:
specifier: workspace:*
@@ -17900,6 +17900,7 @@ packages:
unplugin-vue-router@0.15.0:
resolution: {integrity: sha512-PyGehCjd9Ny9h+Uer4McbBjjib3lHihcyUEILa7pHKl6+rh8N7sFyw4ZkV+N30Oq2zmIUG7iKs3qpL0r+gXAaQ==}
+ deprecated: 'Merged into vuejs/router. Migrate: https://router.vuejs.org/guide/migration/v4-to-v5.html'
peerDependencies:
'@vue/compiler-sfc': ^3.5.17
vue-router: ^4.5.1
@@ -35051,7 +35052,7 @@ snapshots:
remark-parse: 11.0.0(supports-color@8.1.1)
remark-rehype: 11.1.1
unified: 11.0.5
- unist-util-visit: 5.0.0
+ unist-util-visit: 5.1.0
vfile: 6.0.3
transitivePeerDependencies:
- supports-color
From 51dba7c6fbefeae3499ffea85053146fa1bbcd37 Mon Sep 17 00:00:00 2001
From: "supabase-supabase-autofixer[bot]"
<248690971+supabase-supabase-autofixer[bot]@users.noreply.github.com>
Date: Mon, 2 Mar 2026 18:35:18 +0100
Subject: [PATCH 4/5] [bot] Decrease ESLint ratchet baselines (#43262)
Automated weekly decrease of ESLint ratchet baselines.
Co-authored-by: github-actions[bot]
---
apps/studio/.github/eslint-rule-baselines.json | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/apps/studio/.github/eslint-rule-baselines.json b/apps/studio/.github/eslint-rule-baselines.json
index 5903ab1be2386..0dd5b3fe2f12b 100644
--- a/apps/studio/.github/eslint-rule-baselines.json
+++ b/apps/studio/.github/eslint-rule-baselines.json
@@ -3,9 +3,9 @@
"react-hooks/exhaustive-deps": 208,
"import/no-anonymous-default-export": 57,
"@tanstack/query/exhaustive-deps": 13,
- "@typescript-eslint/no-explicit-any": 1214,
+ "@typescript-eslint/no-explicit-any": 1207,
"no-restricted-imports": 59,
- "no-restricted-exports": 297,
+ "no-restricted-exports": 296,
"react/no-unstable-nested-components": 69
},
"ruleFiles": {
@@ -636,7 +636,6 @@
"data/materialized-views/materialized-views-query.ts": 1,
"data/network-restrictions/network-restrictions-query.ts": 3,
"data/notifications/keys.ts": 1,
- "data/notifications/notifications-v2-query.ts": 2,
"data/oauth-secrets/client-secret-create-mutation.ts": 2,
"data/open-api/api-spec-query.ts": 8,
"data/organization-members/organization-roles-query.ts": 1,
@@ -683,7 +682,7 @@
"hooks/ui/useClickedOutside.ts": 2,
"hooks/ui/useFlag.ts": 1,
"hooks/useStaticEffectEvent.ts": 1,
- "instrumentation-client.ts": 2,
+ "instrumentation-client.ts": 3,
"lib/ai/generate-assistant-response.ts": 2,
"lib/ai/model.ts": 2,
"lib/ai/model.utils.ts": 4,
@@ -721,13 +720,11 @@
"pages/project/[ref]/settings/log-drains.tsx": 1,
"pages/project/[ref]/storage/files/buckets/[bucketId].tsx": 1,
"state/ai-assistant-state.tsx": 4,
- "state/editor-panel-state.tsx": 4,
"state/role-impersonation-state.tsx": 1,
"state/sql-editor-v2.ts": 5,
- "state/storage-explorer.tsx": 16,
+ "state/storage-explorer.tsx": 15,
"state/table-editor-table.tsx": 9,
"state/table-editor.tsx": 5,
- "state/tabs.tsx": 1,
"tests/lib/custom-render.tsx": 1,
"tests/setup/polyfills.ts": 3,
"tests/vitestSetup.ts": 1,
@@ -975,7 +972,6 @@
"components/interfaces/Settings/Logs/RecentQueriesItem.tsx": 1,
"components/interfaces/Settings/Logs/UpgradePrompt.tsx": 1,
"components/interfaces/SignIn/PasswordConditionsHelper.tsx": 1,
- "components/interfaces/SignIn/ResetPasswordForm.tsx": 1,
"components/interfaces/Storage/StorageBucketsError.tsx": 1,
"components/interfaces/Storage/StoragePolicies/StoragePoliciesEditPolicyModal.tsx": 1,
"components/interfaces/Storage/StoragePolicies/StoragePoliciesEditor.tsx": 1,
From f5667ac45077a3fa3cdb62ed162169dcb74f68d6 Mon Sep 17 00:00:00 2001
From: Jeremias Menichelli
Date: Mon, 2 Mar 2026 18:37:25 +0100
Subject: [PATCH 5/5] fix(Docs): Make code tags sync generated (#43282)
---
apps/docs/features/docs/MdxBase.shared.tsx | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/apps/docs/features/docs/MdxBase.shared.tsx b/apps/docs/features/docs/MdxBase.shared.tsx
index 7c82b3a5d567c..3502b92392d98 100644
--- a/apps/docs/features/docs/MdxBase.shared.tsx
+++ b/apps/docs/features/docs/MdxBase.shared.tsx
@@ -96,6 +96,13 @@ const components = {
),
pre: CodeBlock,
+ /**
+ * Force inline code tags to go sync, this prevents Heading anchor resolution fail due to
+ * our CodeBlock component being async. We need to find a better solution for more future
+ * proof MDX rendering. Definitely improving the anchors utility in the ui/Heading component
+ * plus having a more resilient highlighting strategy.
+ */
+ code: (props: any) => {props.children},
Price,
}