Skip to content

Commit 4d181b6

Browse files
authored
fix(status): hide healthy plugin summary (#100143)
* fix(status): hide healthy plugin summary * fix(status): hide healthy plugin summary
1 parent 194d85e commit 4d181b6

4 files changed

Lines changed: 10 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Docs: https://docs.openclaw.ai
3131

3232
### Fixes
3333

34+
- **Status signal:** omit the redundant `Plugins: OK` row from compact `/status` output while retaining actionable plugin-health warnings and detailed plugin status.
3435
- **Control UI terminal rendering:** adopt the shared `@openclaw/libterminal` browser lifecycle and add Nerd Font fallbacks so icon-enabled shell listings render their glyphs when a compatible local font is installed.
3536
- **Control UI chat history:** hide redundant channel-final delivery mirrors when the preceding app-server assistant reply already shows the same text.
3637
- **Control UI chat spacing:** keep the first message comfortably clear of the topbar with a responsive minimum transcript inset.

src/status/status-plugin-health.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ const emptySnapshot: StatusPluginHealthSnapshot = {
1414
};
1515

1616
describe("plugin health status formatting", () => {
17-
it("shows a tiny OK line when there are no plugin health problems", () => {
18-
expect(formatCompactPluginHealthLine(emptySnapshot)).toBe("🔌 Plugins: OK");
17+
it("omits the compact line when there are no plugin health problems", () => {
18+
expect(formatCompactPluginHealthLine(emptySnapshot)).toBeUndefined();
1919
});
2020

2121
it("summarizes plugin errors and context engine quarantines in the compact line", () => {
@@ -119,7 +119,7 @@ describe("plugin health status formatting", () => {
119119
},
120120
],
121121
}),
122-
).toBe("🔌 Plugins: OK");
122+
).toBeUndefined();
123123
});
124124

125125
it("merges runtime health into installed plugin snapshots for detailed status", () => {

src/status/status-plugin-health.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,9 @@ function formatCount(count: number, noun: string): string {
224224
return `${count} ${noun}${count === 1 ? "" : "s"}`;
225225
}
226226

227-
export function formatCompactPluginHealthLine(snapshot: StatusPluginHealthSnapshot): string {
227+
export function formatCompactPluginHealthLine(snapshot: StatusPluginHealthSnapshot):
228+
| string
229+
| undefined {
228230
const loadErrors = snapshot.plugins.filter((plugin) => plugin.status === "error").length;
229231
const dependencyIssues = snapshot.plugins.filter(hasDependencyIssue).length;
230232
const diagnosticErrors = countProblemDiagnostics(getReportableDiagnostics(snapshot)).errors;
@@ -243,7 +245,7 @@ export function formatCompactPluginHealthLine(snapshot: StatusPluginHealthSnapsh
243245
diagnosticErrors > 0 ? formatCount(diagnosticErrors, "diagnostic error") : null,
244246
].filter((part): part is string => Boolean(part));
245247

246-
return parts.length === 0 ? "🔌 Plugins: OK" : `⚠️ Plugins: ${parts.join(" · ")}`;
248+
return parts.length === 0 ? undefined : `⚠️ Plugins: ${parts.join(" · ")}`;
247249
}
248250

249251
function formatPluginList(ids: readonly string[], limit: number): string {
@@ -323,7 +325,7 @@ export function formatDetailedPluginHealth(snapshot: StatusPluginHealthSnapshot)
323325
byLocale(left.configuredId, right.configuredId) || byLocale(left.source, right.source),
324326
);
325327
const lines = [
326-
formatCompactPluginHealthLine(snapshot),
328+
formatCompactPluginHealthLine(snapshot) ?? "🔌 Plugins: OK",
327329
`Loaded: ${loaded.length}${loaded.length > 0 ? ` (${formatPluginList(loaded, 8)})` : ""}`,
328330
`Disabled: ${disabled}`,
329331
];

src/status/status-text.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ function buildStatusUptimeLine(): string {
274274
return `⏱️ Uptime: gateway ${formatStatusUptimeDuration(gatewayUptimeMs)} · system ${formatStatusUptimeDuration(systemUptimeMs)}`;
275275
}
276276

277-
async function resolveRuntimePluginHealthLine(): Promise<string> {
277+
async function resolveRuntimePluginHealthLine(): Promise<string | undefined> {
278278
try {
279279
const { collectRuntimePluginHealthSnapshot } = await loadStatusPluginHealthRuntime();
280280
return formatCompactPluginHealthLine(collectRuntimePluginHealthSnapshot());

0 commit comments

Comments
 (0)