From a03a6eb6f323500cb41a25b90aa3b195b7c58234 Mon Sep 17 00:00:00 2001 From: Hakan Sariman Date: Wed, 13 Aug 2025 08:10:30 +0300 Subject: [PATCH] [client] Remove logout functionality from profile management --- client/ui/profile.go | 89 +------------------------------------------- 1 file changed, 2 insertions(+), 87 deletions(-) diff --git a/client/ui/profile.go b/client/ui/profile.go index f4505ab19..bd6c9e549 100644 --- a/client/ui/profile.go +++ b/client/ui/profile.go @@ -40,13 +40,12 @@ func (s *serviceClient) showProfilesUI() { list := widget.NewList( func() int { return len(profiles) }, func() fyne.CanvasObject { - // Each item: Selected indicator, Name, spacer, Select, Logout & Remove buttons + // Each item: Selected indicator, Name, spacer, Select & Remove buttons return container.NewHBox( widget.NewLabel(""), // indicator widget.NewLabel(""), // profile name layout.NewSpacer(), widget.NewButton("Select", nil), - widget.NewButton("Deregister", nil), widget.NewButton("Remove", nil), ) }, @@ -56,8 +55,7 @@ func (s *serviceClient) showProfilesUI() { indicator := row.Objects[0].(*widget.Label) nameLabel := row.Objects[1].(*widget.Label) selectBtn := row.Objects[3].(*widget.Button) - logoutBtn := row.Objects[4].(*widget.Button) - removeBtn := row.Objects[5].(*widget.Button) + removeBtn := row.Objects[4].(*widget.Button) profile := profiles[i] // Show a checkmark if selected @@ -127,12 +125,6 @@ func (s *serviceClient) showProfilesUI() { ) } - logoutBtn.Show() - logoutBtn.SetText("Deregister") - logoutBtn.OnTapped = func() { - s.handleProfileLogout(profile.Name, refresh) - } - // Remove profile removeBtn.SetText("Remove") removeBtn.OnTapped = func() { @@ -332,52 +324,6 @@ func (s *serviceClient) getProfiles() ([]Profile, error) { return profiles, nil } -func (s *serviceClient) handleProfileLogout(profileName string, refreshCallback func()) { - dialog.ShowConfirm( - "Deregister", - fmt.Sprintf("Are you sure you want to deregister from '%s'?", profileName), - func(confirm bool) { - if !confirm { - return - } - - conn, err := s.getSrvClient(defaultFailTimeout) - if err != nil { - log.Errorf("failed to get service client: %v", err) - dialog.ShowError(fmt.Errorf("failed to connect to service"), s.wProfiles) - return - } - - currUser, err := user.Current() - if err != nil { - log.Errorf("failed to get current user: %v", err) - dialog.ShowError(fmt.Errorf("failed to get current user"), s.wProfiles) - return - } - - username := currUser.Username - _, err = conn.Logout(s.ctx, &proto.LogoutRequest{ - ProfileName: &profileName, - Username: &username, - }) - if err != nil { - log.Errorf("logout failed: %v", err) - dialog.ShowError(fmt.Errorf("deregister failed"), s.wProfiles) - return - } - - dialog.ShowInformation( - "Deregistered", - fmt.Sprintf("Successfully deregistered from '%s'", profileName), - s.wProfiles, - ) - - refreshCallback() - }, - s.wProfiles, - ) -} - type subItem struct { *systray.MenuItem ctx context.Context @@ -393,7 +339,6 @@ type profileMenu struct { emailMenuItem *systray.MenuItem profileSubItems []*subItem manageProfilesSubItem *subItem - logoutSubItem *subItem profilesState []Profile downClickCallback func() error upClickCallback func() error @@ -600,30 +545,6 @@ func (p *profileMenu) refresh() { } }() - // Add Logout menu item - ctx2, cancel2 := context.WithCancel(context.Background()) - logoutItem := p.profileMenuItem.AddSubMenuItem("Deregister", "") - p.logoutSubItem = &subItem{logoutItem, ctx2, cancel2} - - go func() { - for { - select { - case <-ctx2.Done(): - return - case _, ok := <-logoutItem.ClickedCh: - if !ok { - return - } - if err := p.eventHandler.logout(p.ctx); err != nil { - log.Errorf("logout failed: %v", err) - p.app.SendNotification(fyne.NewNotification("Error", "Failed to deregister")) - } else { - p.app.SendNotification(fyne.NewNotification("Success", "Deregistered successfully")) - } - } - } - }() - if activeProf.ProfileName == "default" || activeProf.Username == currUser.Username { p.profileMenuItem.SetTitle(activeProf.ProfileName) } else { @@ -646,12 +567,6 @@ func (p *profileMenu) clear(profiles []Profile) { p.manageProfilesSubItem.cancel() p.manageProfilesSubItem = nil } - - if p.logoutSubItem != nil { - p.logoutSubItem.Remove() - p.logoutSubItem.cancel() - p.logoutSubItem = nil - } } func (p *profileMenu) updateMenu() {