Repository navigation
Sync ako/mxcli: Windows junction fallback, drop reflection-data references - #1360
Conversation
…dows refuses a symlink (closes mendixlabs#1286) An ordinary Windows user cannot create a symlink without SeCreateSymbolicLinkPrivilege, so the first run --local / test --local for a new Mendix version failed linking the runtime into the mxbuild cache. linkDir tries os.Symlink and, on ERROR_PRIVILEGE_NOT_HELD, falls back to a directory junction (cmd /c mklink /J); both directory-link sites (ensureMxBuildRuntimeSibling, ensurePADFiles) use it. os.RemoveAll of the cache dir removes the junction, not the runtime behind it; a test pins that. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…1074) The reflection data comes from an internal Mendix library that is not publicly distributed, so docs pointing contributors at its directory under reference/ sent them to a path nobody can populate. Living docs and skills now point at the vendored metamodel types in modelsdk/gen (types.go for storage names, refs.go for reference kinds) and at Studio Pro-authored documents, which win on disagreement. cmd/codegen's -input no longer defaults to the library's path and is now required; CLAUDE.md's codegen example used a nonexistent -reflection-dir flag and now uses -input. At the maintainer's request, ADR-0008, the 2026-04-21 finding, the wiki sync log and gittree.txt are reworded too (wording only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LQcDcZKByMEd2tKJxmG11z
…RETRIEVE02) `retrieve $u from $task/System.owner;` passed check and exec, then mxbuild failed with [CE0136] "Retrieve object must specify the 'Entity' property." (mendixlabs#1358). owner and changedBy are entity flags, not modelled associations: mxbuild resolves the name but derives no entity from it, with or without `owner: AutoOwner` (measured on 11.12.2; System.changedBy alike). check and exec now refuse it and name the form that builds clean: `retrieve $u from System.User where [id = $task/System.owner] first;`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P3PcLf2tEE4sTP5eamiVpt
fix: link the runtime into the mxbuild cache with a junction when Windows refuses a symlink (mendixlabs#1286)
AI Code ReviewReview SummaryThis PR introduces two main changes: Windows symlink fallback for local runtime linking and removal of closed-source reflection-data references. Both changes are well-implemented and tested. What Looks Good
Minor Issues
RecommendationApprove. The PR solves a real Windows user issue (#1286) with robust fallback logic, eliminates dangerous dependencies on closed-source code, and includes comprehensive test coverage. All changes align with project architecture and documentation standards. No blocking issues found. Note: Generated ANTLR parser files ( Automated review via OpenRouter (Nemotron Super 120B) — workflow source |
…-nhtowr # Conflicts: # CHANGELOG.md
…meout (closes mendixlabs#1329) After the project file changed, show references / search / show callers / show impact rebuilt the stale catalog at its cached source mode inside the statement's wall-clock guard. On a large app the default 5m fired mid-build ("statement timed out after 5m0s"); the unfinished build was never saved, so every later call repeated it. REFRESH CATALOG was exempt from the guard (#651) by statement type; the same build reached implicitly was not. ensureCatalog now marks its rebuild as untimed work, and Execute's timer subtracts that time from the statement's clock (chained through nested EXECUTE SCRIPT). An explicit MXCLI_EXEC_TIMEOUT still caps it, as it caps REFRESH CATALOG, and a timeout that cuts a rebuild off now says so and points at REFRESH CATALOG FULL SOURCE. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WzwbPBB3HkMhu7c9bzTGqy
…#1307) `Tooltip:` on an actionbutton/linkbutton passed check and exec but was never stored: buildButtonV3 did not read it, so the codec always wrote an empty Texts$Text. describe had no reader for it, and `alter page … set (Tooltip: …)` fell through to the pluggable setter and was refused with "property \"Tooltip\" is not a property of this built-in widget". - builder: write the tooltip as a Texts$Text in the authoring language - describe: read the button's Tooltip and emit `Tooltip: '…'` - alter: a `tooltip` case that sets the stored Texts$Text (creating one when null) and refuses widgets without a Tooltip slot Verified on a fresh 11.12.5 app: exec -> describe shows the tooltip, alter sets it on a button that had none, mx check reports 0 errors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCo8XKGihSdss7DQsL6Fdo
Reject retrieve by association over System.owner/changedBy (CE0136)
AI Code ReviewReview SummaryThis PR contains two distinct changes: a Windows symlink privilege fix and documentation updates removing reflection-data references. Both changes are well-implemented with appropriate tests and documentation updates. Critical IssuesNone found. Moderate IssuesNone found. Minor IssuesNone found. What Looks Good
RecommendationApprove the PR. The changes are correct, well-tested, and improve both Windows usability and documentation accuracy without introducing any regressions or violations of project guidelines. Automated review via OpenRouter (Nemotron Super 120B) — workflow source |
Fix: Store and describe action button tooltips (issue mendixlabs#1307)
Exclude implicit catalog rebuilds from statement timeout
AI Code ReviewModerate Issues
What Looks Good
Automated review via OpenRouter (Nemotron Super 120B) — workflow source |
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)