fix: narrow PR to verified bug fixes

This commit is contained in:
ajnart committed 2026-08-22 10:52:15 +02:00
1 parent 3f9941f9c7
commit 268c864801
8 files changed
+50 -123

No files matched your search

@@ -1,4 +1,4 @@
import { ParseError, ResponseError } from "@homarr/common/server";
import { ResponseError } from "@homarr/common/server";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error";
import { createCertificateAgentAsync, fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http";
@@ -163,20 +163,7 @@ export class BeszelIntegration extends Integration {
throw new ResponseError(response);
}
let data: BeszelAuthResponse;
try {
data = (await response.json()) as BeszelAuthResponse;
} catch (error) {
logger.warn("Failed to parse Beszel auth response JSON", {
integrationId: this.integration.id,
error: error instanceof Error ? error.message : String(error),
});
throw new ErrorWithMetadata(
"Beszel authentication response was not valid JSON",
{ integrationId: this.integration.id },
{ cause: error instanceof Error ? error : new Error(String(error)) },
);
}
const data = (await response.json()) as BeszelAuthResponse;
const expiresAt = parseTokenExpiration(data.token) ?? undefined;
// A token that has already lapsed by the time it reaches us means our clock and Beszel's
@@ -621,19 +608,7 @@ export class BeszelIntegration extends Integration {
return TestConnectionError.StatusResult({ status: response.status, url: response.url });
}
let data: BeszelAuthResponse;
try {
data = (await response.json()) as BeszelAuthResponse;
} catch (error) {
logger.warn("Failed to parse Beszel testing response JSON", {
error: error instanceof Error ? error.message : String(error),
});
return TestConnectionError.ParseResult(
new ParseError("Beszel testing response was not valid JSON", {
cause: error instanceof Error ? error : new Error(String(error)),
}),
);
}
const data = (await response.json()) as BeszelAuthResponse;
if (!data.token) {
return TestConnectionError.UnauthorizedResult(401);
}
@@ -42,7 +42,10 @@ export class UnraidIntegration extends Integration implements ISystemHealthMonit
// Each entry in cpus[] is one logical CPU (thread). Dividing the summed per-thread
// utilization by the thread count (not physical cores) gives the correct average and
// avoids over-reporting on SMT systems. Guard against zero to avoid Infinity/NaN.
const cpuUtilizationNormalized = cpuCount > 0 ? cpuUtilization / cpuCount : 0;
let cpuUtilizationNormalized = 0;
if (cpuCount > 0) {
cpuUtilizationNormalized = cpuUtilization / cpuCount;
}
const totalMemory = systemInfo.info.memory.layout.reduce((acc, layout) => layout.size + acc, 0);
const usedMemory = totalMemory * (systemInfo.metrics.memory.percentTotal / 100);