summary refs log tree commit diff
path: root/src/ChatPage.cpp
diff options
context:
space:
mode:
authorDeepBlueV7.X <nicolas.werner@hotmail.de>2022-03-29 20:54:45 +0200
committerGitHub <noreply@github.com>2022-03-29 20:54:45 +0200
commitf9e294ce0c34bbf820320bbe124de2175aefa0ee (patch)
tree6e32446bbbae091977c8103a502a27ce924df340 /src/ChatPage.cpp
parentAvoid empty membership events (diff)
parentAdd backend for new room creation dialogs (diff)
downloadnheko-f9e294ce0c34bbf820320bbe124de2175aefa0ee.tar.xz
Merge pull request #1019 from maltee1/qml_createroom
CreateRoom dialog in QML
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r--src/ChatPage.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp

index 3743eae0..a355a5b2 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -1187,7 +1187,7 @@ ChatPage::decryptDownloadedSecrets(mtx::secret_storage::AesHmacSha2KeyDescriptio } void -ChatPage::startChat(QString userid) +ChatPage::startChat(QString userid, std::optional<bool> encryptionEnabled) { auto joined_rooms = cache::joinedRooms(); auto room_infos = cache::getRoomInfo(joined_rooms); @@ -1213,6 +1213,14 @@ ChatPage::startChat(QString userid) mtx::requests::CreateRoom req; req.preset = mtx::requests::Preset::PrivateChat; req.visibility = mtx::common::RoomVisibility::Private; + + if (encryptionEnabled.value_or(false)) { + mtx::events::StrippedEvent<mtx::events::state::Encryption> enc; + enc.type = mtx::events::EventType::RoomEncryption; + enc.content.algorithm = mtx::crypto::MEGOLM_ALGO; + req.initial_state.emplace_back(std::move(enc)); + } + if (utils::localUser() != userid) { req.invite = {userid.toStdString()}; req.is_direct = true;