pub(super) async fn migrate_conduit_pdus(services: &Services) -> ResultExpand description
Injects room_id into stored PDUs that lack it. Runs once on every database
(marker-gated by the caller); a native tuwunel DB always serializes the
field, so it no-ops there. Only a room v12 (hydra) create event imported
from Conduit omits it, deriving its room from the event’s own id per
MSC4291. Scans the pduid_pdu timeline (room from the key’s leading short
room id) and eventid_outlierpdu (room from the create event’s own id, the
outlier key).