Repository navigation
Sync ako/mxcli: Windows junction fallback, drop reflection-data references - #1366
Merged
Merged
Conversation
…akes (closes mendixlabs#1284) Signal(0) is unsupported on Windows (Go returns EWINDOWS for every signal but Kill), so every pid read as dead and `mxcli test --attach` always refused a live app. internal/procalive.Alive uses the OpenProcess/WaitForSingleObject check docker already used; both handshake readers and docker's Windows processAlive now call it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…live docker.PidAlive, which `run stop` and `run status` use and which arrived after the handshake fix above was written, called a pid alive on Windows whenever os.FindProcess could open it. Windows keeps an exited process openable for as long as anyone holds a handle to it (its parent, typically), so a run that had shut down read as alive: `run stop` waited out its grace period, killed a process that was gone, and still printed "failed: 1 process(es) of pid N's run are still alive". Same class as mendixlabs#1284; PidAlive now uses procalive.Alive, which asks whether the process has terminated. macOS keeps the same Signal(0) check it had; Linux has its own /proc-based PidAlive and is unchanged.
…s liveness fixes mdl-examples/bug-tests/1284-test-attach-windows.test.mdl is the end-to-end check: run --local --test-endpoint, then test --attach, then run stop. Verified on Windows 11 / Mendix 11.13.0: unfixed main refuses the live pid, this branch passes the test and stops the run cleanly.
…shake-liveness # Conflicts: # CHANGELOG.md
os.UserHomeDir reads USERPROFILE on Windows, so a test that only called
t.Setenv("HOME", dir) used the developer's real ~/.mxcli there. Across the
13 test files that did, a run left a fixture PAT, fake mxbuild/runtime
caches and a catalog cache in it, and later runs failed on the credential
an earlier run left behind.
testutil.SetHome sets both HOME and USERPROFILE and replaces every bare
override (and the two per-package helpers that only handled one OS each).
TestNoBareHomeSetenv fails for any test file that calls Setenv("HOME", ...)
directly.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
In-process commands reach diaglog.Init, which logged session lines into, and pruned old files from, the real ~/.mxcli/logs on every OS. A package TestMain now points MXCLI_LOG_DIR (diaglog's own test hook) at a temp dir unless it is already set. Follow-up to mendixlabs#1273 / mendixlabs#1256. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
) Turning page item 'Work' into sub-menu 'Work' paired the two by caption, and keepStoredMenuAction's sub-menu branch carried the page item's Forms$FormAction onto the sub-menu ("MDL cannot express it"). mx check then failed with CE0548 "Items with subitems cannot have an action themselves." A sub-menu cannot hold an action, so nothing stored is kept on it; the navigation and menu-document writers share the decision. Measured on 11.14.0 with the committed bug-test script: unfixed build -> docker check CE0548; fixed -> 0 errors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JAkNou7mZAV7LRE6kGwzDs
…shake-liveness # Conflicts: # CHANGELOG.md
fix: detect a live process on Windows in test --attach, the dev-loop handshake and run stop (mendixlabs#1284)
docs(changelog): run --local --watch applies a domain model change on Windows (mendixlabs#1342)
test: isolate the home directory on Windows too, and keep cmd/mxcli tests out of ~/.mxcli/logs (mendixlabs#1256)
…w1cfj # Conflicts: # CHANGELOG.md
fix(navigation): a sub-menu never keeps a stored action (mendixlabs#1341)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Syncs
ako/mxcli:mainintomendixlabs/mxcli:main: 2 commits since #1359, landed in the fork through ako#1075.Windows
run --local/test --locallink the runtime into the mxbuild cache with a directory junction when Windows refuses a symlink (On Windows, the firstrun --local/test --localfor a new Mendix version fails: the runtime is linked into the mxbuild cache withos.Symlink, which needs admin rights or Developer Mode #1286). An ordinary Windows user lacksSeCreateSymbolicLinkPrivilege, so the first local run for a new Mendix version failed.linkDirtriesos.Symlinkand falls back tomklink /JonERROR_PRIVILEGE_NOT_HELD. A test pins that removing the cache directory removes the junction, not the runtime behind it.Docs
reference/path nobody can populate. Living docs and skills now point at the vendored metamodel types inmodelsdk/genand at Studio Pro-authored documents, which win on disagreement.cmd/codegen -inputno longer defaults to the library's path and is required. The CLAUDE.md codegen example used a nonexistent-reflection-dirflag.gittree.txtare reworded too (wording only)