fix: correct connect/disconnect button state on connection lifecycle
- Enable disconnect button immediately when connect is clicked, so the user can cancel without waiting for the StateConnecting IPC event. - Disable disconnect button on all error paths in the connect goroutine to restore the default disconnected button state. - Capture ipcClient once at eventLoop start instead of re-reading every iteration, preventing a second onConnect call from making the old event loop jump to the new client and consume events concurrently. - In eventLoop recv error recovery, only reset button states if the current ipcClient still matches the captured one, so a stale disconnection does not clobber the state of a newer session. - Disable connect button in StateReconnecting case (was missing). - Remove WriteOK from daemon startSession: the StateConnecting event already serves as the implicit acknowledgment; the OK response was being read by eventLoop as a no-op event, adding unnecessary noise.
This commit is contained in:
@@ -155,7 +155,6 @@ func (d *daemon) startSession(conn net.Conn, req ipc.Request) {
|
||||
d.session = nil
|
||||
return
|
||||
}
|
||||
_ = ipc.WriteOK(conn)
|
||||
}
|
||||
|
||||
func (d *daemon) stopSession() {
|
||||
|
||||
Reference in New Issue
Block a user