I find that errors in the mendix client side implementation are often very difficult to identify. At the same time it is very easy to provoke this kind of errors without doing any special customization or using widgets.
The problems that I came across in the past are caused by ‘Nanoflow logic’, ‘conditional visibility expressions’ or just by a bad modelling pattern with New buttons.
Why is it so hard to identify those errors? Because the error logging is not good enough and/or the modeler is not giving the right warnings.
In a very simple use case I provoked this error:
Unexpected error occurred, please contact your system administrator. Error: Unexpected error occurred, please contact your system administrator.
at new t (http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:20:19275)
at http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:46:161088
at http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:20:2053
at Object.next (http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:20:2158)
at http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:20:1096
at new Promise (<anonymous>)
at Object.s (http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:20:873)
at http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:46:160958
at http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:46:161500
at b (http://localhost:8080/mxclientsystem/mxui/mxui.js?637502973468476756:46:161551)
This is in no way understandable or traceable for an average developer. As it turns out this was caused by a missing context (a listening dataview without selection) combined with a new button.
Even the most basic Mendix training course tells us to check for empty values – the mxclientsystem obviously does not.
Please improve the error handling on the client side. These problems are even growing worse with Native/Nanoflows.
regards, Fabian