Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
011e5b6816 | ||
|
|
a01f4266ea | ||
|
|
39f19ab261 |
@@ -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.
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "claude-live-dashboard",
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "claude-live-dashboard",
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.1",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"electron": "^43.2.0",
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "claude-live-dashboard",
|
||||
"productName": "Claude Live Dashboard",
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.1",
|
||||
"private": true,
|
||||
"description": "Always-on-Top Mini-Dashboard für Claude-Plan-Auslastung unter Windows und Linux",
|
||||
"main": "src/main/index.js",
|
||||
|
||||
+17
-3
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -320,13 +330,17 @@ class Collector extends EventEmitter {
|
||||
const block = this.limits.evaluate('block', snapshot.block.weighted, server?.blockLimit);
|
||||
const week = this.limits.evaluate('week', snapshot.week.weighted, server?.weekLimit);
|
||||
|
||||
// Ein exakter Prozentwert vom Server sticht die lokale Rechnung.
|
||||
// Ein exakter Prozentwert vom Server sticht die lokale Rechnung. Der
|
||||
// Endpunkt liefert bereits einen echten Prozentwert (0–100), nicht einen
|
||||
// Bruch — eine frühere "<=1 → *100"-Heuristik verfälschte z. B. 1 % zu
|
||||
// 100 %, siehe _rememberServerLimit() unten, die weekPercent schon immer
|
||||
// konsistent als 0–100-Wert behandelt.
|
||||
if (server?.blockPercent != null) {
|
||||
block.percent = server.blockPercent <= 1 ? server.blockPercent * 100 : server.blockPercent;
|
||||
block.percent = server.blockPercent;
|
||||
block.confidence = 'exact';
|
||||
}
|
||||
if (server?.weekPercent != null) {
|
||||
week.percent = server.weekPercent <= 1 ? server.weekPercent * 100 : server.weekPercent;
|
||||
week.percent = server.weekPercent;
|
||||
week.confidence = 'exact';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user