# Доказательства трехпанельного интерфейса Windows Client ## Приемочные доказательства Записать реальный артефакт, который доказывает результат с точки зрения пользователя. Обязательные доказательства: - `summary-panel.png`: read-only `Сводка` показывает статус системы, ProxiFyre, подключение, маршрут, активный сервер, количество приложений, config path state, dirty state и последнее событие. - Browser state для `Сводка`: `summaryInputs = 0`, `summaryForbiddenButtons = []`, активная вкладка `panel-summary`. - `proxifyre-panel.png`: панель `ProxiFyre` показывает статус компонента, setup action, service install action, список приложений, add controls, dirty/apply command row. - `vpn-proxy-external-panel.png`: панель `VPN / Прокси` в режиме внешнего прокси показывает route switch, SOCKS5 input, TCP check state, route preview и apply/open actions. - `vpn-proxy-local-panel.png`: панель `VPN / Прокси` в режиме локального прокси показывает Local sing-box empty/install state, route preview и dirty/apply state. - `narrow-proxifyre-panel.png`: узкий viewport показывает tab bar, ProxiFyre card, app list controls и command area без overlap с log dock. - Browser overlap state после фикса: desktop `commandBottom = 705.1875`, `logTop = 815.1875`, `overlaps = false`; narrow `appListBottom = 701.1875`, `logTop = 1072.1875`, `overlaps = false`. - Root `src/web` и `src/server` не менялись. Сервисные действия install/start/stop/uninstall проверены на уровне существующих handlers и сборки UI. Реальный elevated Windows service lane для ProxiFyre/Local sing-box в этой сессии не запускался: `implemented but unproven`. ## Проверка Записать сфокусированные проверки, которые прошли, включая команды и важный вывод. Ожидаемые команды: ```powershell cd apps/windows-client npm run build ``` Результат: ```text tsc && vite build 1789 modules transformed dist/index.html dist/assets/index-Oqrmqzau.css dist/assets/index-CJqhju7q.js built in 1.31s ``` Если менялись Rust/Tauri commands: ```powershell cd apps/windows-client/src-tauri cargo test ``` Результат: ```text command_tests: 10 passed, including ping_proxy_target_reports_open_tcp_endpoint component_detection_tests: 7 passed domain_tests: 5 passed helper_tests: 6 passed proxifyre_adapter_tests: 6 passed singbox_adapter_tests: 6 passed singbox_command_tests: 8 passed singbox_service_tests: 7 passed storage_tests: 8 passed subscription_tests: 7 passed doc-tests: 0 passed overall: passed, warnings only for existing dead-code/test module duplication ``` Browser preview: ```text Opened http://127.0.0.1:5174/ Tabs detected: Сводка, ProxiFyre, VPN / Прокси Summary activePanel: panel-summary ProxiFyre activePanel: panel-proxifyre VPN/Proxy activePanel: panel-proxy External route aria-pressed=true in external mode Local route aria-pressed=true in local mode ``` ## Заметки review Записать PRE review, reviewer, maintainer или verifier findings, если они изменили результат. - PRE review: aligned. No blockers. Main risk was weak UI evidence; resolved by browser screenshots and DOM state checks. - POST plan review: aligned. The displaced monolithic screen path is removed from the active render path and replaced by three panels. - Correctness review: summary has no mutating controls; ProxiFyre actions remain in ProxiFyre panel; route/proxy actions remain in VPN/Proxy panel; new `ping_proxy_target` is read-only and tested with a local TCP listener. - Maintainability review: backend source of truth unchanged; no direct generated config writes from React; no root `src/web` or `src/server` edits. - Residual risk: real elevated service actions were not manually executed in native Tauri/elevated Windows mode during this UI pass.