hi,
This breaks in Mendix 11 because of a client/runtime change in how nanoflow datasources handle NPEs.
In Mendix 10, returning and reusing the same non-persistent object instance from a nanoflow datasource and then mutating it in another nanoflow happened to work.
In Mendix 11, the client has become much stricter about immutability and object lifecycle — especially in Native / MakeItNative.
What’s happening now:
This is not a MakeItNative bug — it’s an unsupported pattern that no longer works in Mendix 11.
Mendix 10’s client was more permissive and allowed mutating datasource objects. Mendix 11 tightened this for stability and consistency across web/native.
Do not mutate and return the same NPE coming from a nanoflow datasource.
Instead, use one of these supported approaches:
Mendix documentation explicitly states:
“Non-persistent objects are stored in memory only and can be removed by the runtime when they are no longer referenced.”
(https://docs.mendix.com/refguide/transient-objects-garbage-collecting/)
This means NPEs exist only in memory and their lifecycle is not guaranteed. They may be garbage-collected when references are lost, so relying on them as durable UI state across nanoflow calls. Especially in Native apps can cause unstable behavior or crashes.
Safer approach: keep the helper as the page context, only toggle the boolean on the same object, and trigger a refresh in client (don’t rely on returning the NPE).
Responsive
Native