From a1768a83e0b33e58a3aa9cc710896c46a3fed742 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Fri, 11 Aug 2023 15:17:36 +0200 Subject: [PATCH] [bugfix] Suppress 'errNoEntries' warnings from InboxForwarding function call (#2102) --- internal/federation/federatingactor.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/internal/federation/federatingactor.go b/internal/federation/federatingactor.go index 72647040a..942aa8198 100644 --- a/internal/federation/federatingactor.go +++ b/internal/federation/federatingactor.go @@ -27,6 +27,7 @@ import ( "net/url" "strings" + errorsv2 "codeberg.org/gruf/go-errors/v2" "codeberg.org/gruf/go-kv" "github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/activity/streams" @@ -223,14 +224,21 @@ func (f *federatingActor) PostInboxScheme(ctx context.Context, w http.ResponseWr // is in the database. // // Since our `Exists()` function currently *always* - // returns false, it will *always* attempt to insert - // the Activity. Therefore, we ignore AlreadyExists - // errors. + // returns false, it will *always* attempt to parse + // out and insert the Activity, trying to fetch other + // items from the DB in the process, which may or may + // not exist yet. Therefore, we should expect some + // errors coming from this function, and only warn log + // on certain ones. // // This check may be removed when the `Exists()` func // is updated, and/or federating callbacks are handled // properly. - if !errors.Is(err, db.ErrAlreadyExists) { + if !errorsv2.Comparable( + err, + db.ErrAlreadyExists, + db.ErrNoEntries, + ) { // Failed inbox forwarding is not a show-stopper, // and doesn't even necessarily denote a real error. l.Warnf("error calling sideEffectActor.InboxForwarding: %q", err)