From 552250a35588c2af8cb656d7fa6600c2b974cad7 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Tue, 30 Dec 2025 18:08:25 -0500 Subject: [PATCH] fix(cmd/application): prevent duplicate application Run() calls Closes #679 --- cmd/application.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cmd/application.go b/cmd/application.go index 2503dc1..37d3801 100644 --- a/cmd/application.go +++ b/cmd/application.go @@ -54,22 +54,29 @@ func (a *application) run(token string) error { if token == "" { loginForm := login.NewForm(a.Application, a.cfg, func(token string) { - if err := a.run(token); err != nil { - slog.Error("failed to run application", "err", err) + if err := a.showChatView(token); err != nil { + slog.Error("failed to show chat view", "err", err) } }) a.SetRoot(loginForm) } else { - a.chatView = newChatView(a.Application, a.cfg) - if err := openState(token); err != nil { + if err := a.showChatView(token); err != nil { return err } - a.SetRoot(a.chatView) } return a.Run() } +func (a *application) showChatView(token string) error { + a.chatView = newChatView(a.Application, a.cfg) + if err := openState(token); err != nil { + return err + } + a.SetRoot(a.chatView) + return nil +} + func (a *application) quit() { if discordState != nil { if err := discordState.Close(); err != nil {