diff --git a/federationapi/routing/send.go b/federationapi/routing/send.go index 6866cfb27..72b6ac401 100644 --- a/federationapi/routing/send.go +++ b/federationapi/routing/send.go @@ -370,6 +370,8 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is } if len(stateResp.MissingAuthEventIDs) > 0 { + logger.Infof("%d missing auth_events", len(stateResp.MissingAuthEventIDs)) + servers := []gomatrixserverlib.ServerName{t.Origin} serverReq := &api.QueryServerJoinedToRoomRequest{ RoomID: e.RoomID(), @@ -413,6 +415,7 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is } if len(stateResp.MissingPrevEventIDs) > 0 { + logger.Infof("%d missing prev_events", len(stateResp.MissingAuthEventIDs)) return t.processEventWithMissingState(ctx, e, stateResp.RoomVersion, isInboundTxn) } diff --git a/roomserver/internal/perform/perform_join.go b/roomserver/internal/perform/perform_join.go index e9aebb839..56ae6d0b1 100644 --- a/roomserver/internal/perform/perform_join.go +++ b/roomserver/internal/perform/perform_join.go @@ -249,14 +249,10 @@ func (r *Joiner) performJoinRoomByID( inputRes := api.InputRoomEventsResponse{} r.Inputer.InputRoomEvents(ctx, &inputReq, &inputRes) if err = inputRes.Err(); err != nil { - var notAllowed *gomatrixserverlib.NotAllowed - if errors.As(err, ¬Allowed) { - return "", &api.PerformError{ - Code: api.PerformErrorNotAllowed, - Msg: fmt.Sprintf("InputRoomEvents auth failed: %s", err), - } + return "", &api.PerformError{ + Code: api.PerformErrorNotAllowed, + Msg: fmt.Sprintf("InputRoomEvents auth failed: %s", err), } - return "", fmt.Errorf("r.InputRoomEvents: %w", err) } } diff --git a/roomserver/internal/query/query.go b/roomserver/internal/query/query.go index bfd788b72..736604217 100644 --- a/roomserver/internal/query/query.go +++ b/roomserver/internal/query/query.go @@ -108,11 +108,11 @@ func (r *Queryer) QueryMissingAuthPrevEvents( if err != nil { return err } - if info == nil || info.IsStub { + if info == nil { return errors.New("room doesn't exist") } - response.RoomExists = true + response.RoomExists = !info.IsStub response.RoomVersion = info.RoomVersion for _, authEventID := range request.AuthEventIDs {