From 39f19ab261ab7e7e6011713514523883ee7d2ae9 Mon Sep 17 00:00:00 2001 From: "Winkler, Stefan" Date: Tue, 1 Sep 2026 09:44:28 +0200 Subject: [PATCH] =?UTF-8?q?Sichtbare=20R=C3=BCckmeldung=20f=C3=BCr=20autom?= =?UTF-8?q?atische=20Kalibrierung=20ergaenzen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der erste automatische Kalibrierungsschritt einer Sitzung lief bisher lautlos ab. Jetzt erscheint dafür einmalig pro Woche/Block ein Eintrag im Ereignisprotokoll. Claude-Session: https://claude.ai/code/session_01VeqoaAZDVSCU4QBtiYDC5C --- README.md | 4 ++++ src/main/collector.js | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/README.md b/README.md index eaaa954..d93f6e9 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,10 @@ Fenster bekannt — daraus folgt die Bezugsgröße unmittelbar. Auch das Wochenfenster wird aus dem gemeldeten Reset-Zeitpunkt abgeleitet, nicht geraten. +Der erste automatische Kalibrierungsschritt einer Sitzung erscheint als +Eintrag im Ereignisprotokoll ("Automatisch kalibriert …") — spätere +Aktualisierungen laufen bewusst lautlos im Hintergrund weiter. + Die folgenden Abschnitte betreffen nur den Fall, dass die Abfrage **nicht** verfügbar ist. diff --git a/src/main/collector.js b/src/main/collector.js index 6f52da4..3f46795 100644 --- a/src/main/collector.js +++ b/src/main/collector.js @@ -82,6 +82,10 @@ class Collector extends EventEmitter { // wie die Notification (store.data.updateCheck.notifiedTag), das Symbol // soll sichtbar bleiben, bis aktualisiert wird. this._updateAvailable = null; + // Merkt sich pro Woche/Block, ob in dieser Sitzung bereits eine + // Kalibrierung aus einer Serverantwort übernommen wurde — für eine + // einmalige Rückmeldung im Ereignisprotokoll, siehe _rememberServerLimit(). + this._calibratedOnce = { week: false, block: false }; if (configError) this._note(configError, 'local'); if (versionEvent) { const msg = @@ -283,6 +287,12 @@ class Collector extends EventEmitter { if (!previous || Math.abs(next - previous) / previous > 0.005) { store.serverLimits[kind] = Math.round(next); this.store.save(); + + if (!this._calibratedOnce[kind]) { + this._calibratedOnce[kind] = true; + const label = kind === 'week' ? 'Woche' : 'Zeitfenster'; + this._note(`Automatisch kalibriert (${label}) aus Serverantwort`, 'oauth'); + } } }