Conversation
mendixlabs#1228) `alter page P { set RenderMode = H2 on <dynamictext> }` was refused as "not a property of this built-in widget", although CREATE PAGE and REPLACE accept RenderMode on a dynamictext and the MCP backend's mutator already sets it. setRawWidgetPropertyMut had no case for it, so it fell through to the pluggable-property setter. Add a RenderMode case dispatched on the stored $Type (Forms$DynamicText): the value is validated case-insensitively against Text, Paragraph and H1-H6 and written in its canonical spelling; anything else is refused with the accepted list, leaving the document untouched. Other widgets keep the previous path. `check -p` picks this up too, since it dry-runs the same setter. Docs: alter-page skill, docs-site alter-page.md, MDL_QUICK_REFERENCE.md, `mxcli syntax page.alter`, and a fix-issue finding. Tested: make test (84 packages ok, 0 FAIL), make lint. The new unit tests fail without the mutator change (8 subtests) and pass with it. Mendix 11.12.2, fresh blank app: the bug-test script exits 1 on main and applies on this branch (describe: H2, Paragraph, H4); mx check 0 errors; H7 refused with nothing written; at runtime the home-page heading set to H5 renders as <h5>. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
AI Code ReviewCritical IssuesNone found. Moderate IssuesNone found. Minor Issues
What Looks Good
RecommendationApprove the PR. The change is fully compliant with the project's architectural requirements, includes adequate test coverage, updates all necessary documentation, and correctly implements the requested feature without introducing regressions. The minor LSP concern does not block approval as no new syntax was added requiring LSP updates. Automated review via OpenRouter (Nemotron Super 120B) — workflow source |
This was referenced Sep 28, 2026
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 #1228
What it does
alter page/alter snippetcan now setRenderModeon a dynamic text:create pagealready writes this property and the MCP backend's mutator already sets it. The MPR backend's fixed property list insetRawWidgetPropertyMutdid not include it, so the statement fell through to the pluggable-widget setter and was refused. The new case:Forms$DynamicText); other widgets keep the previous pathText,ParagraphandH1–H6in any casing, and stores the canonical spellinginvalid RenderMode "H7" for dynamic text "title": expected one of Text, Paragraph, H1, H2, H3, H4, H5, H6check -ppicks this up too, since it dry-runs the same setter.Testing
make teston upstreammain9509176: 84 packages ok, 0 FAILmake lint: clean (exit 0)mdl/backend/pagemutator/dynamictext_rendermode_test.go. They fail without themutator.gochange and pass with it.mdl-examples/bug-tests/alter-page-set-rendermode-dynamictext.mdlcovers a page and a snippet.Mendix validation (11.12.2, fresh blank app)
main9509176 it stops at the firstset RenderMode(exit 1). With this branch it printsAltered pageandAltered snippet, anddescribeshowsRenderMode: H2,ParagraphandH4.mx check: 0 errors.set RenderMode = H7: refused with the message above, exit 1, and the page still readsH2.mxcli run --local --db-type hsqldb):set RenderMode = H5on the blank app's home-page heading (text1, H1). In the browser, "Welcome to your homepage" renders as an<h5>, and the page has no<h1>left.Docs: skill
alter-page, docs-sitealter-page.md,MDL_QUICK_REFERENCE.md,mxcli syntax page.alter, and a finding in.claude/skills/fix-issue/findings/mdl-backend.jsonl.Out of scope:
set Content/ContentParamson a dynamic text (grammar-level),RenderModeon a container,RenderTypeon a button.Not tested: opening the model in Studio Pro.
🤖 Generated with Claude Code