Status-Seite wird ein Dashboard
Statt sieben flacher Kacheln jetzt: Kopfzeile mit Bot-Identitaet und Laufzeit, vier Kennzahlen mit Nebenzeile, Aktivitaetsverlauf und Modul-Zustand pro Bereich. Die Bereichs-Zeilen sind klickbar und springen in den Modul-Ueberblick. Fast alles war schon da und musste nur zusammengestellt werden. Neu am Server sind zwei Zeitstempel in archiveStats(): lastDevlog und lastCommit. Reine Zaehler sagen nicht, ob noch etwas passiert — "142 Devlogs, zuletzt vor zwei Tagen" schon. Der Mitglieder-Zuwachs kommt aus joins/leaves der Tagesdaten, der Verlauf fuellt fehlende Tage mit 0 statt sie wegzulassen, sonst staucht er sich. Beim Bauen gefunden: die Spalte in commits heisst committed_at, nicht ts. Da better-sqlite3 beim Vorbereiten sofort auswertet, waere der Bot beim Start abgestuerzt. Beide neuen Abfragen gegen das echte Schema geprueft. Dazu ein Dev-Server-Eintrag in launch.json: der Build ist minifiziert, im Fehlerfall steht dort nur "at bp". Mit dem Dev-Server kommt der Komponenten- und Zeilenverweis — genau das hat den Weg zur Ursache abgekuerzt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1127,11 +1127,17 @@ export function weeklyStats() {
|
||||
return { perDay, topRepos, devlogs };
|
||||
}
|
||||
|
||||
const lastDevlogStmt = db.prepare('SELECT max(posted_at) AS ts FROM devlogs');
|
||||
const lastCommitStmt = db.prepare('SELECT max(committed_at) AS ts FROM commits');
|
||||
|
||||
/** Statistiken fürs Status-Panel der Settings-Seite */
|
||||
export function archiveStats() {
|
||||
return {
|
||||
devlogs: countDevlogsStmt.get().n,
|
||||
commits: countCommitsStmt.get().n,
|
||||
dbSizeBytes: statSync(dbFile).size,
|
||||
// Reine Zahlen sagen nicht, ob noch etwas passiert — das Datum schon
|
||||
lastDevlog: lastDevlogStmt.get().ts ?? null,
|
||||
lastCommit: lastCommitStmt.get().ts ?? null,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user