Allow un-rejecting events on reprocessing
MODIFY
roomserver/api/wrapper.go
roomserver/api/wrapper.go
@@ -19,6 +19,7 @@ import (
"github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util"
+ "github.com/sirupsen/logrus"
)
// SendEvents to the roomserver The events are written with KindNew.
@@ -69,6 +70,13 @@ func SendEventWithState(
stateEventIDs[i] = stateEvents[i].EventID()
}
+ logrus.WithContext(ctx).WithFields(logrus.Fields{
+ "room_id": event.RoomID(),
+ "event_id": event.EventID(),
+ "outliers": len(ires),
+ "state_ids": len(stateEventIDs),
+ }).Infof("Submitting %q event to roomserver with state snapshot", event.Type())
+
ires = append(ires, InputRoomEvent{
Kind: kind,
Event: event,

MODIFY
roomserver/storage/postgres/events_table.go
roomserver/storage/postgres/events_table.go
@@ -74,7 +74,7 @@ const insertEventSQL = "" +
"INSERT INTO roomserver_events AS e (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)" +
" VALUES ($1, $2, $3, $4, $5, $6, $7, $8)" +
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" +
- " SET is_rejected = $8 WHERE e.event_id = $4 AND e.is_rejected = FALSE" +
+ " SET is_rejected = $8 WHERE e.event_id = $4 AND e.is_rejected = TRUE" +
" RETURNING event_nid, state_snapshot_nid"
const selectEventSQL = "" +

MODIFY
roomserver/storage/sqlite3/events_table.go
roomserver/storage/sqlite3/events_table.go
@@ -50,7 +50,7 @@ const insertEventSQL = `
INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
ON CONFLICT DO UPDATE
- SET is_rejected = $8 WHERE is_rejected = 0
+ SET is_rejected = $8 WHERE is_rejected = 1
RETURNING event_nid, state_snapshot_nid;
`

MODIFY
syncapi/internal/keychange.go
syncapi/internal/keychange.go
@@ -127,7 +127,7 @@ func DeviceListCatchup(
"from": offset,
"to": toOffset,
"response_offset": queryRes.Offset,
- }).Debugf("QueryKeyChanges request result: %+v", res.DeviceLists)
+ }).Tracef("QueryKeyChanges request result: %+v", res.DeviceLists)
return types.StreamPosition(queryRes.Offset), hasNew, nil
}

Allow un-rejecting events on reprocessing