Pluggable widget generation, warm local dev loop, ALTER PAGE INSERT INTO, ListView datasource fix, and CI/widget-authoring fixes#776
Closed
ako wants to merge 0 commit into
Closed
Conversation
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.
Bundles the improvements developed on ako/mxcli. Every change was validated with mx check (0 errors, MPR v2 preserved) and the integration doctype suite on both engines.
Highlights
• Warm local dev loop — mxcli run --local [--watch]: Docker-free mxbuild --serve + standalone runtime with hot reload_model vs restart+DDL, web-client bundling, Playwright screenshots, --ensure-db/--setup bootstrap. Hardened: refuses to boot on stale ports (single-instance guard), watches theme/+themesource/ SCSS, logs a build-generation counter.
• Multi-version pluggable widgets — resolve CE0463 generically against the installed .mpk (no per-widget hardcoding, no mx update-widgets); mxcli widget describe; editorConfig.js visibility extractor; byte-identical DataGrid2/ComboBox/Charts definitions.
• ALTER PAGE INSERT INTO — append widgets as a container’s children (fill an empty container / add without a sibling anchor).
• Widget-authoring fixes — textTemplate content persistence, container-wrapped child slots, multi-hop XPath (CE1613), TimeSeries/ColumnChart runtime fixes.
Fixes included
• ListView database source runtime crash — a native ListView over a database from datasource passed mx check but crashed the browser client (Cannot read properties of undefined (reading 'length') in retrieveByXPath/processResult). The Forms$ListViewXPathSource omitted client-read arrays: codec dropped Forms$ListViewSearch.SearchRefs; legacy wrote a bogus Sort/Paths shape with no GridSortBar. Both engines now emit the correct GridSortBar/SortItems + ListViewSearch/SearchRefs. Validated fixed in a real app.
• Integration doctype suite green — HeatMap object-list example completed; Image showcase limitation whitelisted; the alter-page-insert-into parameter case version-gated behind -- @Version: 11.0+ so it passes on Mendix 10.24 nightlies while still exercising INSERT INTO on 10.x.
• Security — bump golang.org/x/text to v0.39.0 (GO-2026-5970).
Testing
• go build ./..., go vet, gofmt clean.
• TestMxCheck_DoctypeScripts passes on both engines against cached mxbuild 10.24.19 and 11.12.1.
• Widget/serialization fixes carry unit tests, bug-test MDL scripts under mdl-examples/bug-tests/, and mx check verification.
🤖 Generated with Claude Code