Compare commits

...
Author SHA1 Message Date
netcatty-bot f7fbb79ddd fix(#2731): automated Cursor CLI fix 2026-08-05 04:44:20 +00:00
2 changed files with 20 additions and 7 deletions

No files matched your search

@@ -38,6 +38,7 @@ test("delete confirmation dialogs constrain long names", () => {
const confirmDialogSource = readProjectFile("components/ui/confirm-dialog.tsx");
const vaultDeleteDialogSource = readProjectFile("components/vault/VaultDeleteConfirmDialog.tsx");
const sftpDialogSource = readProjectFile("components/sftp/SftpPaneDialogs.tsx");
const sftpClipboardUploadDialogSource = readProjectFile("components/sftp/SftpClipboardUploadDialog.tsx");
const hostTreeGroupDeleteSource = readProjectFile("components/host/HostTreeGroupDeleteDialog.tsx");
const vaultViewLayoutSource = readProjectFile("components/vault/VaultViewLayout.tsx");
@@ -51,6 +52,13 @@ test("delete confirmation dialogs constrain long names", () => {
assert.match(sftpDialogSource, /<span className="min-w-0 truncate">\{name\}<\/span>/);
assert.match(sftpDialogSource, /overflow-hidden sm:max-w-sm/);
assert.match(sftpClipboardUploadDialogSource, /overflow-hidden sm:max-w-md/);
assert.match(sftpClipboardUploadDialogSource, /<span className="min-w-0 truncate" title=\{file\.name\}>/);
assert.match(
sftpClipboardUploadDialogSource,
/min-w-0 rounded-md border border-border\/60 bg-muted\/30 px-3 py-2 text-sm font-mono break-all \[overflow-wrap:anywhere\]/,
);
assert.match(hostTreeGroupDeleteSource, /overflow-hidden sm:max-w-lg/);
assert.match(hostTreeGroupDeleteSource, /break-words text-sm text-muted-foreground \[overflow-wrap:anywhere\]/);
+12 -7
View File
@@ -64,23 +64,28 @@ export const SftpClipboardUploadDialog: React.FC<SftpClipboardUploadDialogProps>
return (
<Dialog open={open} onOpenChange={handleClose}>
<DialogContent className="max-w-md">
<DialogHeader>
<DialogContent className="max-w-[calc(100vw-2rem)] overflow-hidden sm:max-w-md">
<DialogHeader className="min-w-0 pr-6">
<DialogTitle>Upload clipboard files?</DialogTitle>
<DialogDescription>
Upload {fileCount} item{fileCount === 1 ? "" : "s"} to:
</DialogDescription>
</DialogHeader>
<div className="space-y-3">
<div className="rounded-md border border-border/60 bg-muted/30 px-3 py-2 text-sm font-mono break-all">
<div className="min-w-0 space-y-3">
<div className="min-w-0 rounded-md border border-border/60 bg-muted/30 px-3 py-2 text-sm font-mono break-all [overflow-wrap:anywhere]">
{request?.targetPath ?? currentPath}
</div>
{previewFiles.length > 0 && (
<div className="max-h-40 overflow-auto rounded-md border border-border/60">
<div className="max-h-40 min-w-0 overflow-auto rounded-md border border-border/60">
{previewFiles.map((file) => (
<div key={file.path} className="px-3 py-2 text-sm border-b border-border/40 last:border-b-0 truncate">
{file.name}
<div
key={file.path}
className="flex min-w-0 items-center border-b border-border/40 px-3 py-2 text-sm last:border-b-0"
>
<span className="min-w-0 truncate" title={file.name}>
{file.name}
</span>
</div>
))}
{remainingCount > 0 && (