From dc52e7595cca06d0a2da7d11b3c88cb2f7ce529c Mon Sep 17 00:00:00 2001 From: fiaxh Date: Fri, 6 Jan 2023 13:19:42 +0100 Subject: Add support for XEP-0461 replies (with fallback) --- libdino/src/service/message_storage.vala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libdino/src/service/message_storage.vala') diff --git a/libdino/src/service/message_storage.vala b/libdino/src/service/message_storage.vala index a44c0b02..fbdbcf8a 100644 --- a/libdino/src/service/message_storage.vala +++ b/libdino/src/service/message_storage.vala @@ -42,6 +42,7 @@ public class MessageStorage : StreamInteractionModule, Object { .with(db.message.type_, "=", (int) Util.get_message_type_for_conversation(conversation)) .order_by(db.message.time, "DESC") .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id) + .outer_join_with(db.reply, db.reply.message_id, db.message.id) .limit(count); Gee.List ret = new LinkedList(Message.equals_func); @@ -92,6 +93,7 @@ public class MessageStorage : StreamInteractionModule, Object { RowOption row_option = db.message.select().with(db.message.id, "=", id) .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id) + .outer_join_with(db.reply, db.reply.message_id, db.message.id) .row(); return create_message_from_row_opt(row_option, conversation); @@ -111,7 +113,8 @@ public class MessageStorage : StreamInteractionModule, Object { .with(db.message.type_, "=", (int) Util.get_message_type_for_conversation(conversation)) .with(db.message.stanza_id, "=", stanza_id) .order_by(db.message.time, "DESC") - .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id); + .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id) + .outer_join_with(db.reply, db.reply.message_id, db.message.id); if (conversation.counterpart.resourcepart == null) { query.with_null(db.message.counterpart_resource); @@ -138,7 +141,8 @@ public class MessageStorage : StreamInteractionModule, Object { .with(db.message.type_, "=", (int) Util.get_message_type_for_conversation(conversation)) .with(db.message.server_id, "=", server_id) .order_by(db.message.time, "DESC") - .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id); + .outer_join_with(db.message_correction, db.message_correction.message_id, db.message.id) + .outer_join_with(db.reply, db.reply.message_id, db.message.id); if (conversation.counterpart.resourcepart == null) { query.with_null(db.message.counterpart_resource); -- cgit v1.2.3-54-g00ecf