Repository navigation
Conversation
Signed-off-by: tiammomo <26957354+tiammomo@users.noreply.github.com>
✅ Deploy Preview for cowiki-test ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
d4fd021 to
0c0f037
Compare
| pub fn metadata_dir() -> Result<PathBuf, String> { | ||
| home_dir() | ||
| .map(|home| home.join("cowiki").join(".cowiki")) | ||
| .ok_or_else(|| { |
There was a problem hiding this comment.
[P2] This also changes non-Windows startup behavior: the current desktop falls back to Tauri app-data when HOME is unavailable, while this helper now makes the whole app fail to launch. Since the PR is scoped to Windows support, please preserve a platform-native fallback for macOS/Linux (and use the same resolved directory for MCP), or call out and test this intentional compatibility break.
|
Review summary: the separation of native argv handling, npm-shim validation, byte-preserving snapshots, and the Windows release checklist is thoughtful. I ran the literal-argument unit test locally and it passes. I left one inline compatibility concern about removing the existing non-Windows app-data fallback. Separately, the only visible status is Netlify: it does not compile any |
…dows-desktop Signed-off-by: tiammomo <26957354+tiammomo@users.noreply.github.com>
Address review comments 3994914623 on PR wfnuser#154. Refs wfnuser#153. Signed-off-by: tiammomo <26957354+tiammomo@users.noreply.github.com>
Signed-off-by: tiammomo <26957354+tiammomo@users.noreply.github.com>
|
1 — Windows path separator breaks design-system tests
3 — macOS-specific copy is shown on Windows
|
Refs #153. Keep the issue open until native Windows validation and CI/release integration are complete.
Windows users previously had no installer, and Agent startup mixed cmd.exe with PowerShell/POSIX arguments. Desktop and MCP could also select different metadata directories when HOME was absent.
This adds the application and installer support for Windows 10 1809+/11 x64: a per-user English/Chinese NSIS installer with WebView2 bootstrapping; shared USERPROFILE-based metadata discovery; native executable and standard npm shim discovery; literal Agent arguments through ConPTY and readiness probes; and native browser opening that preserves login URL query parameters. ESLint excludes Rust build output so generated Tauri assets do not break repeat lint runs.
Windows runtime checks also exposed backslash Source links, Node verbatim-path incompatibility, and Git core.autocrlf changing migration rollback/background snapshot bytes. These are fixed without changing users' Git configuration or staging index. Regression coverage includes Chinese/spaced paths, LF/CRLF preservation, migration rollback, and managed background changes.
The September 12 metadata fallback review is addressed: macOS/Linux with unavailable HOME retain the previous Tauri application-data path, including the application identifier and
cowiki/.cowikisuffix. Desktop and MCP share that resolver without creating a GUI. Tests cover home precedence, legacy layout, unavailable/relative directory rejection, and a separate HOME-less Linux process that registers a Space and reopens it through MCP defaults.Validation in isolated verifier containers: frontend tests/lint/production build, Rust formatting, 119 Linux Rust tests, Linux Clippy, Windows MSVC all-target cross-check/Clippy, 110 Windows Rust tests under Wine, and an x64 NSIS cross-build from locked dependencies. The direct
dirsdependency reuses the already locked version without upgrading dependencies. A local-only integration of this head, #151 at e011665, #152 at b54e7a1 and maintainer #146 at 22fd28f also passed frontend checks, 140 Linux Rust tests, two real Poppler/Tesseract tests, Linux and Windows Clippy, Windows all-target checks and 129 compatible Wine tests. The three local conflict resolutions retain all test entries, both the raw-byte snapshot helper and Agent provenance imports, and both source lineage and extraction-caveat instructions. The integration branch is not published.Wine's native ConPTY test remains intentionally ignored and must run explicitly on native Windows. The Wine command excludes one Node argument test because the official Windows Node 24.20 binary independently fails CSPRNG initialization in this Wine environment. The documented native Windows command has no such exclusion. Wine and cross-build results do not establish native installation, WebView2 rendering, ConPTY, ShellExecute, or real-provider login behavior.
This is an unsigned alpha. Native Windows smoke checks and CI/release automation remain outstanding acceptance criteria for #153. RepoSteward's current publication policy forbids workflow-file changes, so this PR contains application code, installer configuration and native validation instructions. The separately prepared CI patch remains for maintainer integration. WSL-only Agents and ARM64 are outside this change. Snapshot construction adds file reads proportional to Space size to preserve exact bytes. See
docs/windows-desktop.mdfor prerequisites and the release checklist.Includes dev at 661d3b2 through a clean merge on September 13. The NSIS installer is rebuilt from this revision and the final committed tree is independently verified before publication. Fresh upstream Actions may require maintainer approval.
Prepared with Codex assistance, reviewed through RepoSteward, and published after independent verification.
tiammomoreviewed the final diff and takes responsibility for this contribution.