From 22de9d3d4fb81cb885bbe746b0220450756a8ce8 Mon Sep 17 00:00:00 2001 From: Simone Margaritelli Date: Fri, 10 Jun 2022 22:12:45 +0200 Subject: [PATCH] new: added session.stopped event (and fixed session.started event propagation) --- modules/events_stream/events_view.go | 2 +- session/session.go | 4 +--- session/session_core_handlers.go | 3 +++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/events_stream/events_view.go b/modules/events_stream/events_view.go index 37e84771..cc000949 100644 --- a/modules/events_stream/events_view.go +++ b/modules/events_stream/events_view.go @@ -132,7 +132,7 @@ func (mod *EventsStream) Render(output io.Writer, e session.Event) { mod.viewUpdateEvent(output, e) } else if e.Tag == "gateway.change" { mod.viewGatewayEvent(output, e) - } else if e.Tag != "tick" { + } else if e.Tag != "tick" && e.Tag != "session.started" && e.Tag != "session.stopped" { fmt.Fprintf(output, "[%s] [%s] %v\n", e.Time.Format(mod.timeFormat), tui.Green(e.Tag), e) } } diff --git a/session/session.go b/session/session.go index dc0a6f3c..f2363212 100644 --- a/session/session.go +++ b/session/session.go @@ -306,9 +306,7 @@ func (s *Session) Start() error { s.startNetMon() - if *s.Options.Debug { - s.Events.Add("session.started", nil) - } + s.Events.Add("session.started", nil) // register js functions here to avoid cyclic dependency between // js and session diff --git a/session/session_core_handlers.go b/session/session_core_handlers.go index 86a6d678..538af5b4 100644 --- a/session/session_core_handlers.go +++ b/session/session_core_handlers.go @@ -155,6 +155,9 @@ func (s *Session) activeHandler(args []string, sess *Session) error { } func (s *Session) exitHandler(args []string, sess *Session) error { + // notify any listener that the session is about to end + s.Events.Add("session.stopped", nil) + for _, mod := range s.Modules { if mod.Running() { mod.Stop()