From d2a4e2848d6d52a3b1ef7dbd5c1b170dba73115f Mon Sep 17 00:00:00 2001
From: "kemal.earth" <606977+kemaldotearth@users.noreply.github.com>
Date: Wed, 1 Apr 2026 14:17:35 +0100
Subject: [PATCH] feat: modify public bucket tooltip copy (#44433)
## 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?
Updates the tooltip copy for `public` pills in Storage. More accurate
description.
## Summary by CodeRabbit
* **Refactor**
* Unified the tooltip text for "Public" buckets across the storage
interface so the same explanatory message appears consistently on bucket
listings, badges, and bucket pages.
---
.../interfaces/Storage/FilesBuckets/BucketTable.tsx | 6 ++----
.../components/interfaces/Storage/Storage.constants.ts | 2 ++
.../Storage/StoragePolicies/StoragePoliciesBucketRow.tsx | 6 ++----
.../project/[ref]/storage/files/buckets/[bucketId].tsx | 6 ++----
4 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/apps/studio/components/interfaces/Storage/FilesBuckets/BucketTable.tsx b/apps/studio/components/interfaces/Storage/FilesBuckets/BucketTable.tsx
index 2383c43c8bf..8fc7e89519e 100644
--- a/apps/studio/components/interfaces/Storage/FilesBuckets/BucketTable.tsx
+++ b/apps/studio/components/interfaces/Storage/FilesBuckets/BucketTable.tsx
@@ -12,6 +12,7 @@ import {
TooltipTrigger,
} from 'ui'
+import { PUBLIC_BUCKET_TOOLTIP } from '@/components/interfaces/Storage/Storage.constants'
import { useBucketPolicyCount } from '@/components/interfaces/Storage/useBucketPolicyCount'
import {
VirtualizedTableCell,
@@ -125,10 +126,7 @@ export const BucketTableRow = ({
Public
-
- This bucket is publicly readable. Anyone can list and access all objects stored in
- it.
-
+ {PUBLIC_BUCKET_TOOLTIP}
)}
diff --git a/apps/studio/components/interfaces/Storage/Storage.constants.ts b/apps/studio/components/interfaces/Storage/Storage.constants.ts
index 70daadf21f9..96499a4ff35 100644
--- a/apps/studio/components/interfaces/Storage/Storage.constants.ts
+++ b/apps/studio/components/interfaces/Storage/Storage.constants.ts
@@ -88,3 +88,5 @@ export const BUCKET_TYPES = {
}
export const BUCKET_TYPE_KEYS = Object.keys(BUCKET_TYPES) as Array
export const DEFAULT_BUCKET_TYPE: keyof typeof BUCKET_TYPES = 'files'
+
+export const PUBLIC_BUCKET_TOOLTIP = 'Objects in this bucket are readable by anyone with the URL.'
diff --git a/apps/studio/components/interfaces/Storage/StoragePolicies/StoragePoliciesBucketRow.tsx b/apps/studio/components/interfaces/Storage/StoragePolicies/StoragePoliciesBucketRow.tsx
index 34a2eacf879..e8467affbd1 100644
--- a/apps/studio/components/interfaces/Storage/StoragePolicies/StoragePoliciesBucketRow.tsx
+++ b/apps/studio/components/interfaces/Storage/StoragePolicies/StoragePoliciesBucketRow.tsx
@@ -20,6 +20,7 @@ import {
} from 'ui'
import { PolicyRow } from '@/components/interfaces/Auth/Policies/PolicyTableRow/PolicyRow'
+import { PUBLIC_BUCKET_TOOLTIP } from '@/components/interfaces/Storage/Storage.constants'
import { Bucket } from '@/data/storage/buckets-query'
interface StoragePoliciesBucketRowProps {
@@ -61,10 +62,7 @@ export const StoragePoliciesBucketRow = forwardRef
-
- This bucket is publicly readable. Anyone can list and access all objects stored
- in it.
-
+ {PUBLIC_BUCKET_TOOLTIP}
)}
diff --git a/apps/studio/pages/project/[ref]/storage/files/buckets/[bucketId].tsx b/apps/studio/pages/project/[ref]/storage/files/buckets/[bucketId].tsx
index 4d4e286d929..1042f7c71c3 100644
--- a/apps/studio/pages/project/[ref]/storage/files/buckets/[bucketId].tsx
+++ b/apps/studio/pages/project/[ref]/storage/files/buckets/[bucketId].tsx
@@ -3,6 +3,7 @@ import { DeleteBucketModal } from 'components/interfaces/Storage/DeleteBucketMod
import { EditBucketModal } from 'components/interfaces/Storage/EditBucketModal'
import { EmptyBucketModal } from 'components/interfaces/Storage/EmptyBucketModal'
import { useSelectedBucket } from 'components/interfaces/Storage/FilesBuckets/useSelectedBucket'
+import { PUBLIC_BUCKET_TOOLTIP } from 'components/interfaces/Storage/Storage.constants'
import StorageBucketsError from 'components/interfaces/Storage/StorageBucketsError'
import { StorageExplorer } from 'components/interfaces/Storage/StorageExplorer/StorageExplorer'
import { useBucketPolicyCount } from 'components/interfaces/Storage/useBucketPolicyCount'
@@ -80,10 +81,7 @@ const BucketPage: NextPageWithLayout = () => {
Public
-
- This bucket is publicly readable. Anyone can list and access all objects stored in
- it.
-
+ {PUBLIC_BUCKET_TOOLTIP}
)}