feat: preserve display name when merging cached messages

This commit is contained in:
Sarto
2026-04-22 17:38:10 +03:30
parent f753afc1db
commit 452d8462c4
+5 -1
View File
@@ -108,10 +108,14 @@ func (c *Cache) MergeAndPut(channelName string, fresh []protocol.Message) (*Mess
// Load existing history without TTL check — we want to keep old messages.
var existing []protocol.Message
existingDisplayName := ""
if data, err := os.ReadFile(c.channelPath(channelName)); err == nil {
var cc cachedChannel
if json.Unmarshal(data, &cc) == nil {
existing = cc.Messages
if cc.DisplayName != "" {
existingDisplayName = cc.DisplayName
}
}
}
@@ -134,7 +138,7 @@ func (c *Cache) MergeAndPut(channelName string, fresh []protocol.Message) (*Mess
merged = merged[len(merged)-maxCachedMessages:]
}
cc := cachedChannel{Messages: merged, FetchedAt: time.Now().Unix()}
cc := cachedChannel{Messages: merged, FetchedAt: time.Now().Unix(), Name: channelName, DisplayName: existingDisplayName}
data, err := json.Marshal(cc)
if err != nil {
return nil, err