From 6779f0e509e96cf6938d268036aaf622e70761eb Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 29 Nov 2021 06:06:51 +0100 Subject: [PATCH] Delete rooms even if we fail to leave --- src/ChatPage.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index c1c7eb7d..a05bbeb1 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -754,6 +754,16 @@ ChatPage::leaveRoom(const QString &room_id) if (err) { emit showNotification(tr("Failed to leave room: %1") .arg(QString::fromStdString(err->matrix_error.error))); + nhlog::net()->error("Failed to leave room '{}': {}", room_id.toStdString(), err); + + if (err->status_code == 404 && + err->matrix_error.errcode == mtx::errors::ErrorCode::M_UNKNOWN) { + nhlog::db()->debug( + "Removing invite and room for {}, even though we couldn't leave.", + room_id.toStdString()); + cache::client()->removeInvite(room_id.toStdString()); + cache::client()->removeRoom(room_id.toStdString()); + } return; }