[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ement 640692f8f4 2/2: Fix: (ement--mark-room-direct) Fo
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ement 640692f8f4 2/2: Fix: (ement--mark-room-direct) For users with existing direct rooms |
Date: |
Mon, 26 Sep 2022 13:57:40 -0400 (EDT) |
branch: externals/ement
commit 640692f8f452a30f5a87ebccacbe479902dc7b05
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>
Fix: (ement--mark-room-direct) For users with existing direct rooms
---
ement-lib.el | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/ement-lib.el b/ement-lib.el
index dc1a1dab54..dfcb433114 100644
--- a/ement-lib.el
+++ b/ement-lib.el
@@ -1214,12 +1214,14 @@ such when they were created."
(members (delete-dups (mapcar #'ement-event-sender timeline)))
(other-users (cl-remove local-user-id members
:key #'ement-user-id :test #'equal))
- ((cl-struct ement-user (id other-user-id)) (car other-users)))
+ ((cl-struct ement-user (id other-user-id)) (car other-users))
+ ;; The alist keys are MXIDs as symbols.
+ (other-user-id (intern other-user-id))
+ (existing-direct-rooms-for-user (map-elt
direct-rooms-account-data-event-content other-user-id)))
(cl-assert (= 1 (length other-users)))
- (cl-assert (not (map-elt direct-rooms-account-data-event-content
other-user-id)) nil
- "Ement: User <%s> already has a direct room on session <%s>"
- other-user-id local-user-id)
- (setf (map-elt direct-rooms-account-data-event-content other-user-id)
(vector room-id))
+ (setf (map-elt direct-rooms-account-data-event-content other-user-id)
+ (cl-coerce (append existing-direct-rooms-for-user (list room-id))
+ 'vector))
(ement-put-account-data session "m.direct"
direct-rooms-account-data-event-content
:then (lambda (_data)
(message "Ement: Room <%s> marked as direct for <%s>." room-id
other-user-id)))