4.1 KiB
4.1 KiB
Windows Client Service-Control UI System Evidence
Acceptance Evidence
- Desktop Summary screenshot:
docs/goals/windows-client-service-control-ui-system/evidence/01-summary-desktop.png- Shows shared tabs, shared refresh button, and friendly preview error:
Desktop-команды недоступны.
- Shows shared tabs, shared refresh button, and friendly preview error:
- Desktop ProxiFyre screenshot:
docs/goals/windows-client-service-control-ui-system/evidence/02-proxifyre-desktop.png- Shows ProxiFyre rendered through the shared service-control row pattern.
- Shows apply blocker:
ProxiFyre не установлен. - Shows
Обновить конфигdisabled instead of green/ready.
- Desktop VPN / Proxy screenshot:
docs/goals/windows-client-service-control-ui-system/evidence/03-proxy-desktop.png- Shows route mode buttons through shared button variants.
- Shows apply blocker before route apply.
- Narrow ProxiFyre screenshot:
docs/goals/windows-client-service-control-ui-system/evidence/04-proxifyre-narrow.png- Shows service row and setup checklist reflow at 420px.
- Shows compact log dock title instead of long raw runtime error text.
Captured DOM state from Browser preview:
{
"proxState": {
"disabledApply": true,
"blockerText": true,
"friendlyError": true,
"rawInvokeCurrent": false
},
"routeState": {
"externalButtonClass": "ui-button ui-button--primary ui-button--md",
"externalAriaPressed": "true"
},
"narrowState": {
"width": 420,
"hasHorizontalOverflow": false,
"setupStripOverflow": false
}
}
Native/elevated install/start/stop/uninstall service actions were not executed in this evidence pass. They are implemented through the existing handlers and shared callbacks, but real elevated service execution remains implemented but unproven.
Verification
Build was run with bundled Node because system npm is not in PATH in this Codex shell.
& 'C:\Users\PC\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe' '.\node_modules\typescript\bin\tsc'
& 'C:\Users\PC\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe' '.\node_modules\vite\bin\vite.js' build
Relevant output:
vite v7.3.6 building client environment for production...
✓ 1800 modules transformed.
✓ built in 1.14s
Cutover check:
rg -n 'transition:\s*all|className=.*(apply-button|service-button|ghost-button|add-tile|open-config-button)' apps\windows-client\src
Relevant output:
no legacy className or transition: all matches
Notes:
pnpm run buildwas attempted through the bundled runtime, but it began reinstallingnode_modulesbecause dependencies were originally installed by another package manager. The process was stopped; no package or lockfile changes were recorded by git.- Browser preview was served from
http://127.0.0.1:5174/.
Review Notes
- Visual self-review found that active route mode lost its active styling after switching to shared
Button; CSS was corrected with.route-switch .ui-button--primary. - Visual self-review found setup chips still horizontally scrolled at 420px; narrow CSS was corrected to wrap
.setup-strip-items. - Residual product issue from the earlier audit remains: Summary still has
Состояние загружаетсяbesideСовпадает. That state language was outside the implemented high-value slice and should be handled in a follow-up Summary view-model cleanup. - POST plan review: aligned. Implementation stayed inside the approved ownership and contract boundaries: shared UI components are presentational,
App.tsxstill owns orchestration, and Tauri wrappers remain the command boundary. - Correctness review: no blocker found. Real elevated service actions were not executed, so that lane remains
implemented but unproven. - Maintainability review: no blocker found. Old dominant
classNamepaths for apply/service/ghost/add/open buttons were displaced fromApp.tsx; stale legacy CSS selectors remain inapp.cssas non-dominant compatibility residue and should be removed in a follow-up CSS pruning pass if desired.