Move code for calculating auth difference into GMSL
MODIFY
go.mod
go.mod
@@ -22,7 +22,7 @@ require (
github.com/matrix-org/dugong v0.0.0-20210921133753-66e6b1c67e2e
github.com/matrix-org/go-sqlite3-js v0.0.0-20220419092513-28aa791a1c91
github.com/matrix-org/gomatrix v0.0.0-20220926102614-ceba4d9f7530
- github.com/matrix-org/gomatrixserverlib v0.0.0-20221031151122-0885c35ebe74
+ github.com/matrix-org/gomatrixserverlib v0.0.0-20221101101008-c049905f3715
github.com/matrix-org/pinecone v0.0.0-20221026160848-639feeff74d6
github.com/matrix-org/util v0.0.0-20200807132607-55161520e1d4
github.com/mattn/go-sqlite3 v1.14.15

MODIFY
go.sum
go.sum
@@ -389,6 +389,8 @@ github.com/matrix-org/gomatrix v0.0.0-20220926102614-ceba4d9f7530 h1:kHKxCOLcHH8
github.com/matrix-org/gomatrix v0.0.0-20220926102614-ceba4d9f7530/go.mod h1:/gBX06Kw0exX1HrwmoBibFA98yBk/jxKpGVeyQbff+s=
github.com/matrix-org/gomatrixserverlib v0.0.0-20221031151122-0885c35ebe74 h1:I4LUlFqxZ72m3s9wIvUIV2FpprsxW28dO/0lAgepCZY=
github.com/matrix-org/gomatrixserverlib v0.0.0-20221031151122-0885c35ebe74/go.mod h1:Mtifyr8q8htcBeugvlDnkBcNUy5LO8OzUoplAf1+mb4=
+github.com/matrix-org/gomatrixserverlib v0.0.0-20221101101008-c049905f3715 h1:hEnm8lUG+ZkhuvptSKnvpxERHv1ac3w04HVv+AZ21C4=
+github.com/matrix-org/gomatrixserverlib v0.0.0-20221101101008-c049905f3715/go.mod h1:Mtifyr8q8htcBeugvlDnkBcNUy5LO8OzUoplAf1+mb4=
github.com/matrix-org/pinecone v0.0.0-20221026160848-639feeff74d6 h1:nAT5w41Q9uWTSnpKW55/hBwP91j2IFYPDRs0jJ8TyFI=
github.com/matrix-org/pinecone v0.0.0-20221026160848-639feeff74d6/go.mod h1:K0N1ixHQxXoCyqolDqVxPM3ArrDtcMs8yegOx2Lfv9k=
github.com/matrix-org/util v0.0.0-20200807132607-55161520e1d4 h1:eCEHXWDv9Rm335MSuB49mFUK44bwZPFSDde3ORE3syk=

MODIFY
roomserver/state/state.go
roomserver/state/state.go
@@ -944,7 +944,6 @@ func (v *StateResolution) resolveConflictsV2(
authSets := make(map[string][]*gomatrixserverlib.Event, len(conflicted))
authEvents := make([]*gomatrixserverlib.Event, 0, estimate*3)
gotAuthEvents := make(map[string]struct{}, estimate*3)
- authDifference := make([]*gomatrixserverlib.Event, 0, estimate)
knownAuthEvents := make(map[string]types.Event, estimate*3)
// For each conflicted event, let's try and get the needed auth events.
@@ -992,41 +991,6 @@ func (v *StateResolution) resolveConflictsV2(
// longer need this after this point.
gotAuthEvents = nil // nolint:ineffassign
- // This function helps us to work out whether an event exists in one of the
- // auth sets.
- isInAuthList := func(k string, event *gomatrixserverlib.Event) bool {
- for _, e := range authSets[k] {
- if e.EventID() == event.EventID() {
- return true
- }
- }
- return false
- }
-
- // This function works out if an event exists in all of the auth sets.
- isInAllAuthLists := func(event *gomatrixserverlib.Event) bool {
- for k := range authSets {
- if !isInAuthList(k, event) {
- return false
- }
- }
- return true
- }
-
- // Look through all of the auth events that we've been given and work out if
- // there are any events which don't appear in all of the auth sets. If they
- // don't then we add them to the auth difference.
- func() {
- span, _ := opentracing.StartSpanFromContext(ctx, "isInAllAuthLists")
- defer span.Finish()
-
- for _, event := range authEvents {
- if !isInAllAuthLists(event) {
- authDifference = append(authDifference, event)
- }
- }
- }()
-
// Resolve the conflicts.
resolvedEvents := func() []*gomatrixserverlib.Event {
span, _ := opentracing.StartSpanFromContext(ctx, "gomatrixserverlib.ResolveStateConflictsV2")
@@ -1036,7 +1000,6 @@ func (v *StateResolution) resolveConflictsV2(
conflictedEvents,
nonConflictedEvents,
authEvents,
- authDifference,
)
}()

Move code for calculating auth difference into GMSL