From 43b430501d100ab78873edadff657157b4f0944b Mon Sep 17 00:00:00 2001 From: RCD <90105158+Finesssee@users.noreply.github.com> Date: Fri, 2 Oct 2026 20:39:33 +0700 Subject: [PATCH] Port upstream 0.62.0: compact Overview parity (show all metrics, dedupe details, default detailed) --- apps/desktop-tauri/src/components/MenuCard.test.tsx | 8 +++----- apps/desktop-tauri/src/components/MenuCard.tsx | 6 +++--- apps/desktop-tauri/src/components/MenuCardDetails.tsx | 8 -------- apps/desktop-tauri/src/surfaces/TrayPanel.test.tsx | 4 ++-- rust/src/settings.rs | 2 +- rust/src/settings/tests.rs | 10 +++++----- 6 files changed, 14 insertions(+), 24 deletions(-) diff --git a/apps/desktop-tauri/src/components/MenuCard.test.tsx b/apps/desktop-tauri/src/components/MenuCard.test.tsx index c8ec7955463..91de8505084 100644 --- a/apps/desktop-tauri/src/components/MenuCard.test.tsx +++ b/apps/desktop-tauri/src/components/MenuCard.test.tsx @@ -310,7 +310,7 @@ describe("MenuCard", () => { expect(screen.getByText("58% left")).toBeInTheDocument(); }); - it("limits quota rows and suppresses supplemental content in compact Overview", async () => { + it("shows every quota row in compact Overview (upstream 0.62.0 #2616)", async () => { const snapshot = provider(null, 20, { resetDescription: "Resets in 2h" }); snapshot.secondary = rateWindow(42, { windowMinutes: 7 * 24 * 60 }); snapshot.secondaryLabel = "Weekly"; @@ -321,10 +321,8 @@ describe("MenuCard", () => { expect(await screen.findByText("Session")).toBeInTheDocument(); expect(screen.getByText("ProviderWeeklyLabel")).toBeInTheDocument(); - expect(screen.queryByText("ProviderMonthly")).not.toBeInTheDocument(); - expect(document.querySelectorAll(".menu-metric")).toHaveLength(2); - expect(document.querySelector(".menu-metric__reset")).toBeNull(); - expect(document.querySelector(".menu-card__more")).toBeNull(); + expect(screen.getByText("ProviderMonthly")).toBeInTheDocument(); + expect(document.querySelectorAll(".menu-metric")).toHaveLength(3); }); it("localizes Claude scoped weekly extra-window labels", async () => { diff --git a/apps/desktop-tauri/src/components/MenuCard.tsx b/apps/desktop-tauri/src/components/MenuCard.tsx index 493ff08e987..c7a424f7c87 100644 --- a/apps/desktop-tauri/src/components/MenuCard.tsx +++ b/apps/desktop-tauri/src/components/MenuCard.tsx @@ -238,9 +238,9 @@ export default function MenuCard({ resetFormatMode: extra.id === "reset-credits" ? "expires" : "reset", }); } - const visibleMetrics = metrics - .filter((metric) => isUsageItemVisible(provider.hiddenUsageItemIds, metric.id)) - .slice(0, compactOverview ? 2 : metrics.length); + const visibleMetrics = metrics.filter((metric) => + isUsageItemVisible(provider.hiddenUsageItemIds, metric.id), + ); const presence = describeCard( provider, diff --git a/apps/desktop-tauri/src/components/MenuCardDetails.tsx b/apps/desktop-tauri/src/components/MenuCardDetails.tsx index 31634bd910e..37e3660dd10 100644 --- a/apps/desktop-tauri/src/components/MenuCardDetails.tsx +++ b/apps/desktop-tauri/src/components/MenuCardDetails.tsx @@ -595,14 +595,6 @@ export default function MenuCardDetails({ ))} )} - {!provider.error && hasDisplayDetails && !compactOverview && ( -
- {provider.displayDetails?.map((detail, index) => ( - - ))} -
- )} - {!provider.error && hasDisplayDetails && (
{provider.displayDetails?.map((detail, index) => ( diff --git a/apps/desktop-tauri/src/surfaces/TrayPanel.test.tsx b/apps/desktop-tauri/src/surfaces/TrayPanel.test.tsx index 4655c3b58f8..b9a8705f618 100644 --- a/apps/desktop-tauri/src/surfaces/TrayPanel.test.tsx +++ b/apps/desktop-tauri/src/surfaces/TrayPanel.test.tsx @@ -599,7 +599,7 @@ describe("TrayPanel provider grid", () => { ).toEqual(["Codex", "Claude", "Cursor", "Factory", "Gemini"]); }); - it("keeps compact Overview limited to two quota rows when explicitly selected", async () => { + it("shows all quota rows in compact Overview when explicitly selected (0.62.0 #2616)", async () => { const { container } = renderTrayPanel( [providerWithThreeQuotaWindows("codex", "Codex")], { overviewLayout: "compact" }, @@ -609,7 +609,7 @@ describe("TrayPanel provider grid", () => { expect(container.querySelector(".menu-stack__item")).not.toBeNull(); }); - expect(container.querySelectorAll(".menu-metric")).toHaveLength(2); + expect(container.querySelectorAll(".menu-metric")).toHaveLength(3); }); it("uses independent columns for a wide user-sized overview", async () => { diff --git a/rust/src/settings.rs b/rust/src/settings.rs index 9863f194ceb..6edbf459e9a 100755 --- a/rust/src/settings.rs +++ b/rust/src/settings.rs @@ -600,7 +600,7 @@ impl Default for Settings { } fn default_overview_layout() -> String { - "compact".to_string() + "detailed".to_string() } pub fn normalize_overview_layout(value: &str) -> String { diff --git a/rust/src/settings/tests.rs b/rust/src/settings/tests.rs index a6db4aa05b2..d61bfb71812 100644 --- a/rust/src/settings/tests.rs +++ b/rust/src/settings/tests.rs @@ -21,7 +21,7 @@ fn test_settings_default() { assert!(!settings.predictive_pace_warning_enabled); assert!(!settings.float_bar_show_cost); assert!(!settings.tray_panel_always_on_top); - assert_eq!(settings.overview_layout, "compact"); + assert_eq!(settings.overview_layout, "detailed"); assert!(settings.promote_tray_icon); assert!(settings.claude_daily_routines_usage_visible); assert!(!settings.claude_allow_reading_claude_code_credentials); @@ -32,10 +32,10 @@ fn test_settings_default() { } #[test] -fn overview_layout_defaults_to_compact_and_round_trips() { +fn overview_layout_defaults_to_detailed_and_round_trips() { let defaulted: Settings = serde_json::from_str(r#"{ "enabled_providers": [] }"#) - .expect("missing overview layout defaults to compact"); - assert_eq!(defaulted.overview_layout, "compact"); + .expect("missing overview layout defaults to detailed"); + assert_eq!(defaulted.overview_layout, "detailed"); let compact = Settings { overview_layout: "compact".to_string(), @@ -48,7 +48,7 @@ fn overview_layout_defaults_to_compact_and_round_trips() { let unknown: Settings = serde_json::from_str(r#"{ "enabled_providers": [], "overview_layout": "unsupported" }"#) .expect("unknown overview layout is accepted and normalized"); - assert_eq!(unknown.overview_layout, "compact"); + assert_eq!(unknown.overview_layout, "detailed"); } #[test]