From f417fc05c7afa0bfad6fb5088415ca6cdb787907 Mon Sep 17 00:00:00 2001 From: Haileyesus Date: Tue, 24 Feb 2026 13:48:59 +0300 Subject: [PATCH] fix(code-editor): handle missing project identifier in useCodeEditorDocument --- .../code-editor/hooks/useCodeEditorDocument.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/code-editor/hooks/useCodeEditorDocument.ts b/src/components/code-editor/hooks/useCodeEditorDocument.ts index 3303601..63fb7a0 100644 --- a/src/components/code-editor/hooks/useCodeEditorDocument.ts +++ b/src/components/code-editor/hooks/useCodeEditorDocument.ts @@ -15,13 +15,13 @@ const getErrorMessage = (error: unknown) => { return String(error); }; -export const useCodeEditorDocument = ({ file }: UseCodeEditorDocumentParams) => { +export const useCodeEditorDocument = ({ file, projectPath }: UseCodeEditorDocumentParams) => { const [content, setContent] = useState(''); const [loading, setLoading] = useState(true); const [saving, setSaving] = useState(false); const [saveSuccess, setSaveSuccess] = useState(false); const [saveError, setSaveError] = useState(null); - const fileProjectName = file.projectName; + const fileProjectName = file.projectName ?? projectPath; const filePath = file.path; const fileName = file.name; const fileDiffNewString = file.diffInfo?.new_string; @@ -39,6 +39,10 @@ export const useCodeEditorDocument = ({ file }: UseCodeEditorDocumentParams) => return; } + if (!fileProjectName) { + throw new Error('Missing project identifier'); + } + const response = await api.readFile(fileProjectName, filePath); if (!response.ok) { throw new Error(`Failed to load file: ${response.status} ${response.statusText}`); @@ -63,6 +67,10 @@ export const useCodeEditorDocument = ({ file }: UseCodeEditorDocumentParams) => setSaveError(null); try { + if (!fileProjectName) { + throw new Error('Missing project identifier'); + } + const response = await api.saveFile(fileProjectName, filePath, content); if (!response.ok) {