borogove
created pr with
borogove/multi-dm.1
added borogove/multi-dm.2
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 -3checkout specific patchset revision:
ssh pr.pico.sh pull borogove:multi-dm [rev] | git am -3add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh borogove:multi-dmadd comment to patch request:
ssh pr.pico.sh comment borogove:multi-dm "lgtm!"
Patchset
borogove/multi-dm.2
Use to for chatId if not in recipients
Stephen Paul Weber
clone should clone attributes
2026-11-08T19:15:14ZStephen Paul Weber
Actually send to all recipients
2026-11-09T16:18:06ZStephen Paul Weber
Never add self as counterpart
2026-11-09T16:24:50ZStephen Paul Weber
Extended addressing for sent messages specifies all recipients
2026-11-08T19:20:04ZStephen Paul Weber
Always add all recipients to outbound message
2026-11-08T19:20:46ZStephen Paul Weber
Use a shared helper for adding extended addressing
2026-11-08T19:21:50ZStephen Paul Weber
Add startMultiChat to create multiDMs
2026-11-08T19:32:30ZStephen Paul Weber
Never include ourselves in incoming chat ids
2026-11-08T21:01:35ZStephen Paul Weber
→ Cannot MAM or bookmark a multiDM
2026-11-09T19:40:59ZStephen Paul Weber
2026-11-10T17:34:01Z
Cannot MAM or bookmark a multiDM
Stephen Paul Weber
2026-11-10T17:34:01ZSemantic diff summary
0 added,
0 modified,
0 signature changed,
0 removed
across 0 analyzed files
(1 file skipped: unsupported file type)
+5
-2
borogove/Chat.hx
#
| ... | ... | @@ -1206,7 +1206,7 @@ class DirectChat extends Chat { | |
| 1206 | 1206 | if (before != null && before.chatId() != chatId) throw "Cannot look before from a different chat"; | |
| 1207 | 1207 | ||
| 1208 | 1208 | 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) { | |
| 1210 | 1210 | Promise.resolve(messages); | |
| 1211 | 1211 | } else { | |
| 1212 | 1212 | var filter:MAMQueryParams = { with: this.chatId }; |
| ... | ... | @@ -1232,7 +1232,7 @@ class DirectChat extends Chat { | |
| 1232 | 1232 | } | |
| 1233 | 1233 | ||
| 1234 | 1234 | 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) { | |
| 1236 | 1236 | Promise.resolve(messages); | |
| 1237 | 1237 | } else { | |
| 1238 | 1238 | var filter:MAMQueryParams = { with: this.chatId }; |