diff --git a/packages/ui/src/components/layout/SidebarFilesTree.tsx b/packages/ui/src/components/layout/SidebarFilesTree.tsx
index 687bb560..3bd2f595 100644
--- a/packages/ui/src/components/layout/SidebarFilesTree.tsx
+++ b/packages/ui/src/components/layout/SidebarFilesTree.tsx
@@ -419,14 +419,13 @@ export const SidebarFilesTree: React.FC = () => {
inFlightDirsRef.current = new Set(inFlightDirsRef.current);
inFlightDirsRef.current.add(normalizedDir);
- const respectGitignore = !showGitignored;
const listPromise = files.listDirectory
- ? files.listDirectory(normalizedDir, { respectGitignore }).then((result) => result.entries.map((entry) => ({
+ ? files.listDirectory(normalizedDir).then((result) => result.entries.map((entry) => ({
name: entry.name,
path: entry.path,
isDirectory: entry.isDirectory,
})))
- : opencodeClient.listLocalDirectory(normalizedDir, { respectGitignore }).then((result) => result.map((entry) => ({
+ : opencodeClient.listLocalDirectory(normalizedDir).then((result) => result.map((entry) => ({
name: entry.name,
path: entry.path,
isDirectory: entry.isDirectory,
@@ -458,7 +457,7 @@ export const SidebarFilesTree: React.FC = () => {
inFlightDirsRef.current = new Set(inFlightDirsRef.current);
inFlightDirsRef.current.delete(normalizedDir);
});
- }, [files, mapDirectoryEntries, showGitignored]);
+ }, [files, mapDirectoryEntries]);
const refreshRoot = React.useCallback(async () => {
if (!root) return;
@@ -809,6 +808,15 @@ export const SidebarFilesTree: React.FC = () => {
/>
{isDir && isExpanded && (
+ {loadErrorsByDir[node.path] ? (
+ -
+ {loadErrorsByDir[node.path]}
+
+
+ ) : null}
{renderTree(node.path, depth + 1)}
)}
diff --git a/packages/ui/src/components/views/FilesView.tsx b/packages/ui/src/components/views/FilesView.tsx
index d5c86d32..3159f23a 100644
--- a/packages/ui/src/components/views/FilesView.tsx
+++ b/packages/ui/src/components/views/FilesView.tsx
@@ -775,6 +775,7 @@ export const FilesView: React.FC = ({ mode = 'full' }) => {
}, [openFiles.length]);
const [childrenByDir, setChildrenByDir] = React.useState>({});
+ const [loadErrorsByDir, setLoadErrorsByDir] = React.useState>({});
const loadedDirsRef = React.useRef>(new Set());
const inFlightDirsRef = React.useRef>(new Set());
const activeDirectoryLoadIdsRef = React.useRef