fix: Nachrichtenanzahl zählt nur text-Messages, keine tool_use/tool_result
- 5 SQL COUNT-Queries mit 'type = text' Filter versehen: - GetSessionsWithStats (activeCount + totalCount) - GetActiveMessageCount - GetActiveMessageCountBeforeId - CreateArchive (messageCount) - Dashboard: Aktive und archivierte Nachrichten separat angezeigt - ArchiveMessageCount als eigenes Feld im Session-DTO - TODO.md: Nachrichtenzählung-Bug als erledigt markiert
This commit is contained in:
1 parent
4ae894304f
commit
dbeba6535a
3 files changed
+12
-11
No files matched your search
@@ -407,13 +407,13 @@ public class DatabaseService
|
||||
var activeCount = await conn.ExecuteScalarAsync<int>(@"
|
||||
SELECT COUNT(*) FROM messages m
|
||||
JOIN chains c ON m.chain_id = c.chain_id
|
||||
WHERE c.session_id = @sessionId AND c.archive_id IS NULL",
|
||||
WHERE c.session_id = @sessionId AND c.archive_id IS NULL AND m.type = 'text'",
|
||||
new { sessionId = s.SessionId });
|
||||
|
||||
var totalCount = await conn.ExecuteScalarAsync<int>(@"
|
||||
SELECT COUNT(*) FROM messages m
|
||||
JOIN chains c ON m.chain_id = c.chain_id
|
||||
WHERE c.session_id = @sessionId",
|
||||
WHERE c.session_id = @sessionId AND m.type = 'text'",
|
||||
new { sessionId = s.SessionId });
|
||||
|
||||
results.Add(new
|
||||
@@ -430,6 +430,7 @@ public class DatabaseService
|
||||
s.CreatedAt,
|
||||
s.UpdatedAt,
|
||||
MessageCount = activeCount,
|
||||
ArchiveMessageCount = totalCount - activeCount,
|
||||
TotalMessageCount = totalCount,
|
||||
TelegramConfigured = !string.IsNullOrEmpty(s.TelegramBotToken),
|
||||
TelegramLinked = !string.IsNullOrEmpty(s.TelegramChatId)
|
||||
@@ -499,7 +500,7 @@ public class DatabaseService
|
||||
|
||||
var messageCount = await conn.ExecuteScalarAsync<int>(@"
|
||||
SELECT COUNT(*) FROM messages
|
||||
WHERE chain_id IN (SELECT chain_id FROM chains WHERE archive_id IS NULL AND session_id = @sessionId)",
|
||||
WHERE type = 'text' AND chain_id IN (SELECT chain_id FROM chains WHERE archive_id IS NULL AND session_id = @sessionId)",
|
||||
new { sessionId });
|
||||
|
||||
var archive = new ArchiveRecord
|
||||
@@ -671,7 +672,7 @@ public class DatabaseService
|
||||
return await conn.ExecuteScalarAsync<int>($@"
|
||||
SELECT COUNT(*) FROM messages m
|
||||
JOIN chains c ON m.chain_id = c.chain_id
|
||||
WHERE c.archive_id IS NULL AND c.session_id = @sessionId {deletedFilter}",
|
||||
WHERE c.archive_id IS NULL AND c.session_id = @sessionId AND m.type = 'text' {deletedFilter}",
|
||||
new { sessionId });
|
||||
}
|
||||
|
||||
@@ -695,7 +696,7 @@ public class DatabaseService
|
||||
return await conn.ExecuteScalarAsync<int>($@"
|
||||
SELECT COUNT(*) FROM messages m
|
||||
JOIN chains c ON m.chain_id = c.chain_id
|
||||
WHERE m.id < @beforeId AND c.archive_id IS NULL AND c.session_id = @sessionId {deletedFilter}",
|
||||
WHERE m.id < @beforeId AND c.archive_id IS NULL AND c.session_id = @sessionId AND m.type = 'text' {deletedFilter}",
|
||||
new { sessionId, beforeId });
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user