Adapt extremities endpoint for v3+

This commit is contained in:
2025-10-25 00:59:20 -04:00
parent f23a74de5c
commit 2f891508ab

View File

@@ -20,6 +20,7 @@ class bullshit:
def get_json():
return {}
def send_join(request, room) -> dict:
if globals.room_version_from_id(room) in ["1", "2"]:
return rooms.v1_v2(request, room)
@@ -335,10 +336,25 @@ async def backfill(room):
@server.route("/_matrix/federation/unstable/org.matrix.msc4370/extremities/<room>")
@server.route("/_matrix/federation/v1/extremities/<room>")
async def extremities(room):
if ":" in room:
if room.split(":")[1] != config.server_name:
return jsonify({
"errcode": "M_NOT_FOUND",
"error": f"Room is unknown to this server"
}), 404
room_ver = globals.room_version_from_id(room)
if room_ver in ["1", "2"]:
event_id = globals.make_event_id(seed=f"6_{room}")
else:
event_id = globals.make_ref_hash(
send_join(bullshit, room)["state"][5],
int(room_ver)
)
return jsonify({
"prev_events": [
globals.make_event_id(seed=f"6_{room}"),
]
"prev_events": [event_id]
})