fix(workspace): publish loaded folder children

This commit is contained in:
Feror 2026-06-02 23:28:48 +02:00
parent 1801f44f86
commit 771f3368b4

View file

@ -164,19 +164,25 @@ private final class SaplingAppModel: ObservableObject {
guard let url = item.containerURL?.standardizedFileURL else { return }
guard workspaceChildren[url] == nil, !loadingTreeItemURLs.contains(url) else { return }
loadingTreeItemURLs.insert(url)
var loadingURLs = loadingTreeItemURLs
loadingURLs.insert(url)
loadingTreeItemURLs = loadingURLs
let workspaceManager = self.workspaceManager
Task {
do {
let children = try await Task.detached {
try await workspaceManager.loadItems(in: url)
}.value
workspaceChildren[url] = children
var loadedChildren = workspaceChildren
loadedChildren[url] = children
workspaceChildren = loadedChildren
} catch {
editorErrorMessage = "Unable to load \(item.displayName): \(error.localizedDescription)"
logger.error("Failed to load workspace tree item: \(error)", category: .workspace)
}
loadingTreeItemURLs.remove(url)
var loadingURLs = loadingTreeItemURLs
loadingURLs.remove(url)
loadingTreeItemURLs = loadingURLs
}
}