fix(session): normalize CreatedAt in SessionManager AddFullMessage/SetHistory

This commit is contained in:
LiusCraft 2026-05-11 01:36:38 +08:00
parent 2546b10171
commit edde942b97

View file

@ -87,8 +87,13 @@ func (sm *SessionManager) AddFullMessage(sessionKey string, msg providers.Messag
sm.sessions[sessionKey] = session sm.sessions[sessionKey] = session
} }
now := time.Now()
if msg.CreatedAt == nil {
msg.CreatedAt = &now
}
session.Messages = append(session.Messages, msg) session.Messages = append(session.Messages, msg)
session.Updated = time.Now() session.Updated = now
} }
func (sm *SessionManager) GetHistory(key string) []providers.Message { func (sm *SessionManager) GetHistory(key string) []providers.Message {
@ -300,7 +305,13 @@ func (sm *SessionManager) SetHistory(key string, history []providers.Message) {
// from the caller's slice. // from the caller's slice.
msgs := make([]providers.Message, len(history)) msgs := make([]providers.Message, len(history))
copy(msgs, history) copy(msgs, history)
now := time.Now()
for i := range msgs {
if msgs[i].CreatedAt == nil {
msgs[i].CreatedAt = &now
}
}
session.Messages = msgs session.Messages = msgs
session.Updated = time.Now() session.Updated = now
} }
} }