@@ 16,11 16,22 @@ import (
func electionFilter(localUserID id.UserID) *mautrix.Filter {
return &mautrix.Filter{
+ AccountData: mautrix.FilterPart{
+ NotTypes: []event.Type{event.NewEventType("*")},
+ },
+ Presence: mautrix.FilterPart{
+ NotTypes: []event.Type{event.NewEventType("*")},
+ },
Room: mautrix.RoomFilter{
+ Ephemeral: mautrix.FilterPart{
+ NotTypes: []event.Type{event.NewEventType("*")},
+ },
+ State: mautrix.FilterPart{
+ Types: []event.Type{event.StateRoomName},
+ },
Timeline: mautrix.FilterPart{
- // TODO properly handle too many events (newest
- // events are likely to be in first batch)
- Limit: 100000,
+ LazyLoadMembers: true,
+ Limit: 50,
NotSenders: []id.UserID{localUserID},
Types: []event.Type{
election.CreateElectionMessage,