Fixed bug where users were not authenticated until restart
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
25
user.go
25
user.go
@@ -226,8 +226,8 @@ func (user *User) Login(token string) error {
|
||||
user.Token = token
|
||||
|
||||
user.addToGMIDMap()
|
||||
user.PostLogin()
|
||||
if user.Connect() {
|
||||
user.PostLogin()
|
||||
return nil
|
||||
}
|
||||
return errors.New("failed to connect")
|
||||
@@ -260,6 +260,14 @@ func (user *User) Connect() bool {
|
||||
conn := groupme.NewPushSubscription(context.Background())
|
||||
user.Conn = &conn
|
||||
user.Conn.StartListening(context.Background(), groupmeext.NewFayeClient(user.log))
|
||||
user.Client = groupmeext.NewClient(user.Token)
|
||||
if len(user.GMID) == 0 {
|
||||
myuser, err := user.Client.MyUser(context.TODO())
|
||||
if err != nil {
|
||||
log.Fatal(err) //TODO
|
||||
}
|
||||
user.GMID = myuser.ID
|
||||
}
|
||||
|
||||
user.Conn.AddFullHandler(user)
|
||||
|
||||
@@ -422,13 +430,7 @@ func (user *User) HandleChatList() {
|
||||
user.log.Errorln("chat sync error", err) //TODO: handle
|
||||
return
|
||||
}
|
||||
user.log.Debugln("Group")
|
||||
for _, chat := range chats {
|
||||
user.log.Debugln(" " + chat.Name)
|
||||
for _, mem := range chat.Members {
|
||||
user.log.Debugln(" " + mem.Nickname)
|
||||
}
|
||||
|
||||
chatMap[chat.ID] = chat
|
||||
}
|
||||
user.GroupList = chatMap
|
||||
@@ -602,14 +604,7 @@ func (user *User) postConnPing() bool {
|
||||
func (user *User) intPostLogin() {
|
||||
defer user.syncWait.Done()
|
||||
user.lastReconnection = time.Now().Unix()
|
||||
user.Client = groupmeext.NewClient(user.Token)
|
||||
if len(user.GMID) == 0 {
|
||||
myuser, err := user.Client.MyUser(context.TODO())
|
||||
if err != nil {
|
||||
log.Fatal(err) //TODO
|
||||
}
|
||||
user.GMID = myuser.ID
|
||||
}
|
||||
|
||||
user.Update()
|
||||
|
||||
user.tryAutomaticDoublePuppeting()
|
||||
|
||||
Reference in New Issue
Block a user