Summary
mxcli refs and mxcli callers do not detect references created by a page action
button's Action property (e.g. create_object ... then show_page ..., or a direct
microflow call action on a button). Elements that are only reached through such a
button report zero references/callers even though they are actively used and reachable
in the running application.
Environment
- mxcli version:
nightly-20260720-88077af1 (2026-07-20T06:06:00Z), windows/amd64
- Mendix version: 10.24.2.75382
- MPR format: v2 (
mprcontents/ present)
Scenario
Checking whether a newly-added page and microflow are reachable from the rest of the
app, without opening Studio Pro:
mxcli refs -p "The Company App.mpr" Reminders.TaskGroup_SelectCategory
mxcli callers -p "The Company App.mpr" Reminders.ACT_TemplateCategory_CreateTaskGroup
Expected output
Both should report at least one reference/caller, since:
-
Employee.Employee_Overview has an action button whose Action is
create_object Reminders.TaskGroup then show_page Reminders.TaskGroup_SelectCategory
(confirmed via mxcli describe -p "The Company App.mpr" page Employee.Employee_Overview):
actionbutton actionButton7 (
Caption: 'Taken starten',
Action: create_object Reminders.TaskGroup then show_page Reminders.TaskGroup_SelectCategory,
...
)
-
Reminders.TaskGroup_SelectCategory itself has an action button whose Action calls
Reminders.ACT_TemplateCategory_CreateTaskGroup (confirmed via mxcli describe -p "The Company App.mpr" page Reminders.TaskGroup_SelectCategory):
actionbutton actionButton1 (
Caption: 'Taken aanmaken',
Action: microflow Reminders.ACT_TemplateCategory_CreateTaskGroup(TemplateCategory: ..., Employee: ...),
ButtonStyle: Primary
)
Experienced output
References to Reminders.TaskGroup_SelectCategory
(no references found)
Callers of Reminders.ACT_TemplateCategory_CreateTaskGroup
(no callers found)
Both report zero, despite the button actions shown above existing right there in the
same project's describe output.
Impact
Found during a code review used to judge whether a new page/microflow pair was
integrated into the UI or dead code. refs/callers reporting zero led to an incorrect
conclusion ("this feature isn't wired up anywhere") that had to be manually corrected by
re-reading the calling page's own describe output line by line. Since call-graph
commands (refs, callers, impact) are the intended way to answer "is this used /
safe to change", missing an entire category of real usage (button actions on pages) is a
false-negative that can lead to wrongly deleting or "fixing" code that is actually live,
or wrongly concluding a feature is unreachable when it is not.
Suggestion
The reference/caller graph builder appears to index microflow-to-microflow calls (and
possibly simple page Action: microflow X cases reached some other way) but misses, at
least, the compound create_object ... then show_page ... action form, and possibly
show_page-only actions too — worth checking both forms specifically. Page action
button Action properties should be walked as part of building the call/reference
graph, the same way microflow call activities already are.
AI bug report
Relevant session log lines (mxcli diag --tail), full bundle available on request
(mxcli diag --bundle):
{"time":"...","level":"INFO","msg":"session_start","version":"nightly-20260720-88077af1","go":"go1.26.5","os":"windows","arch":"amd64","mode":"subcommand","args":["mxcli","refs","-p","The Company App.mpr","Reminders.TaskGroup_SelectCategory"]}
{"time":"...","level":"INFO","msg":"connect","mpr_path":"The Company App.mpr","mendix_version":"10.24.2.75382","mpr_format":2}
{"time":"...","level":"INFO","msg":"session_start","version":"nightly-20260720-88077af1","go":"go1.26.5","os":"windows","arch":"amd64","mode":"subcommand","args":["mxcli","callers","-p","The Company App.mpr","Reminders.ACT_TemplateCategory_CreateTaskGroup"]}
Summary
mxcli refsandmxcli callersdo not detect references created by a page actionbutton's
Actionproperty (e.g.create_object ... then show_page ..., or a directmicroflowcall action on a button). Elements that are only reached through such abutton report zero references/callers even though they are actively used and reachable
in the running application.
Environment
nightly-20260720-88077af1(2026-07-20T06:06:00Z), windows/amd64mprcontents/present)Scenario
Checking whether a newly-added page and microflow are reachable from the rest of the
app, without opening Studio Pro:
Expected output
Both should report at least one reference/caller, since:
Employee.Employee_Overviewhas an action button whoseActioniscreate_object Reminders.TaskGroup then show_page Reminders.TaskGroup_SelectCategory(confirmed via
mxcli describe -p "The Company App.mpr" page Employee.Employee_Overview):Reminders.TaskGroup_SelectCategoryitself has an action button whoseActioncallsReminders.ACT_TemplateCategory_CreateTaskGroup(confirmed viamxcli describe -p "The Company App.mpr" page Reminders.TaskGroup_SelectCategory):Experienced output
Both report zero, despite the button actions shown above existing right there in the
same project's
describeoutput.Impact
Found during a code review used to judge whether a new page/microflow pair was
integrated into the UI or dead code.
refs/callersreporting zero led to an incorrectconclusion ("this feature isn't wired up anywhere") that had to be manually corrected by
re-reading the calling page's own
describeoutput line by line. Since call-graphcommands (
refs,callers,impact) are the intended way to answer "is this used /safe to change", missing an entire category of real usage (button actions on pages) is a
false-negative that can lead to wrongly deleting or "fixing" code that is actually live,
or wrongly concluding a feature is unreachable when it is not.
Suggestion
The reference/caller graph builder appears to index microflow-to-microflow calls (and
possibly simple page
Action: microflow Xcases reached some other way) but misses, atleast, the compound
create_object ... then show_page ...action form, and possiblyshow_page-only actions too — worth checking both forms specifically. Page actionbutton
Actionproperties should be walked as part of building the call/referencegraph, the same way microflow call activities already are.
AI bug report
Relevant session log lines (
mxcli diag --tail), full bundle available on request(
mxcli diag --bundle):