summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-26 16:46:01 -0600
committeradamelmore <[email protected]>2026-01-26 16:46:09 -0600
commit021d9d105e1dc8d096390b1b392de642c033901c (patch)
tree76754b375baf9327b6b03987e6a531103a3a2695 /packages/app/src/context
parentb07d7cdb71301b9b0381f1a94b5670f954a56d4c (diff)
downloadopencode-021d9d105e1dc8d096390b1b392de642c033901c.tar.gz
opencode-021d9d105e1dc8d096390b1b392de642c033901c.zip
fix(app): reactive file tree
Diffstat (limited to 'packages/app/src/context')
-rw-r--r--packages/app/src/context/file.tsx12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/app/src/context/file.tsx b/packages/app/src/context/file.tsx
index 306bce922..805936cd8 100644
--- a/packages/app/src/context/file.tsx
+++ b/packages/app/src/context/file.tsx
@@ -571,6 +571,18 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({
}
const kind = event.properties.event
+ if (kind === "change") {
+ const dir = (() => {
+ if (path === "") return ""
+ const node = tree.node[path]
+ if (node?.type !== "directory") return
+ return path
+ })()
+ if (dir === undefined) return
+ if (!tree.dir[dir]?.loaded) return
+ listDir(dir, { force: true })
+ return
+ }
if (kind !== "add" && kind !== "unlink") return
const parent = path.split("/").slice(0, -1).join("/")