Как проявляется
При запуске бота в логах появляется ошибка «TypeError: client.crypto.requestOwnUserVerification is not a function», а сообщения в E2EE-чатах помечаются как не верифицированные.
Из-за чего возникает
В новых версиях matrix-js-sdk с rust-crypto метод client.crypto.requestOwnUserVerification удалён и не реализован в CryptoClient, из-за чего автоматическая верификация устройства бота не происходит.
Как исправить
- Войдите в Element Web (https://app.element.io) под тем же аккаунтом Matrix, что использует бот.
- Перейдите в «Настройки → Безопасность и конфиденциальность».
- Настройте Secure Backup и получите recovery key (ключ восстановления).
- Передайте этот recovery key боту через команду:
openclaw matrix verify recovery-key "ВАШ_КЛЮЧ_ВОССТАНОВЛЕНИЯ"
- Бот расшифрует кросс-подписывающие ключи из секретного хранилища и подпишет своё устройство.
- Перезапустите OpenClaw — устройство бота станет верифицировано (зелёный щиток в Element), исчезнут предупреждения о ненадёжности.
Важно: автоматическая программная верификация пока невозможна из-за отсутствия API в matrix-bot-sdk, поэтому этот ручной способ — рабочий обход.
Как не столкнуться снова
Следите за обновлениями matrix-bot-sdk и OpenClaw — в будущем они должны добавить поддержку новых методов верификации rust-crypto. Пока используйте ручной recovery key для подтверждения устройства.
Источник
Разбор основан на обсуждении в репозитории проекта: issue #7649.
Другие типичные проблемы — в разделе ошибок и решений, а базовая настройка разобрана в первом запуске.