diff options
| author | fiaxh <git@lightrise.org> | 2025-09-17 17:47:36 +0200 |
|---|---|---|
| committer | fiaxh <git@lightrise.org> | 2025-09-17 17:47:36 +0200 |
| commit | d625058d76efc9e344dd5e1239a4b040a7d2519a (patch) | |
| tree | 4b5a6dc6ad05cb96f58014d1f8740f632efa4bdc /libdino/src/service/reactions.vala | |
| parent | fa678bd2cf60ebdcda652794bfb5e06b7bd7917f (diff) | |
Message correction: Use occupant ids, handle correction-before-message
Diffstat (limited to 'libdino/src/service/reactions.vala')
| -rw-r--r-- | libdino/src/service/reactions.vala | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/libdino/src/service/reactions.vala b/libdino/src/service/reactions.vala index 91651db7..f6050d28 100644 --- a/libdino/src/service/reactions.vala +++ b/libdino/src/service/reactions.vala @@ -251,7 +251,7 @@ public class Dino.Reactions : StreamInteractionModule, Object { Message reaction_message = yield stream_interactor.get_module(MessageProcessor.IDENTITY).parse_message_stanza(account, stanza); Conversation conversation = stream_interactor.get_module(ConversationManager.IDENTITY).get_conversation_for_message(reaction_message); - int content_item_id = stream_interactor.get_module(ContentItemStore.IDENTITY).get_content_item_id_for_message_id(conversation, message_id); + int content_item_id = stream_interactor.get_module(ContentItemStore.IDENTITY).get_content_item_id_for_referencing_id(conversation, message_id); var reaction_info = new ReactionInfo() { conversation=conversation, from_jid=from_jid, reactions=reactions, stanza=stanza, received_time=new DateTime.now() }; if (content_item_id != -1) { @@ -425,23 +425,7 @@ public class Dino.Reactions : StreamInteractionModule, Object { } if (occupant_id != null) { - RowOption row = db.occupantid.select() - .with(db.occupantid.account_id, "=", account.id) - .with(db.occupantid.jid_id, "=", jid_id) - .with(db.occupantid.occupant_id, "=", occupant_id) - .single().row(); - - int occupant_db_id = -1; - if (row.is_present()) { - occupant_db_id = row[db.occupantid.id]; - } else { - occupant_db_id = (int)db.occupantid.upsert() - .value(db.occupantid.account_id, account.id, true) - .value(db.occupantid.jid_id, jid_id, true) - .value(db.occupantid.occupant_id, occupant_id, true) - .value(db.occupantid.last_nick, jid.resourcepart, false) - .perform(); - } + int occupant_db_id = stream_interactor.get_module(OccupantIdStore.IDENTITY).cache_occupant_id(account, occupant_id, jid); builder.value(db.reaction.occupant_id, occupant_db_id, true); } |
