fix(control-ui): measure and decouple slow refreshes

Add Control UI timing attribution for tab visibility, refresh phases, secondary refresh groups, and gateway RPCs. Decouple slow Overview, Cron, and Nodes secondary refreshes from primary tab feedback, and report Cron runs timing from the controller's real ok/error/skipped load outcome.

Also keeps telemetry secret-safe by excluding request params and response bodies, adds focused regression coverage for RPC attribution and stale/failed background refreshes, and carries the latest-main Discord test fixture correction needed for check:test-types.

Fixes #64004.
This commit is contained in:
Val Alexander
2026-05-02 04:33:36 -05:00
committed by GitHub
parent 0a6584a231
commit 64fcc8a1aa
12 changed files with 686 additions and 90 deletions

View File

@@ -183,7 +183,6 @@ describe("persistPluginInstall", () => {
expect(loadPluginManifestRegistry).toHaveBeenCalledWith(
expect.objectContaining({
config: enabledConfig,
installRecords: {},
}),
);
expect(next.plugins?.entries?.["legacy-memory-a"]?.enabled).toBe(true);
@@ -254,7 +253,6 @@ describe("persistPluginInstall", () => {
expect(loadPluginManifestRegistry).toHaveBeenCalledWith(
expect.objectContaining({
config: enabledConfig,
installRecords: {},
}),
);
expect(next.plugins?.entries?.["legacy-memory-a"]?.enabled).toBe(true);
@@ -311,7 +309,6 @@ describe("persistPluginInstall", () => {
expect(loadPluginManifestRegistry).toHaveBeenCalledWith(
expect.objectContaining({
config: enabledConfig,
installRecords: {},
}),
);
expect(next).toEqual(enabledConfig);