diff options
author | Alex Auvolat <alex@adnab.me> | 2020-02-26 17:03:49 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2020-02-26 17:03:49 +0100 |
commit | 4270202972ec80ca98a5159e30978378194c1b41 (patch) | |
tree | 6b25f26b926afdf268f2ebeaf5330f431b4f808d | |
parent | d97a76fcc338e7a532d0796ce5b12bdefb0a6f17 (diff) | |
download | easybridge-4270202972ec80ca98a5159e30978378194c1b41.tar.gz easybridge-4270202972ec80ca98a5159e30978378194c1b41.zip |
Try to fix stuff
-rw-r--r-- | account.go | 4 | ||||
-rw-r--r-- | connector/xmpp/xmpp.go | 6 | ||||
-rw-r--r-- | util.go | 2 |
3 files changed, 9 insertions, 3 deletions
@@ -227,7 +227,9 @@ func (a *Account) roomInfoUpdatedInternal(roomId RoomID, author UserID, info *Ro } as_mxid := ezbrMxId() - if len(author) > 0 { + if author == a.Conn.User() { + as_mxid = a.MatrixUser + } else if len(author) > 0 { mx_user_id, err2 := dbGetMxUser(a.Protocol, author) if err2 == nil { as_mxid = mx_user_id diff --git a/connector/xmpp/xmpp.go b/connector/xmpp/xmpp.go index 0573ddb..698016f 100644 --- a/connector/xmpp/xmpp.go +++ b/connector/xmpp/xmpp.go @@ -200,7 +200,11 @@ func (xm *XMPP) handleXMPP() error { if v.Subject != "" && v.Type == "groupchat" { author := UserID("") if len(remote_sp) == 2 { - author = UserID(remote_sp[1] + "@" + remote_sp[0]) + if remote_sp[1] == xm.nickname { + author = xm.User() + } else { + author = UserID(remote_sp[1] + "@" + remote_sp[0]) + } } xm.handler.RoomInfoUpdated(RoomID(remote_sp[0]), author, &RoomInfo{ Topic: v.Subject, @@ -50,7 +50,7 @@ func safeStringForId(in string) string { id2 += "__" } else if c == ':' { id2 += "_" - } else if unicode.IsDigit(c) || unicode.IsLetter(c) { + } else if unicode.IsDigit(c) || unicode.IsLetter(c) || c == '.' || c == '-' || c == '_' { id2 += string(c) } } |