1 Apr 2025 |
Cat | Now yes ofc you cant get other servers to concur ofc. | 20:17:57 |
nex (she/it) | It keeps sending it down sync with an old state, and it's spinning on hundreds of redactions from the abuse account (which it didn't think was in the room at the time) | 20:18:39 |
nex (she/it) | Does dendrite have an event cache for rejected events where it retries them or something? | 20:18:53 |
olivia | my understanding is that the problem is that other servers think she's still in the room, and so are attempting to send traffic from it over federation? Possible I'm misunderstanding | 20:20:14 |
nex (she/it) | Yes, that is what it looks like | 20:20:27 |
nex (she/it) | From what I can gather, there's still some dangling events stored in the roomserver_events table that references the room, despite the room being purged | 20:20:47 |
nex (she/it) | hm, does an evac+purge remove it from all tables? | 20:21:42 |
nex (she/it) | dendrite=# select * from roomserver_rooms where room_id='!ehXvUhWNASUkSLvAGP:matrix.org';
room_nid | room_id | latest_event_nids | last_event_sent_nid | state_snapshot_nid | room_version
----------+--------------------------------+-------------------------------------------+---------------------+--------------------+--------------
45 | !ehXvUhWNASUkSLvAGP:matrix.org | {3998198,3499866,3499869,3499871,3499873} | 3998198 | 274556 | 6
(1 row)
dendrite=# select * from roomserver_events where room_nid = 45;
dendrite=# select count(*) from roomserver_events where room_nid = 45;
count
--------
101373
(1 row)
Certainly looks like it's persisting | 20:22:32 |
olivia | I wonder if purging a room doesn't prevent your user from being rejoined to the room when your server receives events from that room over federation | 20:24:20 |
nex (she/it) | I thought that that'd require a make_join to be able to re-fetch all of the state and whatnot though? | 20:24:52 |
olivia | in conduits there's a mechanism to specifically disable federation for a room, so all incoming events there will be ignored. Doesn't look like dendrite has anything like that though, unless I'm misunderstanding what purging a room does | 20:24:57 |
nex (she/it) | Redacted or Malformed Event | 20:25:17 |
olivia | make_join just exists to get somebody already in the room to sign a join event. I would expect your server to accept an old already-signed join event just fine | 20:25:36 |
Emma [it/its] | nope, purging a room just flat out deletes it from the db, sending leaves if you dont specify "force": true in the request (at least for the synapse version of that endpoint) | 20:25:40 |
nex (she/it) | Evacuating the room just removes all local users, purging the room (is supposed to) removes it from the database | 20:25:41 |
olivia | depends on how it's implemented though | 20:25:42 |
olivia | dendrite docs are here | 20:26:00 |
olivia | if it were me I might look into patching dendrite lol | 20:26:17 |
Emma [it/its] | ive had rooms screwed over enough in synapse that i had to manually go in and delete all references myself, been ages though | 20:26:23 |
nex (she/it) | Yeah I'm still getting logs about "state reset detected" from the old room | 20:29:10 |
nex (she/it) | I'll do a little bit of database surgery and pray I don't make it worse 🥴 | 20:29:22 |
morguldir | most likely the purge is just failing somewhere | 20:42:26 |
nex (she/it)🦈🐈️ | Yeah, that's what I assume too, but it's doing it silently if it is | 20:43:37 |
nex (she/it)🦈🐈️ | Redacted or Malformed Event | 20:44:15 |
nex (she/it)🦈🐈️ | Forgor, no images | 20:44:21 |
nex (she/it)🦈🐈️ | anyway probably getting a bit offtopic for this room now | 20:44:26 |
2 Apr 2025 |
| Rafael Neves joined the room. | 01:59:43 |
| Fábio Rodrigues Ribeiro joined the room. | 03:07:55 |
Fábio Rodrigues Ribeiro | Redacted or Malformed Event | 03:08:49 |
| Liv Morgan joined the room. | 06:46:23 |