From cfd5e7948aa673edc701f7e091d2bbc96f466f03 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 5 Oct 2026 15:53:51 +0000 Subject: [PATCH] fix(storage): purge the path the row was targeted with Rebuilding it from the opened folders reads state that can have moved on since the row was picked. Rows synthesized without a path still fall back to it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01N3euXsz25sTybsGTcxCFfn --- .../interfaces/Storage/StorageExplorer/ConfirmPurgeModal.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/studio/components/interfaces/Storage/StorageExplorer/ConfirmPurgeModal.tsx b/apps/studio/components/interfaces/Storage/StorageExplorer/ConfirmPurgeModal.tsx index b6ff6d95b07..047b0d2055f 100644 --- a/apps/studio/components/interfaces/Storage/StorageExplorer/ConfirmPurgeModal.tsx +++ b/apps/studio/components/interfaces/Storage/StorageExplorer/ConfirmPurgeModal.tsx @@ -33,7 +33,9 @@ export const ConfirmPurgeModal = () => { if (!projectRef || !selectedBucket?.id || itemToPurge === undefined) return // The endpoint addresses an object by full path; a row only knows its leaf name. - const path = getStorageItemPath({ openedFolders }, itemToPurge) + // The path captured when the row was targeted beats rebuilding it from folders + // that may have moved on; rows synthesized without one still need the rebuild. + const path = itemToPurge.path ?? getStorageItemPath({ openedFolders }, itemToPurge) purgeObject({ projectRef, bucketId: selectedBucket.id, path }) }