From c2d3bdeffafe3f2492feebc6a13735eefb68b54a Mon Sep 17 00:00:00 2001 From: woikos Date: Thu, 22 Jan 2026 21:22:56 +0100 Subject: [PATCH] Fix EVENT envelope format in negentropy sync (v0.55.8) Use eventenvelope.NewResultWith() to properly format EVENT messages with subscription ID, matching the expected format: ["EVENT", sub_id, event] Previously SendEvent was sending just the raw event which caused JSON parsing errors on the receiving side. Co-Authored-By: Claude Opus 4.5 --- app/handle-negentropy.go | 11 +++++++++-- pkg/version/version | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/handle-negentropy.go b/app/handle-negentropy.go index 191cff7..7acaf74 100644 --- a/app/handle-negentropy.go +++ b/app/handle-negentropy.go @@ -10,6 +10,7 @@ import ( "lol.mleku.dev/chk" "lol.mleku.dev/log" + "git.mleku.dev/mleku/nostr/encoders/envelopes/eventenvelope" "git.mleku.dev/mleku/nostr/encoders/filter" "git.mleku.dev/mleku/nostr/encoders/tag" commonv1 "next.orly.dev/pkg/proto/orlysync/common/v1" @@ -312,13 +313,19 @@ func (l *Listener) sendEventsForIDs(subscriptionID string, ids [][]byte) error { return err } - // Send each event via EVENT envelope + // Send each event via EVENT envelope with subscription ID sent := 0 for _, ev := range events { if ev == nil { continue } - if err := l.SendEvent(ev); err != nil { + // Create proper EVENT envelope: ["EVENT", subscription_id, event] + res, err := eventenvelope.NewResultWith([]byte(subscriptionID), ev) + if err != nil { + log.W.F("NEG: failed to create event envelope: %v", err) + continue + } + if err := res.Write(l); err != nil { log.W.F("NEG: failed to send event: %v", err) continue } diff --git a/pkg/version/version b/pkg/version/version index a6fe2e6..5266ef5 100644 --- a/pkg/version/version +++ b/pkg/version/version @@ -1 +1 @@ -v0.55.7 +v0.55.8