Skip to content

Commit be1d591

Browse files
committed
HACK: special case for :vector.im threepids
1 parent 2d39b07 commit be1d591

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

crates/syn2mas/src/migration.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,10 +354,18 @@ async fn migrate_threepids(
354354
} = threepid_res.into_synapse("reading threepid")?;
355355
let created_at: DateTime<Utc> = added_at.into();
356356

357-
let username = synapse_user_id
357+
let Ok(username) = synapse_user_id
358358
.extract_localpart(&state.server_name)
359-
.into_extract_localpart(synapse_user_id.clone())?
360-
.to_owned();
359+
.into_extract_localpart(synapse_user_id.clone())
360+
.map(str::to_owned)
361+
else {
362+
// HACK(matrix.org): for some reason, m.org has threepids for the :vector.im
363+
// server. We skip them, and log for potential other servers.
364+
if !synapse_user_id.0.ends_with(":vector.im") {
365+
tracing::warn!("Unexpected MXID for threepid: {}", synapse_user_id);
366+
}
367+
continue;
368+
};
361369
let Some(user_infos) = state.users.get(username.as_str()).copied() else {
362370
return Err(Error::MissingUserFromDependentTable {
363371
table: "user_threepids".to_owned(),

0 commit comments

Comments
 (0)