You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Data grid 2 settings written by their widget key are lost on a describe → exec round trip, and check without a project calls them "silently dropped" #1573
check -p passes, and it even applies the editor-config rules: columnsHidable: false together with a column Hidable: no is refused (MDL-WIDGET10). exec stores every value, and mx check reports 0 errors. Two things go wrong after that.
describe page prints none of these settings. It prints datagrid dgLocal (DataSource: database from Shop.Ord). A describe → drop → exec round trip therefore resets them to the defaults. On a five-grid test page set, 0 of 6 pages came back byte-identical. The same is true for Gallery's settings, a column's own settings and the emptyPlaceholder slot. A Studio Pro marketplace page (Administration.Account_Overview) also loses onClickTrigger: 'double'.
check without a project (mxcli check pers.mdl, as make check-mdl runs it) warns, for each of these keys, that the property "is not recognized and will be silently dropped on write" (MDL-WIDGET07), although exec stores it. For an expression-typed key, such as rowClass or a column's columnClass, it is an MDL-WIDGET42 error, so check exits 1. The cause is that DATAGRID has no embedded definition, since its .def.json is generated from the project's package. Without a project, the keyword falls back to the static-widget vocabulary.
These settings include the personalization ones (where to store column, sort and filter state), which is a common thing to want to set from MDL.
Also found (not fixed in the PRs below)
By-key selection is not stored.itemSelection: Single by key is stored as PrimitiveValue 'Single' with Selection: None, so the grid has no selection. Selection: Single works. This looks like the explicit-key pass treating a selection-typed key as a primitive.
Other widgets lose by-key settings on describe the same way. Combobox (clearable, showFooter), textfilter (adjustable, delay), dropdownfilter (filterable) and image (isBackgroundImage) all accept them in check and exec, and describe drops them. Each has its own describe branch.
I have two PRs ready, one per gap, and will link them.
Summary:
Data‑grid‑2 settings defined by widget keys are lost when running describe → exec and mxcli check without a project incorrectly reports them as “silently dropped” (or errors for expression‑typed keys).
Settings should be preserved in describe output and check should not warn/error
Experienced output
✅
describe omits settings; check warns (MDL‑WIDGET07) or errors (MDL‑WIDGET42)
AI bug report (session log or mxcli diag --bundle)
❌
Not provided
Missing information:
Please attach the session log or run mxcli diag --bundle and share the resulting archive (or relevant log excerpt) so we can reproduce the environment and see any internal traces.
Thank you for the detailed reproduction steps! Once we have the diagnostic bundle we’ll be able to investigate further.
Activity
github-actions commentedon Oct 17, 2026
Issue Triage
Summary:
Data‑grid‑2 settings defined by widget keys are lost when running
describe → execandmxcli checkwithout a project incorrectly reports them as “silently dropped” (or errors for expression‑typed keys).Checklist of required bug‑report information
mainmentionedcreate persistent entity,create page, commandscheck -p,exec,describe pagedescribeoutput andcheckshould not warn/errordescribeomits settings;checkwarns (MDL‑WIDGET07) or errors (MDL‑WIDGET42)mxcli diag --bundle)Missing information:
Please attach the session log or run
mxcli diag --bundleand share the resulting archive (or relevant log excerpt) so we can reproduce the environment and see any internal traces.Thank you for the detailed reproduction steps! Once we have the diagnostic bundle we’ll be able to investigate further.
Automated triage via OpenRouter — workflow source