From 76174689fa22fbdb35b342722df18cff53ddb550 Mon Sep 17 00:00:00 2001 From: Eli Mallon Date: Tue, 27 Jan 2026 15:06:30 -0800 Subject: [PATCH] atproto: fix block nil pointer --- pkg/atproto/sync.go | 2 +- pkg/model/block.go | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/atproto/sync.go b/pkg/atproto/sync.go index dd1fd5ae..d7ca198a 100644 --- a/pkg/atproto/sync.go +++ b/pkg/atproto/sync.go @@ -74,7 +74,7 @@ func (atsync *ATProtoSynchronizer) handleCreateUpdate(ctx context.Context, userD return fmt.Errorf("failed to create block: %w", err) } block, err = atsync.Model.GetBlock(ctx, rkey.String()) - if err != nil { + if err != nil || block == nil { return fmt.Errorf("failed to get block after we just saved it?!: %w", err) } streamplaceBlock, err := block.ToStreamplaceBlock() diff --git a/pkg/model/block.go b/pkg/model/block.go index 41a30dcf..91236bf6 100644 --- a/pkg/model/block.go +++ b/pkg/model/block.go @@ -23,6 +23,15 @@ type Block struct { } func (b *Block) ToStreamplaceBlock() (*streamplace.Defs_BlockView, error) { + if b == nil { + return nil, fmt.Errorf("block is nil") + } + if b.Repo == nil { + return nil, fmt.Errorf("block repo is nil") + } + if b.Record == nil { + return nil, fmt.Errorf("block record is nil") + } rec, err := lexutil.CborDecodeValue(b.Record) if err != nil { return nil, fmt.Errorf("error decoding feed post: %w", err) -- 2.51.2