[client, gui] fix exit nodes menu on reconnect, remove tooltips (#5167)

* [client, gui] fix exit nodes menu on reconnect

clean s.exitNodeStates when disconnecting

* disable tooltip for exit nodes and settings
This commit is contained in:
Maycon Santos
2026-01-23 18:39:45 +01:00
committed by GitHub
parent c61568ceb4
commit 67211010f7
4 changed files with 6 additions and 7 deletions

View File

@@ -1033,7 +1033,7 @@ func (s *serviceClient) onTrayReady() {
s.mDown.Disable()
systray.AddSeparator()
s.mSettings = systray.AddMenuItem("Settings", settingsMenuDescr)
s.mSettings = systray.AddMenuItem("Settings", disabledMenuDescr)
s.mAllowSSH = s.mSettings.AddSubMenuItemCheckbox("Allow SSH", allowSSHMenuDescr, false)
s.mAutoConnect = s.mSettings.AddSubMenuItemCheckbox("Connect on Startup", autoConnectMenuDescr, false)
s.mEnableRosenpass = s.mSettings.AddSubMenuItemCheckbox("Enable Quantum-Resistance", quantumResistanceMenuDescr, false)
@@ -1060,7 +1060,7 @@ func (s *serviceClient) onTrayReady() {
}
s.exitNodeMu.Lock()
s.mExitNode = systray.AddMenuItem("Exit Node", exitNodeMenuDescr)
s.mExitNode = systray.AddMenuItem("Exit Node", disabledMenuDescr)
s.mExitNode.Disable()
s.exitNodeMu.Unlock()
@@ -1261,7 +1261,6 @@ func (s *serviceClient) setSettingsEnabled(enabled bool) {
if s.mSettings != nil {
if enabled {
s.mSettings.Enable()
s.mSettings.SetTooltip(settingsMenuDescr)
} else {
s.mSettings.Hide()
s.mSettings.SetTooltip("Settings are disabled by daemon")

View File

@@ -1,8 +1,6 @@
package main
const (
settingsMenuDescr = "Settings of the application"
profilesMenuDescr = "Manage your profiles"
allowSSHMenuDescr = "Allow SSH connections"
autoConnectMenuDescr = "Connect automatically when the service starts"
quantumResistanceMenuDescr = "Enable post-quantum security via Rosenpass"
@@ -11,7 +9,7 @@ const (
notificationsMenuDescr = "Enable notifications"
advancedSettingsMenuDescr = "Advanced settings of the application"
debugBundleMenuDescr = "Create and open debug information bundle"
exitNodeMenuDescr = "Select exit node for routing traffic"
disabledMenuDescr = ""
networksMenuDescr = "Open the networks management window"
latestVersionMenuDescr = "Download latest version"
quitMenuDescr = "Quit the client app"

View File

@@ -99,6 +99,8 @@ func (h *eventHandler) handleConnectClick() {
func (h *eventHandler) handleDisconnectClick() {
h.client.mDown.Disable()
h.client.exitNodeStates = []exitNodeState{}
if h.client.connectCancel != nil {
log.Debugf("cancelling ongoing connect operation")
h.client.connectCancel()

View File

@@ -390,7 +390,7 @@ func (s *serviceClient) recreateExitNodeMenu(exitNodes []*proto.Network) {
if runtime.GOOS == "linux" || runtime.GOOS == "freebsd" {
s.mExitNode.Remove()
s.mExitNode = systray.AddMenuItem("Exit Node", exitNodeMenuDescr)
s.mExitNode = systray.AddMenuItem("Exit Node", disabledMenuDescr)
}
var showDeselectAll bool