| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2024-12-10 04:04:30 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2024-12-10 04:04:30 UTC |
| parent | 832dcd51516ddea7252519259d97277559dee49c |
| snikket/Message.hx | +5 | -0 |
| snikket/persistence/browser.js | +1 | -1 |
diff --git a/snikket/Message.hx b/snikket/Message.hx index dc06ea4..4e24647 100644 --- a/snikket/Message.hx +++ b/snikket/Message.hx @@ -262,6 +262,11 @@ class Message { final replyToMessage = new ChatMessage(); replyToMessage.from = replyToJid == null ? null : JID.parse(replyToJid); replyToMessage.replyId = replyToID; + if (isGroupchat) { + replyToMessage.serverId = replyToID; + } else { + replyToMessage.localId = replyToID; + } msg.replyToMessage = replyToMessage; } } diff --git a/snikket/persistence/browser.js b/snikket/persistence/browser.js index fd8e641..ecef1b7 100644 --- a/snikket/persistence/browser.js +++ b/snikket/persistence/browser.js @@ -365,7 +365,7 @@ const browser = (dbname, tokenize, stemmer) => { if (message.serverId && !message.serverIdBy) throw "Cannot store a message with a server id and no by"; new Promise((resolve) => // Hydrate reply stubs - message.replyToMessage && !message.replyToMessage.serverIdBy ? this.getMessage(account, message.chatId(), message.replyToMessage.getReplyId(), message.replyToMessage.getReplyId(), resolve) : resolve(message.replyToMessage) + message.replyToMessage && !message.replyToMessage.serverIdBy ? this.getMessage(account, message.chatId(), message.replyToMessage.serverId, message.replyToMessage.localId, resolve) : resolve(message.replyToMessage) ).then((replyToMessage) => { message.replyToMessage = replyToMessage; const tx = db.transaction(["messages", "reactions"], "readwrite");