From dbf9c7af8b269299002a1330dbd3beb0f6e6b00a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 04:39:16 +0000 Subject: [PATCH 1/2] Initial plan From f32a538136bb69b10991bafd50931848b48ce712 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 04:50:40 +0000 Subject: [PATCH 2/2] Add VIP key query parameter support to embed pages Co-authored-by: Yashb404 <139128977+Yashb404@users.noreply.github.com> --- client/src/pages/embed.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/client/src/pages/embed.rs b/client/src/pages/embed.rs index f83d2a4..b958ff2 100644 --- a/client/src/pages/embed.rs +++ b/client/src/pages/embed.rs @@ -18,6 +18,7 @@ enum ProjectState { #[component] pub fn EmbedPage() -> impl IntoView { let params = use_params_map(); + let query_params = use_query_map(); let username = move || params.get().get("username").cloned().unwrap_or_default(); let slug = move || params.get().get("slug").cloned().unwrap_or_default(); let (started, set_started) = create_signal(false); @@ -25,10 +26,15 @@ pub fn EmbedPage() -> impl IntoView { // Resource now returns ProjectState let project_data = create_resource( move || (started.get(), username(), slug()), - |(is_started, u, s)| async move { + move |(is_started, u, s)| async move { if !is_started { return ProjectState::Loading; } - let url = format!("{}/api/project/{}/{}", api_base(), u, s); + let key = query_params.get_untracked().get("key").cloned().unwrap_or_default(); + let url = if key.is_empty() { + format!("{}/api/project/{}/{}", api_base(), u, s) + } else { + format!("{}/api/project/{}/{}?key={}", api_base(), u, s, key) + }; let req = Request::get(&url).send().await; match req {