diff --git a/src/Cache.cpp b/src/Cache.cpp
index ec0f2858..4423b21f 100644
--- a/src/Cache.cpp
+++ b/src/Cache.cpp
@@ -55,9 +55,6 @@ constexpr auto BATCH_SIZE = 100;
//! Format: room_id -> RoomInfo
constexpr auto ROOMS_DB("rooms");
constexpr auto INVITES_DB("invites");
-//! Keeps already downloaded media for reuse.
-//! Format: matrix_url -> binary data.
-constexpr auto MEDIA_DB("media");
//! Information that must be kept between sync requests.
constexpr auto SYNC_STATE_DB("sync_state");
//! Read receipts per room/event.
@@ -244,7 +241,6 @@ Cache::setup()
syncStateDb_ = lmdb::dbi::open(txn, SYNC_STATE_DB, MDB_CREATE);
roomsDb_ = lmdb::dbi::open(txn, ROOMS_DB, MDB_CREATE);
invitesDb_ = lmdb::dbi::open(txn, INVITES_DB, MDB_CREATE);
- mediaDb_ = lmdb::dbi::open(txn, MEDIA_DB, MDB_CREATE);
readReceiptsDb_ = lmdb::dbi::open(txn, READ_RECEIPTS_DB, MDB_CREATE);
notificationsDb_ = lmdb::dbi::open(txn, NOTIFICATIONS_DB, MDB_CREATE);
@@ -700,82 +696,6 @@ Cache::secret(const std::string &name)
return secret.toStdString();
}
-//
-// Media Management
-//
-
-void
-Cache::saveImage(const std::string &url, const std::string &img_data)
-{
- if (url.empty() || img_data.empty())
- return;
-
- try {
- auto txn = lmdb::txn::begin(env_);
-
- mediaDb_.put(txn, url, img_data);
-
- txn.commit();
- } catch (const lmdb::error &e) {
- nhlog::db()->critical("saveImage: {}", e.what());
- }
-}
-
-void
-Cache::saveImage(const QString &url, const QByteArray &image)
-{
- saveImage(url.toStdString(), std::string(image.constData(), image.length()));
-}
-
-QByteArray
-Cache::image(lmdb::txn &txn, const std::string &url)
-{
- if (url.empty())
- return QByteArray();
-
- try {
- std::string_view image;
- bool res = mediaDb_.get(txn, url, image);
-
- if (!res)
- return QByteArray();
-
- return QByteArray(image.data(), (int)image.size());
- } catch (const lmdb::error &e) {
- nhlog::db()->critical("image: {}, {}", e.what(), url);
- }
-
- return QByteArray();
-}
-
-QByteArray
-Cache::image(const QString &url)
-{
- if (url.isEmpty())
- return QByteArray();
-
- auto key = url.toStdString();
-
- try {
- auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY);
-
- std::string_view image;
-
- bool res = mediaDb_.get(txn, key, image);
-
- txn.commit();
-
- if (!res)
- return QByteArray();
-
- return QByteArray(image.data(), (int)image.size());
- } catch (const lmdb::error &e) {
- nhlog::db()->critical("image: {} {}", e.what(), url.toStdString());
- }
-
- return QByteArray();
-}
-
void
Cache::removeInvite(lmdb::txn &txn, const std::string &room_id)
{
@@ -860,7 +780,6 @@ Cache::deleteData()
lmdb::dbi_close(env_, syncStateDb_);
lmdb::dbi_close(env_, roomsDb_);
lmdb::dbi_close(env_, invitesDb_);
- lmdb::dbi_close(env_, mediaDb_);
lmdb::dbi_close(env_, readReceiptsDb_);
lmdb::dbi_close(env_, notificationsDb_);
@@ -2470,50 +2389,6 @@ Cache::getInviteRoomTopic(lmdb::txn &txn, lmdb::dbi &db)
return QString();
}
-QImage
-Cache::getRoomAvatar(const QString &room_id)
-{
- return getRoomAvatar(room_id.toStdString());
-}
-
-QImage
-Cache::getRoomAvatar(const std::string &room_id)
-{
- auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY);
-
- std::string_view response;
-
- if (!roomsDb_.get(txn, room_id, response)) {
- txn.commit();
- return QImage();
- }
-
- std::string media_url;
-
- try {
- RoomInfo info = json::parse(response);
- media_url = std::move(info.avatar_url);
-
- if (media_url.empty()) {
- txn.commit();
- return QImage();
- }
- } catch (const json::exception &e) {
- nhlog::db()->warn("failed to parse room info: {}, {}",
- e.what(),
- std::string(response.data(), response.size()));
- }
-
- if (!mediaDb_.get(txn, media_url, response)) {
- txn.commit();
- return QImage();
- }
-
- txn.commit();
-
- return QImage::fromData(QByteArray(response.data(), (int)response.size()));
-}
-
std::vector<std::string>
Cache::joinedRooms()
{
@@ -2615,8 +2490,7 @@ Cache::getMembers(const std::string &room_id, std::size_t startIndex, std::size_
MemberInfo tmp = json::parse(user_data);
members.emplace_back(
RoomMember{QString::fromStdString(std::string(user_id)),
- QString::fromStdString(tmp.name),
- QImage::fromData(image(txn, tmp.avatar_url))});
+ QString::fromStdString(tmp.name)});
} catch (const json::exception &e) {
nhlog::db()->warn("{}", e.what());
}
@@ -4240,18 +4114,6 @@ hasEnoughPowerLevel(const std::vector<mtx::events::EventType> &eventTypes,
return instance_->hasEnoughPowerLevel(eventTypes, room_id, user_id);
}
-//! Retrieves the saved room avatar.
-QImage
-getRoomAvatar(const QString &id)
-{
- return instance_->getRoomAvatar(id);
-}
-QImage
-getRoomAvatar(const std::string &id)
-{
- return instance_->getRoomAvatar(id);
-}
-
void
updateReadReceipt(lmdb::txn &txn, const std::string &room_id, const Receipts &receipts)
{
@@ -4276,27 +4138,6 @@ lastInvisibleEventAfter(const std::string &room_id, std::string_view event_id)
return instance_->lastInvisibleEventAfter(room_id, event_id);
}
-QByteArray
-image(const QString &url)
-{
- return instance_->image(url);
-}
-QByteArray
-image(lmdb::txn &txn, const std::string &url)
-{
- return instance_->image(txn, url);
-}
-void
-saveImage(const std::string &url, const std::string &data)
-{
- instance_->saveImage(url, data);
-}
-void
-saveImage(const QString &url, const QByteArray &data)
-{
- instance_->saveImage(url, data);
-}
-
RoomInfo
singleRoomInfo(const std::string &room_id)
{
|