From a0af5bb45e849bb7dc3d5b79ba40912e8bb42a44 Mon Sep 17 00:00:00 2001 From: woikos Date: Wed, 14 Jan 2026 10:56:31 +0100 Subject: [PATCH] Fix Neo4j query returning zero events for REQ filters (v0.49.1) - Fix zero-value timestamp filter bug: since/until with value 0 were being added as WHERE clauses, causing queries to match no events - Fix event parsing: use direct slice assignment instead of copy() on nil slices for ID, Pubkey, and Sig fields Files modified: - pkg/neo4j/query-events.go: Fix buildCypherQuery and parseEventsFromResult Co-Authored-By: Claude Opus 4.5 --- pkg/neo4j/query-events.go | 16 ++++++++-------- pkg/version/version | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkg/neo4j/query-events.go b/pkg/neo4j/query-events.go index 9b04b2c..273c145 100644 --- a/pkg/neo4j/query-events.go +++ b/pkg/neo4j/query-events.go @@ -130,11 +130,13 @@ func (n *N) buildCypherQuery(f *filter.F, includeDeleteEvents bool) (string, map } // Time range filters - for temporal queries - if f.Since != nil { + // Note: Check both pointer and value - a zero timestamp (Unix epoch 1970) is almost + // certainly not a valid constraint as Nostr events didn't exist then + if f.Since != nil && f.Since.V > 0 { params["since"] = f.Since.V whereClauses = append(whereClauses, "e.created_at >= $since") } - if f.Until != nil { + if f.Until != nil && f.Until.V > 0 { params["until"] = f.Until.V whereClauses = append(whereClauses, "e.created_at <= $until") } @@ -300,19 +302,17 @@ func (n *N) parseEventsFromResult(result *CollectedResult) ([]*event.E, error) { _ = tags.UnmarshalJSON([]byte(tagsStr)) } - // Create event + // Create event with decoded binary fields e := &event.E{ + ID: id, + Pubkey: pubkey, Kind: uint16(kind), CreatedAt: createdAt, Content: []byte(content), Tags: tags, + Sig: sig, } - // Copy fixed-size arrays - copy(e.ID[:], id) - copy(e.Sig[:], sig) - copy(e.Pubkey[:], pubkey) - events = append(events, e) } diff --git a/pkg/version/version b/pkg/version/version index 9dc0e18..b0d3f59 100644 --- a/pkg/version/version +++ b/pkg/version/version @@ -1 +1 @@ -v0.49.0 +v0.49.1