diff --git a/commonspace/headsync/headsync.go b/commonspace/headsync/headsync.go index 4af26f3e..98e20c20 100644 --- a/commonspace/headsync/headsync.go +++ b/commonspace/headsync/headsync.go @@ -67,7 +67,7 @@ func NewHeadSync( factory := spacesyncproto.ClientFactoryFunc(spacesyncproto.NewDRPCSpaceSyncClient) syncer := newDiffSyncer(spaceId, diff, peerManager, cache, storage, factory, syncStatus, l) sync := func(ctx context.Context) (err error) { - // for clients cancelling sync the sync process + // for clients cancelling the sync process if spaceIsDeleted.Load() && !configuration.IsResponsible(spaceId) { return spacesyncproto.ErrSpaceIsDeleted } diff --git a/commonspace/settings/deletionmanager.go b/commonspace/settings/deletionmanager.go index 4a60fc93..7731fb0d 100644 --- a/commonspace/settings/deletionmanager.go +++ b/commonspace/settings/deletionmanager.go @@ -4,6 +4,7 @@ import ( "github.com/anytypeio/any-sync/commonspace/object/treegetter" "github.com/anytypeio/any-sync/commonspace/settings/settingsstate" "github.com/anytypeio/any-sync/util/slice" + "go.uber.org/zap" "time" ) @@ -56,6 +57,7 @@ func (d *deletionManager) UpdateState(state *settingsstate.State) (err error) { } if state.DeleterId != "" { + log.Debug("deleting space", zap.String("spaceId", d.spaceId)) spaceDeleter, ok := d.treeGetter.(SpaceDeleter) if ok { spaceDeleter.DeleteSpace(d.spaceId) diff --git a/commonspace/settings/settings.go b/commonspace/settings/settings.go index f2eebb1e..3e9ff475 100644 --- a/commonspace/settings/settings.go +++ b/commonspace/settings/settings.go @@ -140,6 +140,7 @@ func (s *settingsObject) updateIds(tr objecttree.ObjectTree, isUpdate bool) { log.Error("failed to build state", zap.Error(err)) return } + log.Debug("updating object state", zap.String("deleterId", s.state.DeleterId)) if err = s.deletionManager.UpdateState(s.state); err != nil { log.Error("failed to update state", zap.Error(err)) } @@ -176,6 +177,9 @@ func (s *settingsObject) Close() error { func (s *settingsObject) DeleteSpace(ctx context.Context, deleterId string, raw *treechangeproto.RawTreeChangeWithId) (err error) { s.Lock() defer s.Unlock() + defer func() { + log.Debug("finished adding delete change", zap.Error(err)) + }() err = s.verifyDeleteSpace(deleterId, raw) if err != nil { return @@ -188,7 +192,8 @@ func (s *settingsObject) DeleteSpace(ctx context.Context, deleterId string, raw return } if !slices.Contains(res.Heads, raw.Id) { - return ErrCantDeleteSpace + err = ErrCantDeleteSpace + return } return } diff --git a/commonspace/settings/settingsstate/statebuilder.go b/commonspace/settings/settingsstate/statebuilder.go index 60dd58db..dab6b32f 100644 --- a/commonspace/settings/settingsstate/statebuilder.go +++ b/commonspace/settings/settingsstate/statebuilder.go @@ -44,7 +44,7 @@ func (s *stateBuilder) Build(tr objecttree.ObjectTree, oldState *State, isUpdate if startId == "" { startId = rootId } - err = tr.IterateFrom(state.LastIteratedId, convert, process) + err = tr.IterateFrom(startId, convert, process) return }