From aed50dd93f21a1b0652936ef409c006a96c5ddc9 Mon Sep 17 00:00:00 2001 From: RCD <90105158+Finesssee@users.noreply.github.com> Date: Thu, 1 Oct 2026 11:13:20 +0700 Subject: [PATCH] Port upstream 0.64.0: v0 billing dashboard URL --- rust/src/providers/v0.rs | 13 ++++++++++++- rust/src/settings/api_keys.rs | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/rust/src/providers/v0.rs b/rust/src/providers/v0.rs index 35264564ee..e7866fd000 100644 --- a/rust/src/providers/v0.rs +++ b/rust/src/providers/v0.rs @@ -49,7 +49,7 @@ impl V0Provider { supports_credits: true, default_enabled: false, is_primary: false, - dashboard_url: Some("https://v0.app/chat/settings/billing"), + dashboard_url: Some("https://v0.app/settings/billing"), status_page_url: Some("https://www.vercel-status.com/"), tertiary_label_key: None, }, @@ -354,6 +354,17 @@ mod tests { use super::*; use serde_json::json; + #[test] + fn dashboard_url_matches_upstream_billing_page() { + const BILLING: &str = "https://v0.app/settings/billing"; + assert_eq!(V0Provider::new().metadata().dashboard_url, Some(BILLING)); + let configured = crate::settings::get_api_key_providers() + .into_iter() + .find(|info| info.id == ProviderId::V0) + .expect("v0 api key config"); + assert_eq!(configured.dashboard_url, Some(BILLING)); + } + #[test] fn parses_token_billing_and_rate_limit_without_fabricating_windows() { let billing = parse_billing(&json!({ diff --git a/rust/src/settings/api_keys.rs b/rust/src/settings/api_keys.rs index c2adf3565c..b4c74876a9 100644 --- a/rust/src/settings/api_keys.rs +++ b/rust/src/settings/api_keys.rs @@ -372,7 +372,7 @@ pub fn get_api_key_providers() -> Vec { "Add a v0 Platform API key. An optional scope can use the provider workspace field or V0_SCOPE.", ), config_file_path: None, - dashboard_url: Some("https://v0.app/chat/settings/billing"), + dashboard_url: Some("https://v0.app/settings/billing"), }, ProviderConfigInfo { id: ProviderId::Fireworks,