This is because whilst we wait for state events, we don't wait for account data, so when it checks `m.direct` in account data it is missing.