Fix load older logs at boot 0 in error-log-card (#22657)

* Fix load older logs at boot 0 in error-log-card

* Refactor fetch boot logs in error-log-card

* Refactor download url boot logs in error-log-card
This commit is contained in:
Wendelin 2024-11-04 17:36:25 +01:00 committed by GitHub
parent 2f974078e0
commit 0b38143765
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 44 deletions

View File

@ -193,7 +193,7 @@ export const fetchHassioLogs = async (
) => ) =>
hass.callApiRaw( hass.callApiRaw(
"GET", "GET",
`hassio/${provider.includes("_") ? `addons/${provider}` : provider}/logs/boots/${boot}`, `hassio/${provider.includes("_") ? `addons/${provider}` : provider}/logs${boot !== 0 ? `/boots/${boot}` : ""}`,
undefined, undefined,
range range
? { ? {
@ -203,20 +203,6 @@ export const fetchHassioLogs = async (
); );
export const fetchHassioLogsFollow = async ( export const fetchHassioLogsFollow = async (
hass: HomeAssistant,
provider: string,
signal: AbortSignal,
lines = 100
) =>
hass.callApiRaw(
"GET",
`hassio/${provider.includes("_") ? `addons/${provider}` : provider}/logs/follow?lines=${lines}`,
undefined,
undefined,
signal
);
export const fetchHassioLogsBootFollow = async (
hass: HomeAssistant, hass: HomeAssistant,
provider: string, provider: string,
signal: AbortSignal, signal: AbortSignal,
@ -225,7 +211,7 @@ export const fetchHassioLogsBootFollow = async (
) => ) =>
hass.callApiRaw( hass.callApiRaw(
"GET", "GET",
`hassio/${provider.includes("_") ? `addons/${provider}` : provider}/logs/boots/${boot}/follow?lines=${lines}`, `hassio/${provider.includes("_") ? `addons/${provider}` : provider}/logs${boot !== 0 ? `/boots/${boot}` : ""}/follow?lines=${lines}`,
undefined, undefined,
undefined, undefined,
signal signal
@ -236,19 +222,14 @@ export const getHassioLogDownloadUrl = (provider: string) =>
provider.includes("_") ? `addons/${provider}` : provider provider.includes("_") ? `addons/${provider}` : provider
}/logs`; }/logs`;
export const getHassioLogDownloadLinesUrl = (provider: string, lines: number) => export const getHassioLogDownloadLinesUrl = (
`/api/hassio/${
provider.includes("_") ? `addons/${provider}` : provider
}/logs?lines=${lines}`;
export const getHassioLogBootDownloadLinesUrl = (
provider: string, provider: string,
lines: number, lines: number,
boot = 0 boot = 0
) => ) =>
`/api/hassio/${ `/api/hassio/${
provider.includes("_") ? `addons/${provider}` : provider provider.includes("_") ? `addons/${provider}` : provider
}/logs/boots/${boot}?lines=${lines}`; }/logs${boot !== 0 ? `/boots/${boot}` : ""}?lines=${lines}`;
export const setSupervisorOption = async ( export const setSupervisorOption = async (
hass: HomeAssistant, hass: HomeAssistant,

View File

@ -14,10 +14,7 @@ import type { DownloadLogsDialogParams } from "./show-dialog-download-logs";
import "../../../components/ha-select"; import "../../../components/ha-select";
import "../../../components/ha-list-item"; import "../../../components/ha-list-item";
import { stopPropagation } from "../../../common/dom/stop_propagation"; import { stopPropagation } from "../../../common/dom/stop_propagation";
import { import { getHassioLogDownloadLinesUrl } from "../../../data/hassio/supervisor";
getHassioLogDownloadLinesUrl,
getHassioLogBootDownloadLinesUrl,
} from "../../../data/hassio/supervisor";
import { getSignedPath } from "../../../data/auth"; import { getSignedPath } from "../../../data/auth";
import { fileDownload } from "../../../util/file_download"; import { fileDownload } from "../../../util/file_download";
@ -115,7 +112,7 @@ class DownloadLogsDialog extends LitElement {
const boot = this._dialogParams!.boot; const boot = this._dialogParams!.boot;
const timeString = new Date().toISOString().replace(/:/g, "-"); const timeString = new Date().toISOString().replace(/:/g, "-");
const downloadUrl = this._getDownloadUrlFunction()( const downloadUrl = getHassioLogDownloadLinesUrl(
provider, provider,
this._lineCount, this._lineCount,
boot boot
@ -129,13 +126,6 @@ class DownloadLogsDialog extends LitElement {
this.closeDialog(); this.closeDialog();
} }
private _getDownloadUrlFunction() {
if (this._dialogParams!.boot === 0) {
return getHassioLogDownloadLinesUrl;
}
return getHassioLogBootDownloadLinesUrl;
}
private _setNumberOfLogs(ev) { private _setNumberOfLogs(ev) {
this._lineCount = Number(ev.target.value); this._lineCount = Number(ev.target.value);
} }

View File

@ -39,7 +39,6 @@ import { extractApiErrorMessage } from "../../../data/hassio/common";
import { import {
fetchHassioBoots, fetchHassioBoots,
fetchHassioLogs, fetchHassioLogs,
fetchHassioLogsBootFollow,
fetchHassioLogsFollow, fetchHassioLogsFollow,
getHassioLogDownloadUrl, getHassioLogDownloadUrl,
} from "../../../data/hassio/supervisor"; } from "../../../data/hassio/supervisor";
@ -379,7 +378,7 @@ class ErrorLogCard extends LitElement {
isComponentLoaded(this.hass, "hassio") && isComponentLoaded(this.hass, "hassio") &&
this.provider this.provider
) { ) {
const response = await this._fetchLogsFunction()( const response = await fetchHassioLogsFollow(
this.hass, this.hass,
this.provider, this.provider,
this._logStreamAborter.signal, this._logStreamAborter.signal,
@ -469,13 +468,6 @@ class ErrorLogCard extends LitElement {
} }
} }
private _fetchLogsFunction = () => {
if (this._boot === 0) {
return fetchHassioLogsFollow;
}
return fetchHassioLogsBootFollow;
};
private _debounceSearch = debounce(() => { private _debounceSearch = debounce(() => {
this._noSearchResults = !this._ansiToHtmlElement?.filterLines(this.filter); this._noSearchResults = !this._ansiToHtmlElement?.filterLines(this.filter);