dev-1.7.0 #294
@@ -200,16 +200,23 @@ export function FileWindow({
|
|||||||
// Check if file not found (common error messages from cat command)
|
// Check if file not found (common error messages from cat command)
|
||||||
const errorMessage = errorData?.error || error.message || "Unknown error";
|
const errorMessage = errorData?.error || error.message || "Unknown error";
|
||||||
const isFileNotFound =
|
const isFileNotFound =
|
||||||
|
(error as any).isFileNotFound ||
|
||||||
errorData?.fileNotFound ||
|
errorData?.fileNotFound ||
|
||||||
error.response?.status === 404 ||
|
error.response?.status === 404 ||
|
||||||
|
errorMessage.includes("File not found") ||
|
||||||
errorMessage.includes("No such file or directory") ||
|
errorMessage.includes("No such file or directory") ||
|
||||||
errorMessage.includes("cannot access") ||
|
errorMessage.includes("cannot access") ||
|
||||||
errorMessage.includes("not found");
|
errorMessage.includes("not found") ||
|
||||||
|
errorMessage.includes("Resource not found");
|
||||||
|
|
||||||
if (isFileNotFound && onFileNotFound) {
|
if (isFileNotFound && onFileNotFound) {
|
||||||
// Notify parent component about the missing file for cleanup
|
// Notify parent component about the missing file for cleanup
|
||||||
onFileNotFound(file);
|
onFileNotFound(file);
|
||||||
toast.error(t("fileManager.fileNotFoundAndRemoved", { name: file.name }));
|
toast.error(t("fileManager.fileNotFoundAndRemoved", { name: file.name }));
|
||||||
|
|
||||||
|
// Close this window since the file doesn't exist
|
||||||
|
closeWindow(windowId);
|
||||||
|
return; // Exit early to prevent showing empty editor
|
||||||
} else {
|
} else {
|
||||||
toast.error(t("fileManager.failedToLoadFile", {
|
toast.error(t("fileManager.failedToLoadFile", {
|
||||||
error: errorMessage.includes("Server error occurred") ?
|
error: errorMessage.includes("Server error occurred") ?
|
||||||
|
|||||||
@@ -1051,7 +1051,14 @@ export async function readSSHFile(
|
|||||||
params: { sessionId, path },
|
params: { sessionId, path },
|
||||||
});
|
});
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error: any) {
|
||||||
|
// Preserve fileNotFound information for 404 errors
|
||||||
|
if (error.response?.status === 404) {
|
||||||
|
const customError = new Error("File not found");
|
||||||
|
(customError as any).response = error.response;
|
||||||
|
(customError as any).isFileNotFound = error.response.data?.fileNotFound || true;
|
||||||
|
throw customError;
|
||||||
|
}
|
||||||
handleApiError(error, "read SSH file");
|
handleApiError(error, "read SSH file");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user