feat: Chat-History auf max. 500 Nachrichten limitieren

This commit is contained in:
Meleki committed 2026-03-01 15:48:19 +01:00
1 parent 58c5ccb79b
commit e31daa2385
4 files changed
+53 -7

No files matched your search

+19 -4
View File
@@ -33,16 +33,31 @@ public static class HistoryEndpoint
return;
}
const int messageLimit = 500;
var totalCount = await db.GetActiveMessageCount(sessionId);
var messages = await db.GetLatestActiveMessages(sessionId, messageLimit);
// Nach Chain gruppieren (Reihenfolge beibehalten)
var chainIds = messages.Select(m => m.ChainId).Distinct().ToList();
var chains = await db.GetActiveChains(sessionId);
var chainMap = chains.ToDictionary(c => c.ChainId);
var result = new List<object>();
foreach (var chain in chains)
foreach (var chainId in chainIds)
{
var messages = await db.GetChainMessages(chain.ChainId);
result.Add(new { chain, messages });
chainMap.TryGetValue(chainId, out var chain);
var chainMessages = messages.Where(m => m.ChainId == chainId).ToList();
result.Add(new { chain, messages = chainMessages });
}
await ctx.Response.WriteAsJsonAsync(result);
await ctx.Response.WriteAsJsonAsync(new
{
entries = result,
hasMore = totalCount > messageLimit,
totalCount,
loadedCount = messages.Count
});
}
private static async Task HandlePoll(HttpContext ctx, DatabaseService db)