From cda564d5cc3c60a66ae4fa4c5a5d341a8265cad3 Mon Sep 17 00:00:00 2001 From: Brian Buller Date: Thu, 12 Feb 2026 06:12:21 -0600 Subject: [PATCH] Auth Flow Work Go update too --- app/screen_home.go | 8 ++++++-- data/repo_auth.go | 13 ++++++------- go.mod | 4 +++- widgets/json_content.go | 10 +++++++++- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/app/screen_home.go b/app/screen_home.go index 40d8f12..a6ccbde 100644 --- a/app/screen_home.go +++ b/app/screen_home.go @@ -165,7 +165,9 @@ func (s *ScreenHome) HandleResize(ev *tcell.EventResize) { func (s *ScreenHome) HandleKey(ev *tcell.EventKey) bool { if s.showAlert { - return s.alert.HandleKey(ev) + handled := s.alert.HandleKey(ev) + s.alert.SetMessage(fmt.Sprintf("Alert Handled? %v -> %s", handled, ev.Name())) + return handled } if ev.Key() == tcell.KeyF12 { s.toggleCli() @@ -390,6 +392,8 @@ func (s *ScreenHome) cliAuthPds(args ...string) bool { } s.alert.SetTitle("Authentication Started") s.alert.SetMessage(fmt.Sprintf("OAuth Process Started.\nIf a browser window didn't open, you can open this URL manually:\n%s", authUrl)) + s.alert.SetVisible(true) + s.alert.SetActive(true) s.showAlert = true }() return true @@ -443,7 +447,7 @@ func (s *ScreenHome) updatePdsListing() { if viper.GetBool(data.KeyRecNmInfer) { if rec, ok := s.activePds.Records[rIds[j]]; ok { for k := range rec { - if k == "name" || k == "title" || k == "label" { + if k == "name" || k == "title" || k == "label" || k == "displayName" { if f, ok := rec[k].(string); ok { label = fmt.Sprintf("%s (%s)", f, rIds[j]) break diff --git a/data/repo_auth.go b/data/repo_auth.go index 4a51d1b..6d7d5bd 100644 --- a/data/repo_auth.go +++ b/data/repo_auth.go @@ -23,7 +23,8 @@ type AuthRepo struct { store *SqliteStore context context.Context - session *oauth.ClientSessionData + session *oauth.ClientSessionData + authError error } func NewAuthRepo(r *Repo) (*AuthRepo, error) { @@ -70,12 +71,10 @@ func (r *AuthRepo) StartAuthFlow(port int, identifier string, callbackRes chan u if !strings.HasPrefix(authUrl, "https://") { return "", fmt.Errorf("non-https authUrl") } - exec.Command("xdg-open", authUrl).Run() - - r.session, err = r.oauthClient.ProcessCallback(r.context, <-callbackRes) - if err != nil { - return "", err - } + go func() { + exec.Command("xdg-open", authUrl).Start() + r.session, r.authError = r.oauthClient.ProcessCallback(r.context, <-callbackRes) + }() return authUrl, nil } diff --git a/go.mod b/go.mod index 315aa5d..e5bc6e3 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module git.bullercodeworks.com/brian/expds -go 1.25.1 +go 1.26.0 + +replace git.bullercodeworks.com/brian/tcell-widgets => /home/brbuller/Development/go/src/git.bullercodeworks.com/brian/tcell-widgets require ( git.bullercodeworks.com/brian/tcell-widgets v0.3.2 diff --git a/widgets/json_content.go b/widgets/json_content.go index 907bcd7..0233e29 100644 --- a/widgets/json_content.go +++ b/widgets/json_content.go @@ -165,7 +165,15 @@ func (w *JsonContent) Draw(screen tcell.Screen) { txt = txt[:(w.w - brdSz)] } - wh.DrawText(w.x, y, txt, st.Dim(dim).Bold(!dim), screen) + if w.editable { + var key, val string + + wh.DrawText(w.x, y, key, st.Dim(dim).Bold(!dim), screen) + st = st.Reverse(true) + wh.DrawText(w.x, y, val, st.Dim(dim).Bold(!dim), screen) + } else { + wh.DrawText(w.x, y, txt, st.Dim(dim).Bold(!dim), screen) + } y++ } }