From b6dc4ba249fd0948e6799c764fed828f775373fe Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Fri, 24 Oct 2025 00:50:30 +0100 Subject: [PATCH] Fix file path format and initialization issues - Remove leading slash from file paths (use relative paths from workspace) - Server expects relative paths like 'file.md' not '/file.md' - Convert isInitialized from let to signal to persist across renders - Fix file picker not showing files on first open - Paths from find.files() are already relative to workspace --- src/components/file-picker.tsx | 8 ++++---- src/types/attachment.ts | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/components/file-picker.tsx b/src/components/file-picker.tsx index a1f30a94..33260e39 100644 --- a/src/components/file-picker.tsx +++ b/src/components/file-picker.tsx @@ -22,6 +22,7 @@ const FilePicker: Component = (props) => { const [selectedIndex, setSelectedIndex] = createSignal(0) const [loading, setLoading] = createSignal(false) const [cachedGitFiles, setCachedGitFiles] = createSignal([]) + const [isInitialized, setIsInitialized] = createSignal(false) let containerRef: HTMLDivElement | undefined let gitFilesFetched = false @@ -113,15 +114,14 @@ const FilePicker: Component = (props) => { } let lastQuery = "" - let isInitialized = false createEffect(() => { console.log( - `[FilePicker] Effect triggered - open: ${props.open}, query: "${props.searchQuery}", gitFilesFetched: ${gitFilesFetched}, isInitialized: ${isInitialized}`, + `[FilePicker] Effect triggered - open: ${props.open}, query: "${props.searchQuery}", gitFilesFetched: ${gitFilesFetched}, isInitialized: ${isInitialized()}`, ) - if (props.open && !isInitialized) { - isInitialized = true + if (props.open && !isInitialized()) { + setIsInitialized(true) console.log("[FilePicker] First open - fetching git files and initial files") fetchGitFiles() fetchFiles(props.searchQuery) diff --git a/src/types/attachment.ts b/src/types/attachment.ts index 9d222ae4..f087b7cc 100644 --- a/src/types/attachment.ts +++ b/src/types/attachment.ts @@ -53,17 +53,16 @@ export function createFileAttachment( mime: string = "text/plain", data?: Uint8Array, ): Attachment { - const absolutePath = path.startsWith("/") ? path : `/${path}` return { id: crypto.randomUUID(), type: "file", display: `@${filename}`, - url: `file://${absolutePath}`, + url: path, filename, mediaType: mime, source: { type: "file", - path: absolutePath, + path: path, mime, data, },