From e1b47b6a7f16ad25497cc6b52495337adcb1a620 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 15 Jun 2026 09:38:59 -0600 Subject: [PATCH] Remove unused portions of audit context "unused" in that the details aren't rendered out to a webhook --- filter/audit.go | 29 +++++++++-------------------- filter/set.go | 3 --- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/filter/audit.go b/filter/audit.go index 5a63ea6..edc84f5 100644 --- a/filter/audit.go +++ b/filter/audit.go @@ -12,20 +12,17 @@ import ( "testing" "time" + "github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/policyserv/config" "github.com/matrix-org/policyserv/filter/audit" "github.com/matrix-org/policyserv/filter/classification" - "github.com/matrix-org/policyserv/filter/confidence" - "github.com/matrix-org/gomatrixserverlib" ) type auditContext struct { - Event gomatrixserverlib.PDU - IsSpam bool - FinalVectors confidence.Vectors - IncrementalVectors []confidence.Vectors - FilterResponses map[string][]classification.Classification - WebhookUrl string + Event gomatrixserverlib.PDU + IsSpam bool + FilterResponses map[string][]classification.Classification + WebhookUrl string lock sync.Mutex // use a lock instead of a sync.Map because sync.Map doesn't support generics (and library support appears lacking in quality) instanceConfig *config.InstanceConfig @@ -33,14 +30,12 @@ type auditContext struct { func newAuditContext(instanceConfig *config.InstanceConfig, event gomatrixserverlib.PDU, webhookUrl string) (*auditContext, error) { return &auditContext{ - Event: event, - FilterResponses: make(map[string][]classification.Classification), - IncrementalVectors: make([]confidence.Vectors, 0), - WebhookUrl: webhookUrl, + Event: event, + FilterResponses: make(map[string][]classification.Classification), + WebhookUrl: webhookUrl, // Populated later - IsSpam: false, - FinalVectors: nil, + IsSpam: false, // Internal lock: sync.Mutex{}, @@ -54,12 +49,6 @@ func (c *auditContext) AppendFilterResponse(filterName string, classifications [ c.FilterResponses[filterName] = classifications } -func (c *auditContext) AppendSetGroupVectors(vectors confidence.Vectors) { - c.lock.Lock() - defer c.lock.Unlock() - c.IncrementalVectors = append(c.IncrementalVectors, vectors) -} - func (c *auditContext) Publish(workQueue *audit.Queue) error { c.lock.Lock() defer c.lock.Unlock() diff --git a/filter/set.go b/filter/set.go index cf1cf25..1fd7342 100644 --- a/filter/set.go +++ b/filter/set.go @@ -134,10 +134,7 @@ func (s *Set) CheckEvent(ctx context.Context, event gomatrixserverlib.PDU, media return nil, errors.Join(fmt.Errorf("error at group %d", i), err) } vecs = s.combineVectors(vecs, v) - - auditCtx.AppendSetGroupVectors(v) } - auditCtx.FinalVectors = vecs auditCtx.IsSpam = s.IsSpamResponse(ctx, vecs) go func(auditCtx *auditContext, s *Set) { // run the audit publishing async to avoid blocking the hot path any more than required err := auditCtx.Publish(s.queue)