pub(super) async fn migrate_conduit_knocks(services: &Services) -> ResultExpand description
Imports Conduit’s pending knocks. Conduit names the columns
roomuserid_knockcount / userroomid_knockstate; tuwunel renamed them to
*knocked* but kept the byte layout (room_id 0xff user_id -> u64 count;
user_id 0xff room_id -> JSON stripped state), so each row copies verbatim.
Imported once: tuwunel clears a knock on the user’s join or leave, so a
re-import would resurrect a knock the user has already resolved.