mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-10-27 06:53:11 +08:00
Distilled from PR #702 (fixes #697): - install.ps1: replace the try/catch that swallowed `codebase-memory-mcp install` failures with a $LASTEXITCODE check that reports the exit code and fails the installer, instead of silently leaving no coding agent configured. - README: document Unblock-File for the Mark-of-the-Web restriction that blocks the downloaded install.ps1, plus the execution-policy escape hatch. - cbm_exec_no_shell (Windows): switch from _spawnvp, whose CRT does not quote arguments containing spaces (the taskkill filter "IMAGENAME eq codebase-memory-mcp.exe" arrived as three bare tokens), to CreateProcessW over a two-pass MSVC-convention quoted command line (cbm_build_cmdline, exposed for tests via compat_fs_internal.h). - UTF-8-correct widening: the quoted command line is assembled in UTF-8 bytes and converted once via cbm_utf8_to_wide, so non-ASCII arguments (e.g. a non-ASCII %USERPROFILE%) survive intact instead of being byte-widened as Latin-1 mojibake. - tests: regression guard for the #697 taskkill filter, MSVC quoting edge cases (empty arg, embedded quote, trailing backslashes), UTF-8 widening guards (2-byte sequence with explicit code points; mixed 2-/3-byte round-trip via cbm_utf8_to_wide), and live CreateProcessW spawn tests. All Windows-only, exercised by the Windows CI leg. Co-authored-by: ShauryaaSharma <shauryasofficial27@gmail.com> Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>