1 files changed, 15 insertions, 0 deletions
diff --git a/src/SingleImagePackModel.cpp b/src/SingleImagePackModel.cpp
index daec135f..95a863d3 100644
--- a/src/SingleImagePackModel.cpp
+++ b/src/SingleImagePackModel.cpp
@@ -8,6 +8,7 @@
#include <QFileInfo>
#include <QMimeDatabase>
+#include <mtx/events/mscs/image_packs.hpp>
#include <nlohmann/json.hpp>
#include <unordered_set>
@@ -306,6 +307,20 @@ SingleImagePackModel::save()
void
SingleImagePackModel::remove()
{
+ // handle account pack deletion.
+ // Sadly we cannot actually delete the pack,
+ // so we just send an empty pack to clear out its information.
+ if (roomid_.empty()) {
+ http::client()->put_account_data(
+ mtx::events::msc2545::ImagePack(), [](mtx::http::RequestErr e) {
+ if (e)
+ ChatPage::instance()->showNotification(
+ tr("Failed to update image pack: %1")
+ .arg(QString::fromStdString(e->matrix_error.error)));
+ });
+ return;
+ }
+
http::client()->send_state_event(
roomid_,
to_string(mtx::events::EventType::ImagePackInRoom),
|