on main help sign in
fix(ui): remove redundant loop, fix incorrect timestamp, rename misleading variable

- handleChildSessionMessage: replace redundant N-iteration loop (loop var i never used, MessageItem() does identical map lookup each iteration) with a single lookup - setSessionMessages: remove unconditional assignment of lastUserMessageTime from msgPtrs[0] which may be a non-user message; the loop already sets it correctly for user messages - sessions dialog updateSession: rename 'existingID' to 'i' for clarity since it's a slice index, not a session ID

commit9cc1cc35227825f6ead7928b5171410a219841ec authoriko <mail@iko.soy> dateWed 8 Jul 2026, 21:03 (3 months ago) parent0398017
2 files changed+3−11
internal/ui/dialog/sessions.go+2−2 internal/ui/model/ui.go+1−9
internal/ui/dialog/sessions.go+2−2
@@ -384,9 +384,9 @@ func (s *Session) confirmRenameSession() Action {
384384}
385385
386386func (s *Session) updateSession(session session.Session) {
387− for existingID, sess := range s.sessions {
387+ for i, sess := range s.sessions {
388388 if sess.ID == session.ID {
389− s.sessions[existingID] = session
389+ s.sessions[i] = session
390390 break
391391 }
392392 }
internal/ui/model/ui.go+1−9
@@ -1209,9 +1209,6 @@ func (m *UI) setSessionMessages(msgs []message.Message) tea.Cmd {
12091209 msgPtrs[i] = &msgs[i]
12101210 }
12111211 toolResultMap := chat.BuildToolResultMap(msgPtrs)
1212− if len(msgPtrs) > 0 {
1213− m.lastUserMessageTime = msgPtrs[0].CreatedAt
1214− }
12151212
12161213 // Add messages to chat with linked tool results
12171214 items := make([]chat.MessageItem, 0, len(msgs)*2)
@@ -1501,18 +1498,13 @@ func (m *UI) handleChildSessionMessage(event pubsub.Event[message.Message]) tea.
15011498
15021499 // Find the parent agent tool item.
15031500 var agentItem chat.NestedToolContainer
1504− for i := 0; i < m.chat.Len(); i++ {
1505− item := m.chat.MessageItem(toolCallID)
1506− if item == nil {
1507− continue
1508− }
1501+ if item := m.chat.MessageItem(toolCallID); item != nil {
15091502 if agent, ok := item.(chat.NestedToolContainer); ok {
15101503 if toolMessageItem, ok := item.(chat.ToolMessageItem); ok {
15111504 if toolMessageItem.ToolCall().ID == toolCallID {
15121505 // Verify this agent belongs to the correct parent message.
15131506 // We can't directly check parentMessageID on the item, so we trust the session parsing.
15141507 agentItem = agent
1515− break
15161508 }
15171509 }
15181510 }