package firehose import ( "context" "fmt" "github.com/bluesky-social/indigo/api/atproto" "github.com/bluesky-social/indigo/atproto/syntax" ) func (c *Consumer) HandleSync(ctx context.Context, event *atproto.SyncSubscribeRepos_Sync) error { if err := c.Store.SaveCursor(ctx, event.Seq); err != nil { c.Logger.Error("could not save cursor", "err", err) } did, err := syntax.ParseDID(event.Did) if err != nil { return fmt.Errorf("parse sync DID: %w", err) } go func() { if err := c.Store.DeleteAllLinks(ctx, did.String()); err != nil { c.Logger.Error("could not clear synced repo links", "did", did, "err", err) return } if err := c.Backfill.Repo(ctx, did.String(), c.WantedCollections); err != nil { c.Logger.Error("could not backfill synced repo", "did", did, "err", err) } }() return nil }