borogove

created pr with borogove/multi-dm.1 on 2026-11-09T19:47:55Z · by 9e834e0d
added borogove/multi-dm.2 on 2026-11-10T19:08:22Z · by 9e834e0d
1: 0ef2769 = 1: 41e89c8 Use to for chatId if not in recipients
2: 90e5a6a = 2: c323e3d clone should clone attributes
3: d86ea28 = 3: a1199ae Actually send to all recipients
4: 1c1061f ! 4: 94bf87d Never add self as counterpart
5: 9c8aa41 = 5: 32b9fad Extended addressing for sent messages specifies all recipients
6: 2da9124 = 6: ce4d9e1 Always add all recipients to outbound message
7: e7db006 = 7: 350343e Use a shared helper for adding extended addressing
8: 4530ece = 8: 40f662a Add startMultiChat to create multiDMs
9: 6810ba9 = 9: 8043c53 Never include ourselves in incoming chat ids
-: ------- > 10: 68e7246 Cannot MAM or bookmark a multiDM
cmds
checkout latest patchset:
ssh pr.pico.sh pull borogove:multi-dm | git am -3
checkout specific patchset revision:
ssh pr.pico.sh pull borogove:multi-dm [rev] | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh borogove:multi-dm
add comment to patch request:
ssh pr.pico.sh comment borogove:multi-dm "lgtm!"
+5 -2 borogove/Chat.hx #
......@@ -1206,7 +1206,7 @@ class DirectChat extends Chat {
12061206 if (before != null && before.chatId() != chatId) throw "Cannot look before from a different chat";
12071207
12081208 return persistence.getMessagesBefore(client.accountId(), chatId, before).then((messages) ->
1209- if (messages.length > 0 || (before != null && before.serverId == null)) {
1209+ if (messages.length > 0 || (before != null && before.serverId == null) || counterparts().length > 1) {
12101210 Promise.resolve(messages);
12111211 } else {
12121212 var filter:MAMQueryParams = { with: this.chatId };
......@@ -1232,7 +1232,7 @@ class DirectChat extends Chat {
12321232 }
12331233
12341234 return persistence.getMessagesAfter(client.accountId(), chatId, after).then((messages) ->
1235- if (messages.length > 0 || (after != null && after.serverId == null)) {
1235+ if (messages.length > 0 || (after != null && after.serverId == null) || counterparts().length > 1) {
12361236 Promise.resolve(messages);
12371237 } else {
12381238 var filter:MAMQueryParams = { with: this.chatId };
......@@ -1461,6 +1461,9 @@ class DirectChat extends Chat {
14611461 }
14621462 }
14631463
1464+ // We don't have a way to bookmark a multiDM
1465+ if (counterparts().length > 1) return;
1466+
14641467 stream.sendIq(
14651468 stanza,
14661469 (response) -> {
Back to top