diff options
Diffstat (limited to 'client/fsm.go')
| -rw-r--r-- | client/fsm.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/client/fsm.go b/client/fsm.go index 673f3fb..e3a8cc0 100644 --- a/client/fsm.go +++ b/client/fsm.go @@ -170,7 +170,14 @@ func newFSM( }, } - return fsm.NewFSM(StateMain, states, callback, GetStateName) + cbLogged := func(oldState FSMStateID, newState FSMStateID, data any) bool { + if oldState != newState { + slog.Debug("FSM transition", "old", GetStateName(oldState), "new", GetStateName(newState)) + } + return callback(oldState, newState, data) + } + + return fsm.NewFSM(StateMain, states, cbLogged, GetStateName) } // SetState sets the state for the client FSM to `state` |
