Try to receive tags

This commit is contained in:
Tulir Asokan 2018-03-25 20:30:34 +03:00
parent 23bb46b18f
commit ef326eae82
2 changed files with 13 additions and 1 deletions

View File

@ -17,6 +17,7 @@
package matrix package matrix
import ( import (
"encoding/json"
"fmt" "fmt"
"strings" "strings"
"time" "time"
@ -178,6 +179,7 @@ func (c *Container) OnLogin() {
syncer.OnEventType("m.room.member", c.HandleMembership) syncer.OnEventType("m.room.member", c.HandleMembership)
syncer.OnEventType("m.typing", c.HandleTyping) syncer.OnEventType("m.typing", c.HandleTyping)
syncer.OnEventType("m.push_rules", c.HandlePushRules) syncer.OnEventType("m.push_rules", c.HandlePushRules)
syncer.OnEventType("m.tag", c.HandleTag)
c.client.Syncer = syncer c.client.Syncer = syncer
c.UpdateRoomList() c.UpdateRoomList()
@ -254,6 +256,13 @@ func (c *Container) HandlePushRules(evt *gomatrix.Event) {
} }
} }
// HandleTag is the event handler for the m.tag account data event.
func (c *Container) HandleTag(evt *gomatrix.Event) {
debug.Print("Received updated tags")
dat, _ := json.MarshalIndent(&evt.Content, "", " ")
debug.Print(string(dat))
}
func (c *Container) processOwnMembershipChange(evt *gomatrix.Event) { func (c *Container) processOwnMembershipChange(evt *gomatrix.Event) {
membership, _ := evt.Content["membership"].(string) membership, _ := evt.Content["membership"].(string)
prevMembership := "leave" prevMembership := "leave"

View File

@ -66,6 +66,7 @@ func (s *GomuksSyncer) ProcessResponse(res *gomatrix.RespSync, since string) (er
s.processSyncEvents(room, roomData.State.Events, true, false) s.processSyncEvents(room, roomData.State.Events, true, false)
s.processSyncEvents(room, roomData.Timeline.Events, false, false) s.processSyncEvents(room, roomData.Timeline.Events, false, false)
s.processSyncEvents(room, roomData.Ephemeral.Events, false, false) s.processSyncEvents(room, roomData.Ephemeral.Events, false, false)
s.processSyncEvents(room, roomData.AccountData.Events, false, false)
if len(room.PrevBatch) == 0 { if len(room.PrevBatch) == 0 {
room.PrevBatch = roomData.Timeline.PrevBatch room.PrevBatch = roomData.Timeline.PrevBatch
@ -147,7 +148,9 @@ func (s *GomuksSyncer) GetFilterJSON(userID string) json.RawMessage {
"ephemeral": { "ephemeral": {
"types": ["m.typing"] "types": ["m.typing"]
}, },
"account_data": {"types": []} "account_data": {
"types": ["m.tag"]
}
}, },
"account_data": { "account_data": {
"types": ["m.push_rules"] "types": ["m.push_rules"]