From 190d0c4e994592c5da6cf9ec0a602b2f1dba95db Mon Sep 17 00:00:00 2001 From: Alan Daniel Date: Tue, 21 Oct 2025 12:33:32 -0400 Subject: [PATCH 1/7] update contributors count at /careers page (#39598) upd count --- apps/www/pages/careers.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/www/pages/careers.tsx b/apps/www/pages/careers.tsx index 58ee7f1465a26..49564cc4b7111 100644 --- a/apps/www/pages/careers.tsx +++ b/apps/www/pages/careers.tsx @@ -313,7 +313,7 @@ const CareerPage = ({ jobs, placeholderJob, contributors }: CareersPageProps) =>

- 1,000+ Contributors building Supabase + 1,500+ Contributors building Supabase

We're building a community of communities, bringing together developers from many From 22a1025f0e4e64be09d2e63fe69d9cf70637db6c Mon Sep 17 00:00:00 2001 From: wong2 Date: Wed, 22 Oct 2025 00:35:12 +0800 Subject: [PATCH 2/7] docs: fix apple secret generator tool form spacing (#39612) Co-authored-by: Alan Daniel --- .../components/AppleSecretGenerator/AppleSecretGenerator.tsx | 4 ++-- packages/ui/src/lib/Layout/FormLayout/FormLayout.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs/components/AppleSecretGenerator/AppleSecretGenerator.tsx b/apps/docs/components/AppleSecretGenerator/AppleSecretGenerator.tsx index 1184e409bbd31..04936737eba0c 100644 --- a/apps/docs/components/AppleSecretGenerator/AppleSecretGenerator.tsx +++ b/apps/docs/components/AppleSecretGenerator/AppleSecretGenerator.tsx @@ -104,7 +104,7 @@ const AppleSecretGenerator = () => { const [error, setError] = useState('') return ( - <> +

{ /> )} - +
) } diff --git a/packages/ui/src/lib/Layout/FormLayout/FormLayout.tsx b/packages/ui/src/lib/Layout/FormLayout/FormLayout.tsx index 3fb9827de7f0f..d5c65738d29ba 100644 --- a/packages/ui/src/lib/Layout/FormLayout/FormLayout.tsx +++ b/packages/ui/src/lib/Layout/FormLayout/FormLayout.tsx @@ -116,7 +116,7 @@ export function FormLayout({ // console.log('error', error) - const renderError = ( + const renderError = error && (

Date: Tue, 21 Oct 2025 20:23:53 +0200 Subject: [PATCH 3/7] feat: reduce profile information requests, faster page renders (#39729) --- apps/studio/data/profile/profile-identities-query.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/studio/data/profile/profile-identities-query.ts b/apps/studio/data/profile/profile-identities-query.ts index e640502c83bf7..15482f0536e0b 100644 --- a/apps/studio/data/profile/profile-identities-query.ts +++ b/apps/studio/data/profile/profile-identities-query.ts @@ -5,11 +5,16 @@ import { auth } from 'lib/gotrue' import { profileKeys } from './keys' export async function getProfileIdentities() { - const { error, data } = await auth.getUser() + // getSession() uses a cached user object, which is almost never stale as the + // session refresh logic keeps it fresh. If there are claims of data not being + // fresh, it's because it was modified on another device / browser and the + // session hasn't been refreshed yet. + const { error, data } = await auth.getSession() if (error) throw error + if (!data.session) throw new Error('Session not found with getSession()') - const { identities = [], new_email, email_change_sent_at } = data.user + const { identities = [], new_email, email_change_sent_at } = data.session.user return { identities, new_email, email_change_sent_at } } From 167644d2de5177d39b8d3a767b417472f9e1f407 Mon Sep 17 00:00:00 2001 From: Ali Waseem Date: Tue, 21 Oct 2025 13:36:40 -0600 Subject: [PATCH 4/7] Add Ali Waseem to Humans.txt (#39726) added myself to human.txt --- apps/docs/public/humans.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs/public/humans.txt b/apps/docs/public/humans.txt index 3d76a41db96e1..5a1292cb1b39d 100644 --- a/apps/docs/public/humans.txt +++ b/apps/docs/public/humans.txt @@ -8,6 +8,7 @@ Alaister Young Alan De Los Santos Aleksi Immonen Alexander Korotkov +Ali Waseem Amy Q Andrew Valleteau Andrey A From 3dc44d3a5178b40b0a9c560816e488334bb733c3 Mon Sep 17 00:00:00 2001 From: Charis <26616127+charislam@users.noreply.github.com> Date: Tue, 21 Oct 2025 15:39:25 -0400 Subject: [PATCH 5/7] ci(dependabot): don't get prompted for major version updates for github actions (#39733) Major version updates require more preparation and testing, so we only want to update these on our schedule / if actually deprecated, not be prompted as soon as a new major version comes out. We mostly want to keep patch/minor updates so we can be aware of any vulnerability fixes. --- .github/dependabot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b18fd29357367..3e9248e06d0ab 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,3 +4,7 @@ updates: directory: '/' schedule: interval: 'weekly' + ignore: + - dependency-name: '*' + update-types: + - 'version-update:semver-major' From a73c4cf4bb548b7f36a9e263a70c91eda1aafb9f Mon Sep 17 00:00:00 2001 From: Charis <26616127+charislam@users.noreply.github.com> Date: Tue, 21 Oct 2025 15:47:55 -0400 Subject: [PATCH 6/7] docs(readme): fix dev instructions for internal/external (#39728) --- apps/studio/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/studio/README.md b/apps/studio/README.md index 7f8fd0a63bb33..155c40ee873d1 100644 --- a/apps/studio/README.md +++ b/apps/studio/README.md @@ -40,9 +40,15 @@ Project settings are managed outside of the Dashboard. If you use docker compose # You'll need to be on Node v20 # in /studio -pnpmn install # install dependencies -mise studio # Supabase internal use: if you are working on the platform version of the Studio +## For external contributors +pnpm install # install dependencies pnpm run dev # start dev server + +## For internal contributors +## First clone the private supabase/infrastructure repo and follow instructions for setting up mise +mise studio # Run from supabase/infrastructure alongside `mise infra` + +## For all pnpm run test # run tests pnpm run test -- --watch # run tests in watch mode ``` From 2cdbc381df54a2f43d5b00483fd7fe74f14c5260 Mon Sep 17 00:00:00 2001 From: Charis <26616127+charislam@users.noreply.github.com> Date: Tue, 21 Oct 2025 17:32:21 -0400 Subject: [PATCH 7/7] cleanup(region selector): remove code from selected region (#39730) * cleanup(region selector): remove code from selected region Selector looks a bit busy and you probably know the code if you've already selected it, so removing it from the dropdown as suggested in a previous PR. * refactor(region selector): clean up unnecessary type checks Co-authored-by: Ali Waseem * ci: Autofix updates from GitHub workflow --------- Co-authored-by: Ali Waseem --- .../ProjectCreation/RegionSelector.tsx | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/apps/studio/components/interfaces/ProjectCreation/RegionSelector.tsx b/apps/studio/components/interfaces/ProjectCreation/RegionSelector.tsx index 83e752106725a..7630a524b0be0 100644 --- a/apps/studio/components/interfaces/ProjectCreation/RegionSelector.tsx +++ b/apps/studio/components/interfaces/ProjectCreation/RegionSelector.tsx @@ -72,7 +72,7 @@ export const RegionSelector = ({ ) const availableRegions = getAvailableRegions(PROVIDERS[cloudProvider].id) - const regionsArray = Object.entries(availableRegions).map(([key, value]) => { + const regionsArray = Object.entries(availableRegions).map(([_key, value]) => { return { code: value.code, name: value.displayName, @@ -88,6 +88,11 @@ export const RegionSelector = ({ process.env.NEXT_PUBLIC_ENVIRONMENT === 'local' || process.env.NEXT_PUBLIC_ENVIRONMENT === 'staging' + const allSelectableRegions = [...smartRegions, ...regionOptions] + const selectedRegion = allSelectableRegions.find((region) => { + return !!region.name && region.name === field.value + }) + if (isErrorAvailableRegions) { return } @@ -118,7 +123,20 @@ export const RegionSelector = ({ placeholder={ isLoading ? 'Loading available regions...' : 'Select a region for your project..' } - /> + > + {field.value !== undefined && ( +

+ {selectedRegion?.code && ( + region icon + )} + {selectedRegion?.name ?? field.value} +
+ )} + {smartRegionEnabled && (