feat(admin): show email count and last-email date per feed

Surface each feed's email count on its Emails button and a "Last email …"
freshness line under the title, in both dashboard views. The values are
projected into feeds:list (kept to a single KV read) via the Feed aggregate,
so toListItemDTO now maps the whole aggregate through its intention-revealing
accessors instead of threading scalar projections. Also fixes long titles
overflowing into the Feed ID column in the table view.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
Julien HerrandClaude Opus 4.7 committed 2026-05-25 23:18:38 +02:00
1 parent e258206384
commit fd3ff8c40a
11 files changed
+273 -51

No files matched your search

+2
View File
@@ -111,6 +111,8 @@ export interface FeedListItem {
expires_at?: number; // Cached from FeedConfig to avoid per-feed KV reads
pendingConfirmation?: boolean; // Projected from FeedMetadata for the dashboard
hasNativeFeed?: boolean; // Projected from FeedMetadata for the dashboard pill
emailCount?: number; // Projected email index size (dashboard "Emails" count)
lastEmailAt?: number; // Projected receivedAt (ms) of the most recent email
}
// Cumulative monitoring counters (persisted as a KV singleton)