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
|
Wochenfenster wird aus dem gemeldeten Reset-Zeitpunkt abgeleitet, nicht
|
||||||
geraten.
|
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**
|
Die folgenden Abschnitte betreffen nur den Fall, dass die Abfrage **nicht**
|
||||||
verfügbar ist.
|
verfügbar ist.
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "claude-live-dashboard",
|
"name": "claude-live-dashboard",
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "claude-live-dashboard",
|
"name": "claude-live-dashboard",
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron": "^43.2.0",
|
"electron": "^43.2.0",
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "claude-live-dashboard",
|
"name": "claude-live-dashboard",
|
||||||
"productName": "Claude Live Dashboard",
|
"productName": "Claude Live Dashboard",
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Always-on-Top Mini-Dashboard für Claude-Plan-Auslastung unter Windows und Linux",
|
"description": "Always-on-Top Mini-Dashboard für Claude-Plan-Auslastung unter Windows und Linux",
|
||||||
"main": "src/main/index.js",
|
"main": "src/main/index.js",
|
||||||
|
|||||||
+17
-3
@@ -82,6 +82,10 @@ class Collector extends EventEmitter {
|
|||||||
// wie die Notification (store.data.updateCheck.notifiedTag), das Symbol
|
// wie die Notification (store.data.updateCheck.notifiedTag), das Symbol
|
||||||
// soll sichtbar bleiben, bis aktualisiert wird.
|
// soll sichtbar bleiben, bis aktualisiert wird.
|
||||||
this._updateAvailable = null;
|
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 (configError) this._note(configError, 'local');
|
||||||
if (versionEvent) {
|
if (versionEvent) {
|
||||||
const msg =
|
const msg =
|
||||||
@@ -283,6 +287,12 @@ class Collector extends EventEmitter {
|
|||||||
if (!previous || Math.abs(next - previous) / previous > 0.005) {
|
if (!previous || Math.abs(next - previous) / previous > 0.005) {
|
||||||
store.serverLimits[kind] = Math.round(next);
|
store.serverLimits[kind] = Math.round(next);
|
||||||
this.store.save();
|
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 block = this.limits.evaluate('block', snapshot.block.weighted, server?.blockLimit);
|
||||||
const week = this.limits.evaluate('week', snapshot.week.weighted, server?.weekLimit);
|
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) {
|
if (server?.blockPercent != null) {
|
||||||
block.percent = server.blockPercent <= 1 ? server.blockPercent * 100 : server.blockPercent;
|
block.percent = server.blockPercent;
|
||||||
block.confidence = 'exact';
|
block.confidence = 'exact';
|
||||||
}
|
}
|
||||||
if (server?.weekPercent != null) {
|
if (server?.weekPercent != null) {
|
||||||
week.percent = server.weekPercent <= 1 ? server.weekPercent * 100 : server.weekPercent;
|
week.percent = server.weekPercent;
|
||||||
week.confidence = 'exact';
|
week.confidence = 'exact';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user