Repository navigation
Conversation
…ut a propertyGroup (mendixlabs#1632) Every Marketplace Calendar written by mxcli failed a plain `mx check` with CE0463 "The definition of this widget has changed". The Calendar has no embedded template, so its Type is generated from the .mpk, and its toolbarItems object list declares its sub-properties directly under <properties>, each with a <category> element. modelsdk/widgets/mpk read only <properties><propertyGroup>, so toolbarItems had no Children and was stored with ValueType.ObjectType null. The parser now reads both shapes, as sdk/widgets/mpk already does; a direct sub-property takes its category from its own <category>. On an 11.12.5 app the stored Calendar equals a copy rewritten by `mx update-widgets` (ids stripped), and the object-list widgets of doctype-tests/32 are stored byte-identical to before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ako
added a commit
that referenced
this pull request
Oct 23, 2026
…ues-bkrdmk fix: find/filter by System.owner builds, and describe keeps System associations qualified
This branch has not been deployed
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.
Closes #1632.
What it fixes
Every Marketplace Calendar written by mxcli failed a plain
mx checkwith CE0463 "The definition of this widget has changed".mxcli docker checkhid it, because it runsupdate-widgetson a temporary copy first.The Calendar has no embedded template, so its Type is generated from the
.mpk. ItstoolbarItemsobject list declares its sub-properties directly under<properties>, each with a<category>element.modelsdk/widgets/mpkread only<properties><propertyGroup>, sotoolbarItemshad noChildrenand was stored withValueType.ObjectType: null.How
xmlPropertygainsNestedDirectProps(properties>property) andCategory.nestedGroupsreturns the declared groups plus one caption-less group holding the direct sub-properties. Both call sites (top-level and nested object properties) use it.collectNestedPropertiesgives a sub-property outside any group its own<category>. Grouped sub-properties keep their caption chain, unchanged.sdk/widgets/mpk(used bywidget init, the catalog and the widget docs) already reads both shapes. This brings the template-side parser in line with it, using the same field name and order.Also included: CHANGELOG (Fixed), a finding in
findings/modelsdk/, andmdl-examples/bug-tests/1632-calendar-toolbaritems-definition.mdl.Evidence
Tests:
modelsdk/widgets/mpk/objectdirect_test.gocovers parsing: direct sub-properties in document order with their own category and attributes, and a grouped control that keeps its group caption.modelsdk/widgets/objectdirect_test.gocovers the path end to end, from a zipped.mpkthroughParseMPKtoGenerateFromMPK: the object property gets aWidgetObjectTypewith both sub-property types, anditemTypegets the categoryAppearance.mainand pass with the fix.Real run (Mendix 11.12.5 scratch app, Calendar 2.6.1), plain
mx checkafterexec. "main" here is the 2026-10-20 nightly (3b24e5a), whosemodelsdk/widgetsis identical to currentmain:mainbug-tests/1632-calendar-toolbaritems-definition.mdlbug-tests/1578-calendar-expression-properties.mdlmx update-widgetsrewrote.doctype-tests/32-pluggable-widget-object-lists-v010.mdlcovers Accordion, PopupMenu, Maps static and dynamic, area and line chart, and heat map. All 9 pages are stored identically bymainand by this branch, ids stripped. One line-chart value (smooth) had to change tospline, because the app's Charts version doesn't accept it.map2reports CE0463 on bothmainand this branch, so it's unrelated and left alone.Windows:
go test ./modelsdk/...passes../mdl/executor/,./mdl/catalog/and./cmd/mxcli/show the same failures as unchangedmainon Windows: 28 executor tests (layout, describe, OData file paths, type checking) andTestSaveToFile_ConcurrentWritersAndReaders.go vetandgofmtare clean.Linux (
golang:1.26.6-bookworm, ANTLR 4.13.2):make grammar build test check-mdl check-findings check-conformance check-migration-reference lint-goall pass.🤖 Generated with Claude Code