aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service/content_item_store.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2020-11-14 16:59:21 +0100
committerfiaxh <git@lightrise.org>2020-11-14 17:05:46 +0100
commitd0488401cea54a78c8190c372d33a63440cc3aeb (patch)
treef48d0e14ad26589b65b390d3b06637a522070eaf /libdino/src/service/content_item_store.vala
parentb8d216a0575fbdc5a8eeeed07a1aeda8bd83ffea (diff)
downloaddino-d0488401cea54a78c8190c372d33a63440cc3aeb.tar.gz
dino-d0488401cea54a78c8190c372d33a63440cc3aeb.zip
Use WeakMap for message caching
Diffstat (limited to 'libdino/src/service/content_item_store.vala')
-rw-r--r--libdino/src/service/content_item_store.vala24
1 files changed, 6 insertions, 18 deletions
diff --git a/libdino/src/service/content_item_store.vala b/libdino/src/service/content_item_store.vala
index 7b320071..357d2300 100644
--- a/libdino/src/service/content_item_store.vala
+++ b/libdino/src/service/content_item_store.vala
@@ -49,24 +49,12 @@ public class ContentItemStore : StreamInteractionModule, Object {
DateTime local_time = new DateTime.from_unix_utc(row[db.content_item.local_time]);
switch (provider) {
case 1:
- RowOption row_option = db.message.select().with(db.message.id, "=", foreign_id)
- .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id)
- .row();
- if (row_option.is_present()) {
- Message? message = stream_interactor.get_module(MessageStorage.IDENTITY).get_message_by_id(foreign_id, conversation);
- if (message == null) {
- try {
- message = new Message.from_row(db, row_option.inner);
- } catch (InvalidJidError e) {
- warning("Ignoring message with invalid Jid: %s", e.message);
- }
- }
- if (message != null) {
- var message_item = new MessageItem(message, conversation, row[db.content_item.id]);
- message_item.display_time = time;
- message_item.sort_time = local_time;
- items.add(message_item);
- }
+ Message? message = stream_interactor.get_module(MessageStorage.IDENTITY).get_message_by_id(foreign_id, conversation);
+ if (message != null) {
+ var message_item = new MessageItem(message, conversation, row[db.content_item.id]);
+ message_item.display_time = time;
+ message_item.sort_time = local_time;
+ items.add(message_item);
}
break;
case 2: