Files
harbor-net/docs/goals/windows-client-three-panel-ui/EVIDENCE.md

4.3 KiB
Raw Blame History

Доказательства трехпанельного интерфейса 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.

Проверка

Записать сфокусированные проверки, которые прошли, включая команды и важный вывод.

Ожидаемые команды:

cd apps/windows-client
npm run build

Результат:

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:

cd apps/windows-client/src-tauri
cargo test

Результат:

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:

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.