mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-28 05:26:16 +00:00
test(control-ui): cover stale overview usage refresh
This commit is contained in:
committed by
Peter Steinberger
parent
7f4fde3bd7
commit
d52d8d10da
@@ -330,6 +330,23 @@ describe("refreshActiveTab", () => {
|
||||
expect(mocks.loadUsageMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("skips overview usage refresh if the user leaves while primary loaders run", async () => {
|
||||
const host = createHost();
|
||||
host.tab = "overview";
|
||||
const channels = createDeferred();
|
||||
mocks.loadChannelsMock.mockReturnValueOnce(channels.promise);
|
||||
|
||||
const refresh = refreshActiveTab(host as never);
|
||||
await Promise.resolve();
|
||||
host.tab = "sessions";
|
||||
channels.resolve();
|
||||
|
||||
await refresh;
|
||||
|
||||
expect(mocks.loadUsageMock).not.toHaveBeenCalled();
|
||||
expect(mocks.loadSkillsMock).toHaveBeenCalledOnce();
|
||||
});
|
||||
|
||||
it("does not wait for config schema before resolving config tab refresh", async () => {
|
||||
const host = createHost();
|
||||
host.tab = "config";
|
||||
|
||||
@@ -741,9 +741,8 @@ export async function loadOverview(host: SettingsHost, opts?: { refresh?: boolea
|
||||
void Promise.allSettled([
|
||||
loadDebug(app),
|
||||
loadSkills(app),
|
||||
// Only fetch usage data if the overview tab is still active. The user may
|
||||
// have navigated away during the async primary load, in which case firing
|
||||
// usage.cost is wasteful — especially expensive on 5.22 (pre-beta.2).
|
||||
// The primary overview loaders can finish after the user has navigated away.
|
||||
// Avoid starting the expensive usage RPC for stale overview refreshes.
|
||||
isCurrentOverviewRefresh() ? loadUsage(app) : Promise.resolve(),
|
||||
loadOverviewLogs(app),
|
||||
// `refresh: true` bypasses the gateway's 60s auth-status cache so a
|
||||
|
||||
Reference in New Issue
Block a user