@@ -12,7 +12,6 @@ import (
1212
1313 "github.com/ActiveState/cli/cmd/state-svc/internal/graphqltypes"
1414 "github.com/ActiveState/cli/cmd/state-svc/internal/hash"
15- "github.com/ActiveState/cli/cmd/state-svc/internal/messages"
1615 "github.com/ActiveState/cli/cmd/state-svc/internal/notifications"
1716 "github.com/ActiveState/cli/cmd/state-svc/internal/rtwatcher"
1817 genserver "github.com/ActiveState/cli/cmd/state-svc/internal/server/generated"
@@ -27,7 +26,7 @@ import (
2726 "github.com/ActiveState/cli/internal/locale"
2827 "github.com/ActiveState/cli/internal/logging"
2928 configMediator "github.com/ActiveState/cli/internal/mediators/config"
30- msgs "github.com/ActiveState/cli/internal/messages"
29+ "github.com/ActiveState/cli/internal/messages"
3130 "github.com/ActiveState/cli/internal/poller"
3231 "github.com/ActiveState/cli/internal/rtutils/ptr"
3332 "github.com/ActiveState/cli/internal/runbits/panics"
@@ -37,10 +36,14 @@ import (
3736 "github.com/patrickmn/go-cache"
3837)
3938
39+ type messageQueue struct {
40+ messages []* graph.Message
41+ }
42+
4043type Resolver struct {
4144 cfg * config.Instance
4245 notifications * notifications.Notifications
43- messages * messages. Queue
46+ messages * messageQueue
4447 updatePoller * poller.Poller
4548 authPoller * poller.Poller
4649 projectIDCache * projectcache.ID
@@ -60,7 +63,7 @@ func New(cfg *config.Instance, an *sync.Client, auth *authentication.Auth) (*Res
6063 return nil , errs .Wrap (err , "Could not initialize messages" )
6164 }
6265
63- msg := messages . NewQueue ()
66+ msg := & messageQueue { make ([] * graph. Message , 0 )}
6467 upchecker := updater .NewDefaultChecker (cfg , an )
6568 pollUpdate := poller .New (1 * time .Hour , func () (interface {}, error ) {
6669 defer func () {
@@ -91,7 +94,10 @@ func New(cfg *config.Instance, an *sync.Client, auth *authentication.Auth) (*Res
9194 var invalidTokenErr * authentication.ErrInvalidToken
9295 if errors .As (err , & invalidTokenErr ) {
9396 logging .Debug ("Queuing invalid API token error" )
94- msg .Queue (msgs .TopicErrorAuthToken , locale .Tl ("err_invalid_token_try_again" , "Invalid API token. Please check your API token and try again." ))
97+ msg .messages = append (msg .messages , & graph.Message {
98+ Topic : messages .TopicErrorAuthToken ,
99+ Message : locale .Tl ("err_invalid_token_try_again" , "Invalid API token. Please check your API token and try again." ),
100+ })
95101 } else {
96102 logging .Warning ("Could not sync authenticated state: %s" , err .Error ())
97103 }
@@ -273,25 +279,10 @@ func (r *Resolver) CheckNotifications(ctx context.Context, command string, flags
273279}
274280
275281func (r * Resolver ) CheckMessages (ctx context.Context ) ([]* graph.Message , error ) {
282+ defer func () { panics .LogAndPanic (recover (), debug .Stack ()) }()
276283 logging .Debug ("Check messages resolver" )
277- var messages []* graph.Message
278- var err error
279-
280- defer func () {
281- var sentMessageIDs []string
282- for _ , msg := range messages {
283- sentMessageIDs = append (sentMessageIDs , msg .ID )
284- }
285- if err := r .messages .Dequeue (sentMessageIDs ); err != nil {
286- logging .Error ("Could not dequeue messages: %s" , errs .JoinMessage (err ))
287- }
288- panics .LogAndPanic (recover (), debug .Stack ())
289- }()
290-
291- messages , err = r .messages .Messages ()
292- if err != nil {
293- return nil , errs .Wrap (err , "Could not get messages" )
294- }
284+ messages := r .messages .messages
285+ r .messages .messages = r .messages .messages [:0 ] // clear queue
295286 return messages , nil
296287}
297288
0 commit comments