From 6fabe63abb7e89db7eba565e4cb965dcc9c8479f Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 21 Oct 2026 16:39:22 +0800 Subject: [PATCH] fix(agy): show Antigravity session-log rows as "Session log" The frontend map of session placeholder names missed "Antigravity (Session)", so the provider column showed the raw English name and truncated it. Add the entry and a test that every placeholder name in usage_stats.rs is translated. --- src/components/usage/providerLabel.ts | 1 + tests/components/usageProviderLabel.test.ts | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/components/usage/providerLabel.ts b/src/components/usage/providerLabel.ts index 894bf2357..f5c8ab36a 100644 --- a/src/components/usage/providerLabel.ts +++ b/src/components/usage/providerLabel.ts @@ -15,6 +15,7 @@ const SESSION_PROVIDER_APPS: Record = { "Grok Build (Session)": "grokbuild", "MiniMax Code (Session)": "mcode", "Pi (Session)": "pi", + "Antigravity (Session)": "agy", }; export interface UsageProviderLabel { diff --git a/tests/components/usageProviderLabel.test.ts b/tests/components/usageProviderLabel.test.ts index 2d0b02cb8..cb40e5404 100644 --- a/tests/components/usageProviderLabel.test.ts +++ b/tests/components/usageProviderLabel.test.ts @@ -1,3 +1,5 @@ +import { readFileSync } from "node:fs"; +import { resolve } from "node:path"; import { describe, expect, it } from "vitest"; import type { TFunction } from "i18next"; import { @@ -20,6 +22,23 @@ describe("getUsageProviderLabel", () => { ); }); + it("translates every placeholder name the backend can return", () => { + // 后端 provider_name_coalesce 里的占位名,新增应用时漏了前端对照表就会原样显示英文全名 + const rust = readFileSync( + resolve(__dirname, "../../src-tauri/src/services/usage_stats.rs"), + "utf8", + ); + const names = [...rust.matchAll(/THEN '([^']+ \(Session\))'/g)].map( + (m) => m[1], + ); + expect(names).toContain("Antigravity (Session)"); + for (const name of names) { + expect(getUsageProviderLabel(name, t).shortLabel).toBe( + "usage.sessionProvider.short", + ); + } + }); + it("keeps real provider names as-is", () => { expect(getUsageProviderLabel("DeepSeek", t)).toEqual({ label: "DeepSeek",