fix(desktop): Refresh file contents when changing workspaces to not have stale contents (#11728)

This commit is contained in:
Parker Smith
2026-02-04 13:27:02 -07:00
committed by GitHub
parent 912098928a
commit 41bc4ec7f0
2 changed files with 20 additions and 3 deletions

View File

@@ -8,6 +8,7 @@ import { getFilename } from "@opencode-ai/util/path"
import { useSDK } from "./sdk"
import { useSync } from "./sync"
import { useLanguage } from "@/context/language"
import { decode64 } from "@/utils/base64"
import { Persist, persisted } from "@/utils/persist"
export type FileSelection = {
@@ -275,9 +276,9 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({
const params = useParams()
const language = useLanguage()
const scope = createMemo(() => sdk.directory)
const directory = createMemo(() => decode64(params.dir) ?? sdk.directory)
const directory = createMemo(() => sync.data.path.directory)
const scope = createMemo(() => directory())
function normalize(input: string) {
const root = directory()
@@ -414,7 +415,7 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({
return entry.value
}
const view = createMemo(() => loadView(params.dir!, params.id))
const view = createMemo(() => loadView(directory(), params.id))
function ensure(path: string) {
if (!path) return

View File

@@ -1670,6 +1670,22 @@ export default function Page() {
void (refresh ? file.tree.refresh("") : file.tree.list(""))
})
createEffect(
on(
() => params.dir,
() => {
void file.tree.list("")
const active = tabs().active()
if (!active) return
const path = file.pathFromTab(active)
if (!path) return
void file.load(path, { force: true })
},
{ defer: true },
),
)
const autoScroll = createAutoScroll({
working: () => true,
overflowAnchor: "dynamic",