From ea8649b1a1da6e15dd9fc03a650f05885ce2808d Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Mon, 26 Jan 2026 13:24:29 +0800 Subject: [PATCH] Validate against empty name in FileExplorerRowEditing.tsx (#42093) * Validate against empty name in FileExplorerRowEditing.tsx * Update test * Fix * Opt to revert changes if saving empty string * Nit * Attempt to write tests with claude * Trim whitespace in FileExplorerRowEditing when saving --- .../StorageExplorer/FileExplorerRow.tsx | 3 - .../FileExplorerRowEditing.tsx | 9 ++- apps/studio/state/storage-explorer.tsx | 2 +- e2e/studio/features/storage.spec.ts | 65 +++++++++++++++++++ 4 files changed, 72 insertions(+), 7 deletions(-) diff --git a/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRow.tsx b/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRow.tsx index 17192c97ba2..6c0fec385c7 100644 --- a/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRow.tsx +++ b/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRow.tsx @@ -17,7 +17,6 @@ import { import { useContextMenu } from 'react-contexify' import SVG from 'react-inlinesvg' -import { useParams } from 'common' import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions' import { BASE_PATH } from 'lib/constants' import { formatBytes } from 'lib/helpers' @@ -115,8 +114,6 @@ export const FileExplorerRow = ({ selectedItems = [], style, }: FileExplorerRowProps) => { - const { bucketId } = useParams() - const { selectedBucket, selectedFilePreview, diff --git a/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRowEditing.tsx b/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRowEditing.tsx index 9c666b337e7..3914352bb19 100644 --- a/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRowEditing.tsx +++ b/apps/studio/components/interfaces/Storage/StorageExplorer/FileExplorerRowEditing.tsx @@ -101,7 +101,10 @@ export const FileExplorerRowEditing = ({ mimeType={item.metadata?.mimetype} /> -
onSaveItemName(itemName, event)}> + onSaveItemName(itemName.trim() || item.name, event)} + > setItemName(event.target.value)} - onBlur={(event) => onSaveItemName(itemName, event)} + onBlur={(event) => onSaveItemName(itemName.trim() || item.name, event)} />