mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-21 16:26:43 +00:00
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:
parent
2f974078e0
commit
0b38143765
@ -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,
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user