From 3818458ae0f8722884f922e6724eb8d25bf36578 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 16 Dec 2025 01:07:10 +0000 Subject: [PATCH] fix: invalidate dir content query after uploads --- apps/drive-web/src/files/upload-file-dialog.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/drive-web/src/files/upload-file-dialog.tsx b/apps/drive-web/src/files/upload-file-dialog.tsx index 69a1e45..e8414e2 100644 --- a/apps/drive-web/src/files/upload-file-dialog.tsx +++ b/apps/drive-web/src/files/upload-file-dialog.tsx @@ -28,8 +28,9 @@ import { TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip" -import type { DirectoryInfoWithPath } from "@/vfs/vfs" import { formatError } from "@/lib/error" +import { directoryContentQueryAtom } from "@/vfs/api" +import type { DirectoryInfoWithPath } from "@/vfs/vfs" import { currentAccountAtom } from "../account/account" import { clearAllFileUploadStatusesAtom, @@ -106,7 +107,7 @@ function useUploadFilesAtom({ ) return await Promise.allSettled(promises) }, - onSuccess: (results, files) => { + onSuccess: (results, files, _result, { client }) => { const remainingPickedFiles: PickedFile[] = [] results.forEach((result, i) => { // biome-ignore lint/style/noNonNullAssertion: results lenght must match input files array length @@ -129,13 +130,19 @@ function useUploadFilesAtom({ break } }) - // setPickedFiles(remainingPickedFiles) if (remainingPickedFiles.length === 0) { toast.success("All files uploaded successfully") } + + client.invalidateQueries( + store.get( + directoryContentQueryAtom(targetDirectory.id), + ), + ) }, onError: (error) => { + console.error(error) toast.error(formatError(error)) }, }),