diff --git a/internal/session/lifecycle/lifecycle.go b/internal/session/lifecycle/lifecycle.go index 1ccfb5c..9a9ed04 100644 --- a/internal/session/lifecycle/lifecycle.go +++ b/internal/session/lifecycle/lifecycle.go @@ -46,7 +46,7 @@ func New(conn ssh.Conn, forwarder Forwarder, slugManager slug.Slug, port portUti channel: nil, forwarder: forwarder, slug: slugManager, - startedAt: time.Now(), + startedAt: time.Time{}, sessionRegistry: sessionRegistry, portRegistry: port, user: user, @@ -97,6 +97,9 @@ func (l *lifecycle) SetStatus(status types.SessionStatus) { l.mu.Lock() defer l.mu.Unlock() l.status = status + if status == types.SessionStatusRUNNING && l.startedAt.IsZero() { + l.startedAt = time.Now() + } } func (l *lifecycle) IsActive() bool {