fix(fts): context menu inconsistently shown items caused by missing capability bits in file traversing (fix #3385)

This commit is contained in:
Aaron Liu
2026-05-09 14:14:50 +08:00
parent a9a0c1ee78
commit 3487407131
2 changed files with 10 additions and 0 deletions

View File

@@ -372,6 +372,10 @@ func (f *File) Recycle() {
f.Parent = nil
f.OwnerModel = nil
f.IsUserRoot = false
f.CapabilitiesBs = nil
f.FileExtendedInfo = nil
f.FileFolderSummary = nil
f.disableView = false
f.mu = nil
filePool.Put(f)

View File

@@ -742,8 +742,14 @@ func (f *DBFS) TraverseFile(ctx context.Context, fileID int) (fs.File, error) {
rootUri = newTrashUri(root.Name())
}
navigator, err := f.getNavigator(ctx, rootUri)
if err != nil {
return nil, fmt.Errorf("failed to get navigator for root file: %w", err)
}
root.Path[pathIndexRoot] = rootUri
root.Path[pathIndexUser] = rootUri
file.CapabilitiesBs = navigator.Capabilities(false).Capability
return file, nil
}