Fix crash and add more logging

This commit is contained in:
Tulir Asokan 2019-05-31 20:51:16 +03:00
parent a40584db41
commit 83f4cf2811
2 changed files with 7 additions and 1 deletions

View file

@ -358,7 +358,7 @@ func (handler *CommandHandler) CommandDeleteAllPortals(ce *CommandEvent) {
} }
} }
customPuppet := handler.bridge.GetPuppetByCustomMXID(ce.User.MXID) customPuppet := handler.bridge.GetPuppetByCustomMXID(ce.User.MXID)
if customPuppet != nil { if customPuppet != nil && customPuppet.CustomIntent() != nil {
intent := customPuppet.CustomIntent() intent := customPuppet.CustomIntent()
leave = func(portal *Portal) { leave = func(portal *Portal) {
if len(portal.MXID) > 0 { if len(portal.MXID) > 0 {

View file

@ -308,6 +308,7 @@ func (user *User) intPostLogin() {
} }
func (user *User) syncPortals(createAll bool) { func (user *User) syncPortals(createAll bool) {
user.log.Infoln("Reading chat list")
chats := make(ChatList, 0, len(user.Conn.Store.Chats)) chats := make(ChatList, 0, len(user.Conn.Store.Chats))
portalKeys := make([]database.PortalKey, 0, len(user.Conn.Store.Chats)) portalKeys := make([]database.PortalKey, 0, len(user.Conn.Store.Chats))
for _, chat := range user.Conn.Store.Chats { for _, chat := range user.Conn.Store.Chats {
@ -325,6 +326,7 @@ func (user *User) syncPortals(createAll bool) {
}) })
portalKeys = append(portalKeys, portal.Key) portalKeys = append(portalKeys, portal.Key)
} }
user.log.Infoln("Read chat list, updating user-portal mapping")
err := user.SetPortalKeys(portalKeys) err := user.SetPortalKeys(portalKeys)
if err != nil { if err != nil {
user.log.Warnln("Failed to update user-portal mapping:", err) user.log.Warnln("Failed to update user-portal mapping:", err)
@ -335,6 +337,7 @@ func (user *User) syncPortals(createAll bool) {
limit = len(chats) limit = len(chats)
} }
now := uint64(time.Now().Unix()) now := uint64(time.Now().Unix())
user.log.Infoln("Syncing portals")
for i, chat := range chats { for i, chat := range chats {
if chat.LastMessageTime+user.bridge.Config.Bridge.SyncChatMaxAge < now { if chat.LastMessageTime+user.bridge.Config.Bridge.SyncChatMaxAge < now {
break break
@ -348,15 +351,18 @@ func (user *User) syncPortals(createAll bool) {
} }
} }
} }
user.log.Infoln("Finished syncing portals")
} }
func (user *User) syncPuppets() { func (user *User) syncPuppets() {
user.log.Infoln("Syncing puppet info from contacts")
for jid, contact := range user.Conn.Store.Contacts { for jid, contact := range user.Conn.Store.Contacts {
if strings.HasSuffix(jid, whatsappExt.NewUserSuffix) { if strings.HasSuffix(jid, whatsappExt.NewUserSuffix) {
puppet := user.bridge.GetPuppetByJID(contact.Jid) puppet := user.bridge.GetPuppetByJID(contact.Jid)
puppet.Sync(user, contact) puppet.Sync(user, contact)
} }
} }
user.log.Infoln("Finished syncing puppet info from contacts")
} }
func (user *User) updateLastConnectionIfNecessary() { func (user *User) updateLastConnectionIfNecessary() {