diff --git a/apps/web/src/components/layout/app-layout.tsx b/apps/web/src/components/layout/app-layout.tsx index 0439f4bd..69a63fda 100644 --- a/apps/web/src/components/layout/app-layout.tsx +++ b/apps/web/src/components/layout/app-layout.tsx @@ -127,6 +127,7 @@ export function AppLayout({ {/* Main Content */} diff --git a/apps/web/src/components/layout/header.tsx b/apps/web/src/components/layout/header.tsx index 4b1d0018..84dced89 100644 --- a/apps/web/src/components/layout/header.tsx +++ b/apps/web/src/components/layout/header.tsx @@ -177,6 +177,7 @@ export function Header({ switchLocale('zh-TW')} style={{ + display: compact ? 'none' : 'block', padding: '5px 12px', fontFamily: 'var(--font-body), "DM Mono", monospace', fontSize: 11, @@ -194,6 +195,7 @@ export function Header({ switchLocale('en')} style={{ + display: compact ? 'none' : 'block', padding: '5px 12px', fontFamily: 'var(--font-body), "DM Mono", monospace', fontSize: 11, @@ -211,11 +213,11 @@ export function Header({ {/* Avatar — 34px 圓形 #d97757 */} SECURITY_MIRROR_PROGRESS_GUARD_OK + python3 scripts/security/source-control-owner-response-guard.py + -> SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK + python3 -m json.tool apps/web/messages/zh-TW.json / en.json + -> pass + cmp apps/web/messages/zh-TW.json apps/web/messages/en.json + -> pass + python3 -m py_compile scripts/security/security-mirror-progress-guard.py scripts/security/source-control-owner-response-guard.py + -> pass + git diff --check + -> pass + NEXT_PUBLIC_API_URL=https://awoooi.wooo.work pnpm --dir apps/web run build + -> pass + pnpm --dir apps/web run typecheck + -> pass + local production smoke on 127.0.0.1:3017: + zh-TW/en desktop + mobile + visible: 只讀通過 / 待更新套件 1994 / 失敗 systemd unit 1 + desktop nav: IwoooS visible, 安全合規 not visible + mobile: horizontalOverflow=false after mobile shell hydration + Incident ID English residual=false +``` + +**待辦**: + +- 待推版後補上正式部署標記與 production smoke。 + ## 2026-05-31|AwoooP Run 詳情單一 Incident 處理流程 drill-down **背景**: diff --git a/scripts/security/security-mirror-progress-guard.py b/scripts/security/security-mirror-progress-guard.py index 72331d08..f5c6789e 100755 --- a/scripts/security/security-mirror-progress-guard.py +++ b/scripts/security/security-mirror-progress-guard.py @@ -204,18 +204,19 @@ def validate(root: Path) -> None: assert_contains("intake.contracts", intake_contracts, "iwooos_posture_projection_v1") assert_text_contains("sidebar.iwooos_security_unified_entry", sidebar, "id: 'iwooos-security'") - assert_text_contains("sidebar.iwooos_security_label", sidebar, "labelKey: 'iwooosSecurityCompliance'") + assert_text_contains("sidebar.iwooos_security_label", sidebar, "labelKey: 'iwooos'") + assert_text_not_contains("sidebar.iwooos_security_duplicate_label", sidebar, "labelKey: 'iwooosSecurityCompliance'") assert_text_contains("sidebar.security_compliance_alias", sidebar, "aliases: ['/security-compliance']") assert_text_not_contains("sidebar.duplicate_security_compliance_entry", sidebar, "id: 'security-compliance'") assert_equal( - "web_messages.zh-TW.nav.iwooosSecurityCompliance", - web_messages_zh["nav"]["iwooosSecurityCompliance"], - "IwoooS 安全合規", + "web_messages.zh-TW.nav.iwooos", + web_messages_zh["nav"]["iwooos"], + "IwoooS", ) assert_equal( - "web_messages.en.nav.iwooosSecurityCompliance", - web_messages_en["nav"]["iwooosSecurityCompliance"], - "IwoooS 安全合規", + "web_messages.en.nav.iwooos", + web_messages_en["nav"]["iwooos"], + "IwoooS", ) assert_equal("web_messages.en.nav.traditional_chinese_mirror", web_messages_en["nav"], web_messages_zh["nav"]) assert_equal("web_messages.en.iwooos.traditional_chinese_mirror", web_messages_en["iwooos"], web_messages_zh["iwooos"])