feat(windows): complete V0 dashboard parity - #44
Conversation
|
感谢这次 Windows V0 的完整补齐。整体方向符合现有 Windows RFC/roadmap,本地优先和隐私边界也保持得不错;CI、Web 合同测试和新增推理测试覆盖都比较扎实。 当前建议:Request changes。合并前需要处理以下问题:
我本地验证了 |
|
感谢这次 Windows V0 的完整补齐。整体方向符合现有 Windows RFC/roadmap,本地优先和隐私边界也保持得不错;CI、Web 合同测试和新增推理测试覆盖都比较扎实。\n\n当前建议:Request changes。合并前需要处理以下问题:\n\n1. [P1] 后台采集窗口使用了错误的 Win32 Z-order 常量。 \n 把 声明为 ,但 Win32 中 , 是 。后者不能保证窗口位于普通窗口底部,启动采集时仍可能覆盖用户当前前台窗口,违反现有 non-activating/background 契约。请改用正确常量,并补启动阶段的 Z-order 回归验证。 \n codexU/windows/apps/codexu-tauri/src-tauri/src/main.rs Lines 85 to 110 in efa6ff5 mkdir -p "build/codexU.app/Contents/MacOS" "build/codexU.app/Contents/Resources" cp Resources/Info.plist "build/codexU.app/Contents/Info.plist" cp "Resources/codexU.icns" "build/codexU.app/Contents/Resources/" cp Resources/*.png "build/codexU.app/Contents/Resources/" cp -R Resources/LeadershipBadges "build/codexU.app/Contents/Resources/LeadershipBadges" cp -R Resources/Palettes "build/codexU.app/Contents/Resources/Palettes" cp -R Resources/CodexCompanion "build/codexU.app/Contents/Resources/CodexCompanion" /usr/bin/xattr -dr com.apple.quarantine "build/codexU.app" 2>/dev/null || true MACOSX_DEPLOYMENT_TARGET="13.0" swiftc -O -parse-as-library -target arm64-apple-macos13.0 -D CODEXU_HAS_LIQUID_GLASS Sources/CodexUsageWidget/DesignSystem/PaletteCatalog.swift Sources/CodexUsageWidget/DesignSystem/PaletteEnvironment.swift Sources/CodexUsageWidget/DesignSystem/PaletteModels.swift Sources/CodexUsageWidget/DesignSystem/PaletteResolver.swift Sources/CodexUsageWidget/DesignSystem/PaletteValidation.swift Sources/CodexUsageWidget/Domain/AgentRuntime.swift Sources/CodexUsageWidget/Domain/AppUpdate.swift Sources/CodexUsageWidget/Domain/CodexRateLimitNormalizer.swift Sources/CodexUsageWidget/Domain/CodexRateLimitNormalizerSelfTest.swift Sources/CodexUsageWidget/Domain/CodexSessionLinkSelfTest.swift Sources/CodexUsageWidget/Domain/CodexTokenCounterNormalizer.swift Sources/CodexUsageWidget/Domain/CodexUIssue.swift Sources/CodexUsageWidget/Domain/CodexUIssueSelfTest.swift Sources/CodexUsageWidget/Domain/GlobalShortcut.swift Sources/CodexUsageWidget/Domain/GlobalShortcutSelfTest.swift Sources/CodexUsageWidget/Domain/IssueRouting.swift Sources/CodexUsageWidget/Domain/LeadershipModel.swift Sources/CodexUsageWidget/Domain/LeadershipModelSelfTest.swift Sources/CodexUsageWidget/Domain/ModelInferencePerformance.swift Sources/CodexUsageWidget/Domain/ModelUsageTrend.swift Sources/CodexUsageWidget/Domain/PaletteCatalogSelfTest.swift Sources/CodexUsageWidget/Domain/PalettePreviewRenderer.swift Sources/CodexUsageWidget/Domain/PerformanceMonitorSelfTest.swift Sources/CodexUsageWidget/Domain/PhaseOneGate.swift Sources/CodexUsageWidget/Domain/StatisticsTimeZone.swift Sources/CodexUsageWidget/Domain/StatusItemPreferences.swift Sources/CodexUsageWidget/Domain/StatusItemPresentationSelfTest.swift Sources/CodexUsageWidget/Domain/TaskRuntime.swift Sources/CodexUsageWidget/Domain/TaskRuntimeSelfTest.swift Sources/CodexUsageWidget/Domain/TokenFormatter.swift Sources/CodexUsageWidget/Providers/ClaudeCode/ClaudeCodeRuntimeProvider.swift Sources/CodexUsageWidget/Providers/ClaudeCode/ClaudeSkillPathResolver.swift Sources/CodexUsageWidget/Providers/RuntimeProvider.swift Sources/CodexUsageWidget/Services/AgentUsageAggregator.swift Sources/CodexUsageWidget/Services/AppUpdateStore.swift Sources/CodexUsageWidget/Services/CodexAppServerTaskClient.swift Sources/CodexUsageWidget/Services/CodexCompanionBridge.swift Sources/CodexUsageWidget/Services/CodexIssueAppServerClient.swift Sources/CodexUsageWidget/Services/CodexIssueAppServerClientSelfTest.swift Sources/CodexUsageWidget/Services/CodexSessionOpener.swift Sources/CodexUsageWidget/Services/GitHubReleaseUpdateChecker.swift Sources/CodexUsageWidget/Services/IssueBoardSelfTest.swift Sources/CodexUsageWidget/Services/IssueCandidateProvider.swift Sources/CodexUsageWidget/Services/IssueCandidateProviderSelfTest.swift Sources/CodexUsageWidget/Services/IssueCoordinator.swift Sources/CodexUsageWidget/Services/IssueCoordinatorSelfTest.swift Sources/CodexUsageWidget/Services/IssueRouter.swift Sources/CodexUsageWidget/Services/IssueRouterSelfTest.swift Sources/CodexUsageWidget/Services/IssueStore.swift Sources/CodexUsageWidget/Services/IssueStoreSelfTest.swift Sources/CodexUsageWidget/Services/JSONDumpWriter.swift Sources/CodexUsageWidget/Services/LeadershipDataReader.swift Sources/CodexUsageWidget/Services/ModelInferenceHistoryStore.swift Sources/CodexUsageWidget/Services/MultiRuntimeUsageReader.swift Sources/CodexUsageWidget/Services/PerformanceMonitor.swift Sources/CodexUsageWidget/UI/LeadershipViews.swift Sources/CodexUsageWidget/UI/PaletteSettingsView.swift Sources/CodexUsageWidget/UI/PaletteVisuals.swift Sources/CodexUsageWidget/UI/RuntimeViews.swift Sources/CodexUsageWidget/UI/ShortcutRecorderView.swift Sources/CodexUsageWidget/UI/StatusItemPresentation.swift Sources/CodexUsageWidget/UI/StatusItemRenderer.swift Sources/CodexUsageWidget/UI/StatusItemSettingsView.swift Sources/CodexUsageWidget/UI/TodayInferencePerformanceCard.swift Sources/CodexUsageWidget/UI/UpdateViews.swift Sources/CodexUsageWidget/main.swift -o "build/codexU.app/Contents/MacOS/codexU" -framework Cocoa -framework Carbon -framework SwiftUI、、Web build、37 项合同测试,以及新增的 15 项推理测试和 1 项流式内存测试。没有在本机验证 Windows exact-HWND coverage、完整原生采集或安装包构建。 |
Summary
The two follow-ups that originally kept this PR in draft are now included: inference windows follow the local statistics timezone across DST, and rollout ingestion uses bounded streaming, fingerprint caching, and one shared per-refresh index.
Validation
make build— not run: this checkout is on Windows and the command builds the macOS app.make probewhen data-source behavior changes — not run: the macOS probe is unavailable on this host; the Windows dashboard probe below was run instead.npm ciandnpm audit— 0 vulnerabilities.npm run build.npm run test:contracts— 37 passed.npm run test:visual— 4 Playwright tests passed across the eight fixed Web surfaces using the repository fixture; an explicit local-readonly Inference run also passed.cargo +1.97.1-x86_64-pc-windows-msvc fmt --all -- --check.cargo +1.97.1-x86_64-pc-windows-msvc test --workspace— 74 passed, 1 environment-dependent app-server test ignored by design.cargo +1.97.1-x86_64-pc-windows-msvc clippy --workspace --all-targets— passed with existing warnings; strict-D warningsis not clean on the upstream base.Capture-NativeVisuals.ps1 -PreflightOnly— passed without launching the app or writing capture evidence.cargo +1.97.1-x86_64-pc-windows-msvc tauri build --no-bundle— release executable built successfully.codexu-probe --dashboard— local dashboard JSON parsed with the inference branch present; output remained Git-ignored and was not committed.git diff --check upstream/main...HEAD.The live native exact-HWND capture/coverage workflow and Windows installer bundles were not run in this PR preparation pass. Playwright is the default UI acceptance layer; native preflight and source contracts were used for the native boundary.
Privacy Check
The committed screenshot contains aggregate UI only and no task title, project name, thread identifier, or local path. Playwright results, local dashboard output, WorkBlock state, planning state, build output, and other local artifacts remain ignored and are absent from the commit tree.
Palette Package Contribution
Not applicable; this PR does not add or modify
Resources/Palettes/**.