From 5420bcde15b2c2437b3d26701808f935ac6d094c Mon Sep 17 00:00:00 2001 From: James Mills Date: Sun, 27 Mar 2022 02:11:40 +0000 Subject: [PATCH] Fix svc bot so it attempts reconnect until successful (#70) Co-authored-by: James Mills Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/70 Reviewed-by: xuu Co-authored-by: James Mills Co-committed-by: James Mills --- .gitignore | 1 + internal/server.go | 19 ++++++++++++------- service.go | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 1e9b4f6..2b44d75 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ /msgs /dist +/certs /saltyd /salty-chat /cmd/saltyd/saltyd diff --git a/internal/server.go b/internal/server.go index 5c68c1a..e8d3b9b 100644 --- a/internal/server.go +++ b/internal/server.go @@ -251,14 +251,19 @@ func (s *Server) setupSvcUser() { return } - // Wait for things to settle - //time.Sleep(time.Second * 5) + var cli *saltyim.Client - cli, err := saltyim.NewClient(me, saltyim.WithIdentity(ident)) - if err != nil { - log.WithError(err).Error("error creating svc user's client") - return + for { + cli, err = saltyim.NewClient(me, saltyim.WithIdentity(ident)) + if err != nil { + log.WithError(err).Warn("error creating svc user's client") + time.Sleep(time.Second * 3) + continue + } else { + break + } } + svc, err := saltyim.NewService(cli) if err != nil { log.WithError(err).Errorf("error creating service") @@ -442,7 +447,7 @@ func NewServer(bind string, options ...Option) (*Server, error) { server.initRoutes() go server.runStartupJobs() - server.setupSvcUser() + go server.setupSvcUser() return server, nil } diff --git a/service.go b/service.go index ec525e8..32a83d1 100644 --- a/service.go +++ b/service.go @@ -39,10 +39,10 @@ func NewService(client *Client) (*Service, error) { } func (svc *Service) String() string { - buf := &bytes.Buffer{} - fmt.Fprintln(buf, "Bot: ", svc.Client.me) svc.mu.RLock() defer svc.mu.RUnlock() + + buf := &bytes.Buffer{} for k := range svc.textFns { fmt.Fprintln(buf, " - TextCmd: ", k) }