From f7325608233bd2ef855729ce68d67d5a1eaac5a6 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 17 Aug 2026 13:31:54 +0000 Subject: [PATCH] refactor(storage): rename "expiration policy" to "lifecycle policy" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renames the noun phrase that names the policy object — the section heading in the create/edit bucket modals, the file preview panel tooltip title, the empty-state copy in the archived / trash views, and the internal ExpirationPolicySection component — to "lifecycle policy", matching S3's own terminology. Preserves verb / action-form uses of expire/expiration where they describe what happens when the policy fires (ExpirationSentence, ExpirationExplainer, ExpirationMode, version_expiry_days, "Noncurrent version expiration" label, etc.) — those name the action, not the policy. --- .../Storage/BucketDataProtectionFields.tsx | 18 +++++++++--------- .../StorageExplorer/DeletedFilesList.tsx | 2 +- .../Storage/StorageExplorer/VersionHistory.tsx | 2 +- .../interfaces/Storage/Trash/Trash.tsx | 5 ++--- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/apps/studio/components/interfaces/Storage/BucketDataProtectionFields.tsx b/apps/studio/components/interfaces/Storage/BucketDataProtectionFields.tsx index 91aa1364c3b..4459aa6f8d7 100644 --- a/apps/studio/components/interfaces/Storage/BucketDataProtectionFields.tsx +++ b/apps/studio/components/interfaces/Storage/BucketDataProtectionFields.tsx @@ -179,7 +179,7 @@ export const BucketDataProtectionFields = ({ )} {!!planLimits && isVersioningEnabled && ( - >['control'] hasDays: boolean hasVersions: boolean @@ -208,7 +208,7 @@ interface ExpirationPolicySectionProps { onModeChange: (mode: ExpirationMode) => void } -const ExpirationPolicySection = ({ +const LifecyclePolicySection = ({ control, hasDays, hasVersions, @@ -217,7 +217,7 @@ const ExpirationPolicySection = ({ versions, mode, onModeChange, -}: ExpirationPolicySectionProps) => { +}: LifecyclePolicySectionProps) => { const { trigger } = useFormContext() const hasNoPolicy = !hasDays && !hasVersions @@ -225,7 +225,7 @@ const ExpirationPolicySection = ({

- Expiration policy + Lifecycle policy

)} @@ -349,7 +349,7 @@ const ExpirationSentence = ({ if (!hasDays && !hasVersions) { return (

- No expiration policy configured. Noncurrent versions will be retained indefinitely. + No lifecycle policy configured. Noncurrent versions will be retained indefinitely.

) } diff --git a/apps/studio/components/interfaces/Storage/StorageExplorer/DeletedFilesList.tsx b/apps/studio/components/interfaces/Storage/StorageExplorer/DeletedFilesList.tsx index f5ae25b7dc0..0dc88f761a7 100644 --- a/apps/studio/components/interfaces/Storage/StorageExplorer/DeletedFilesList.tsx +++ b/apps/studio/components/interfaces/Storage/StorageExplorer/DeletedFilesList.tsx @@ -165,7 +165,7 @@ export const DeletedFilesList = ({ bucketId, searchString }: DeletedFilesListPro description={ searchString.length > 0 ? 'No archived files match your search.' - : 'Files and their version history appear here once archived (soft-deleted), and can be restored until an expiration policy removes them.' + : 'Files and their version history appear here once archived (soft-deleted), and can be restored until a lifecycle policy expires them.' } />
diff --git a/apps/studio/components/interfaces/Storage/StorageExplorer/VersionHistory.tsx b/apps/studio/components/interfaces/Storage/StorageExplorer/VersionHistory.tsx index 6b0d091c981..0f516b80c0f 100644 --- a/apps/studio/components/interfaces/Storage/StorageExplorer/VersionHistory.tsx +++ b/apps/studio/components/interfaces/Storage/StorageExplorer/VersionHistory.tsx @@ -417,7 +417,7 @@ const PolicyRow = ({ cap, expiryDays, mode }: PolicyRowProps) => {
-

Expiration policy

+

Lifecycle policy

diff --git a/apps/studio/components/interfaces/Storage/Trash/Trash.tsx b/apps/studio/components/interfaces/Storage/Trash/Trash.tsx index 00ce2c0d7c3..f800b70e7cd 100644 --- a/apps/studio/components/interfaces/Storage/Trash/Trash.tsx +++ b/apps/studio/components/interfaces/Storage/Trash/Trash.tsx @@ -103,8 +103,7 @@ export const Trash = ({ bucketId }: TrashProps) => {

- Deleted versions in this bucket, restorable until their expiration policy removes - them + Deleted versions in this bucket, restorable until a lifecycle policy expires them

{isSuccess && objects.length > 0 && (