Windows improvements - #454
Conversation
|
@scgopi this is more fyi than a PR - main improvements on Windows. I can try to isolate specific improvements if you want to take these piecemeal:
Aside I'm experimenting with generating a clean Tauri/React front end to make the UI much more responsive and easier to troubleshoot. cc @coneilen fyi |
Thanks for this I'll have my agents take a look. My agents are still beavering away at the windows port so quirks are expected atm, hoping they complete this week but theres still around 27 issues in its queue |
Fix daemon-facing shell diagnostics and template fallback, eliminate paint and menu flicker, and make the native UI consistently DPI-aware. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Add native Windows graph bundle, predicate, provider, and zmx launch support. Replace idle named-pipe polling with blocking reads and back off presence refreshes when no loops are running. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Keep UIA output in physical client pixels with explicit logical/physical bounds. Reuse terminal chrome geometry without scaling it again, and normalize native gesture points and client bounds before routing and anchored zoom. Exercise the production sync and mapping paths at 96, 144, and 192 DPI. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Apply the pinned Swift 6.3.3 formatter to the two existing non-Windows conditional branches flagged by strict Linux lint. This changes only leading whitespace on seventeen lines, with no semantic changes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
f4f476a to
0f12fa2
Compare
Integrate the node editor snapshot/menu corrections from scgopi#452 and the merged zmx Windows startup pin from scgopi#455 while preserving the Windows DPI boundaries, buffered rendering, menu refresh, and Swift changes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
This pull request introduces comprehensive Windows support across several core components, ensuring that process management, shell command execution, and session launching work correctly on Windows as well as Unix-like platforms. The changes include conditional logic for platform-specific behavior, improvements to presence polling, and refactoring for consistent working directory resolution. Below are the most important changes grouped by theme:
Windows Platform Support:
GraphExportBundle+ZIP.swift, usingtar.exefor Windows andditto/unzipfor other platforms. [1] [2] [3]ProviderPathto probe executable paths usingwhere.exeon Windows and adjusted the logic for checking executable presence accordingly. [1] [2] [3]ShellPredicateEvaluatorto use PowerShell for predicate evaluation on Windows, while retaining zsh for other platforms.zmx.exeon Windows inZmxLocator.ZmxSessionLauncherto handle environment variable setup and session launching appropriately for Windows, including direct process launches and command-line argument handling. [1] [2] [3] [4] [5] [6]Process and Thread Handling:
DispatchQueuetoThread.detachNewThreadinWindowsNamedPipeTransport.swiftfor improved thread management on Windows.Working Directory Logic:
GraphStore, ensuring correct context for both local and imported loops. [1] [2] [3] [4] [5]Presence Polling Improvements:
ProjectRegistryto use a shorter interval (15s) when loops are running and a longer interval (60s) when idle, reducing unnecessary polling. [1] [2]Testing Enhancements:
WindowsShell.Tests.ps1to improve test coverage for Windows shell integration.DPI correction evidence
This evidence covers correction c6753db, not the original commits' DCO or live touch/multi-monitor validation.
RED: Run pinned Zig App tests with --test-filter 'DPI ' against the original conversion behavior and final regression fixtures -> 5 passed, 4 expected failures: canvas underscaling, terminal double-scaling, sidebar gesture classification, and pinch anchoring.
GREEN: Run the same focused tests with c6753db and WindowsShell.Tests.ps1 -> 9/9 focused tests and all 43 source-file suites pass; 1,304 executions include repeated dependency tests.
REGRESSION: Independently restore each original conversion defect and run the unchanged fixtures -> 1, 1, and 2 expected failures; restore corrections -> App 298/298 and the pinned ReleaseSafe build pass.