chore(model): refactor context handling for folder type (#10472)

Signed-off-by: Jakob Borg <jakob@kastelo.net>
This commit is contained in:
Jakob Borg
2025-11-27 20:34:35 +00:00
committed by GitHub
parent ce884e5d72
commit 553c02f244
12 changed files with 339 additions and 404 deletions
+6 -5
View File
@@ -7,6 +7,7 @@
package model
import (
"context"
"fmt"
"slices"
"strings"
@@ -39,8 +40,8 @@ func (f *receiveEncryptedFolder) Revert() {
f.doInSync(f.revert)
}
func (f *receiveEncryptedFolder) revert() error {
f.sl.Info("Reverting unexpected items")
func (f *receiveEncryptedFolder) revert(ctx context.Context) error {
f.sl.InfoContext(ctx, "Reverting unexpected items")
f.setState(FolderScanning)
defer f.setState(FolderIdle)
@@ -84,7 +85,7 @@ func (f *receiveEncryptedFolder) revert() error {
batch.Append(fi)
}
f.revertHandleDirs(dirs)
f.revertHandleDirs(ctx, dirs)
if err := batch.Flush(); err != nil {
return err
@@ -96,13 +97,13 @@ func (f *receiveEncryptedFolder) revert() error {
return nil
}
func (f *receiveEncryptedFolder) revertHandleDirs(dirs []string) {
func (f *receiveEncryptedFolder) revertHandleDirs(ctx context.Context, dirs []string) {
if len(dirs) == 0 {
return
}
scanChan := make(chan string)
go f.pullScannerRoutine(scanChan)
go f.pullScannerRoutine(ctx, scanChan)
defer close(scanChan)
slices.SortFunc(dirs, func(a, b string) int {