From d29087a875f3fb35fd48e109b346a82c0e826735 Mon Sep 17 00:00:00 2001 From: yuanzonghao Date: Mon, 15 Jun 2026 17:14:58 +0800 Subject: [PATCH 1/3] chore: add piolium/ to .gitignore Co-Authored-By: Claude Opus 4.6 --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index a1a4d77..1162af3 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ pitch/ # OpenDeploy-only build with hardcoded public proxy URL — local, never commit # (a public fork would route image traffic through our Cloudflare Worker). Dockerfile.opendeploy + +piolium/ From 60224ea33bc58ae802fcd7308c88ac7093765ddd Mon Sep 17 00:00:00 2001 From: yuanzonghao Date: Mon, 15 Jun 2026 17:47:01 +0800 Subject: [PATCH 2/3] fix(web): hide login button when logged out to fix header icon alignment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 未登录时 UserChip 的登录按钮使用了深色背景配色(cream-50 色系), 在首页浅色背景上不可见但仍占据约 60px 宽度,导致齿轮/GitHub/X 图标被推离右边缘。改为未登录时不渲染 UserChip,登录入口保留在 开始游戏等需要认证的操作流程中。 Co-Authored-By: Claude Opus 4.6 --- app/page.tsx | 2 +- app/play/page.tsx | 2 +- components/UserChip.tsx | 21 ++------------------- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 256b514..2fe8e1a 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1666,7 +1666,7 @@ export default function HomePage() { > - setAuthModalOpen(true)} /> + diff --git a/app/play/page.tsx b/app/play/page.tsx index 1854890..45acb3e 100644 --- a/app/play/page.tsx +++ b/app/play/page.tsx @@ -2574,7 +2574,7 @@ function PlayInner() { · {String(beatCount).padStart(3, "0")} · 拍 - setAuthModalOpen(true)} /> + diff --git a/components/UserChip.tsx b/components/UserChip.tsx index a06b969..817b844 100644 --- a/components/UserChip.tsx +++ b/components/UserChip.tsx @@ -5,11 +5,7 @@ import { AUTH_ENABLED } from "@/lib/supabase/config"; import { createClient } from "@/lib/supabase/client"; import type { AuthChangeEvent, Session, User } from "@supabase/supabase-js"; -export function UserChip({ - onLoginClick, -}: { - onLoginClick: () => void; -}) { +export function UserChip() { const [user, setUser] = useState(null); const [menuOpen, setMenuOpen] = useState(false); @@ -32,20 +28,7 @@ export function UserChip({ setMenuOpen(false); }, []); - if (!AUTH_ENABLED) return null; - - if (!user) { - return ( - - ); - } + if (!AUTH_ENABLED || !user) return null; const label = user.user_metadata?.full_name ?? From d0faa06cc1dc29f7b017cf7f5b57f62f9ea54cbf Mon Sep 17 00:00:00 2001 From: yuanzonghao Date: Mon, 15 Jun 2026 18:04:31 +0800 Subject: [PATCH 3/3] perf(image): switch Runware output format from PNG to WEBP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WEBP produces ~90% smaller files than PNG at visually identical quality (tested: 5.4MB → ~550KB per 1792×1024 image), significantly reducing client download time for users on slower connections. Co-Authored-By: Claude Opus 4.6 --- lib/ai-client/image.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ai-client/image.ts b/lib/ai-client/image.ts index c2cb1c5..1d4e5e2 100644 --- a/lib/ai-client/image.ts +++ b/lib/ai-client/image.ts @@ -329,7 +329,7 @@ async function generateImageRunware( CFGScale: 3.5, numberResults: 1, outputType: "URL", - outputFormat: "PNG", + outputFormat: "WEBP", includeCost: false, };