From bab17d75208ffca043ff85c258ec42507d955a1e Mon Sep 17 00:00:00 2001 From: adamdottv <2363879+adamdottv@users.noreply.github.com> Date: Thu, 8 May 2025 07:43:31 -0500 Subject: feat: session manager --- internal/tui/components/dialog/session.go | 5 ++++- internal/tui/page/chat.go | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'internal/tui') diff --git a/internal/tui/components/dialog/session.go b/internal/tui/components/dialog/session.go index a29fa7131..174e4bed9 100644 --- a/internal/tui/components/dialog/session.go +++ b/internal/tui/components/dialog/session.go @@ -91,8 +91,11 @@ func (s *sessionDialogCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return s, nil case key.Matches(msg, sessionKeys.Enter): if len(s.sessions) > 0 { + selectedSession := s.sessions[s.selectedIdx] + // Update the session manager with the selected session + session.SetCurrentSession(selectedSession.ID) return s, util.CmdHandler(SessionSelectedMsg{ - Session: s.sessions[s.selectedIdx], + Session: selectedSession, }) } case key.Matches(msg, sessionKeys.Escape): diff --git a/internal/tui/page/chat.go b/internal/tui/page/chat.go index 8afd18c22..afb9c8a4c 100644 --- a/internal/tui/page/chat.go +++ b/internal/tui/page/chat.go @@ -128,17 +128,20 @@ func (p *chatPage) clearSidebar() tea.Cmd { func (p *chatPage) sendMessage(text string, attachments []message.Attachment) tea.Cmd { var cmds []tea.Cmd if p.session.ID == "" { - session, err := p.app.Sessions.Create(context.Background(), "New Session") + newSession, err := p.app.Sessions.Create(context.Background(), "New Session") if err != nil { return util.ReportError(err) } - p.session = session + p.session = newSession + // Update the current session in the session manager + session.SetCurrentSession(newSession.ID) + cmd := p.setSidebar() if cmd != nil { cmds = append(cmds, cmd) } - cmds = append(cmds, util.CmdHandler(chat.SessionSelectedMsg(session))) + cmds = append(cmds, util.CmdHandler(chat.SessionSelectedMsg(newSession))) } _, err := p.app.CoderAgent.Run(context.Background(), p.session.ID, text, attachments...) -- cgit v1.2.3