Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
There is a potential bug with Qlik Engine error handling.
The issue is when an error occurs in the Qlik engine such as "Error code: 5 (Access Denied), it is followed by an exception from within require.js. Instead of showing an error dialog, this leaves our iframe blank.
We can code around this on non-single object apps by binding a function to the qlikApp.model.session.Error, and handling the error on our own, but when loading a single app in an iframe we are unable to because of cross-domain.
I've attached a screenshot of the errors from console.
Console log displays the EXPECTED error due to Section Access, but it appears to error when trying to display the error dialog (showDialog):
Error from Engine: Object error: Object code: 5 message: "Access denied"parameter: ""__proto__: Object__defineGetter__: __defineGetter__()__defineSetter__: __defineSetter__()__lookupGetter__: __lookupGetter__()__lookupSetter__: __lookupSetter__()constructor: Object()hasOwnProperty: hasOwnProperty()isPrototypeOf: isPrototypeOf()propertyIsEnumerable: propertyIsEnumerable()toLocaleString: toLocaleString()toString: toString()valueOf: valueOf()get __proto__: __proto__()set __proto__: __proto__()id: 1 jsonrpc: "2.0"__proto__: Object
Error:
TypeError: Cannot read property 'then' of undefined
at Object.get (single.js??1481126454213:formatted:14813)
at Object.j [as showDialog] (single.js??1481126454213:formatted:14847)
at single.js??1481126454213:formatted:17685
at g (require.js?1481126454213:formatted:9452)
at require.js?1481126454213:formatted:9462
at o.$eval (require.js?1481126454213:formatted:9947)
at o.$digest (require.js?1481126454213:formatted:9875)
at require.js?1481126454213:formatted:9951
at f (require.js?1481126454213:formatted:6810)
at require.js?1481126454213:formatted:6922
Root Cause: Bug QLIK-71126 Solution: Version 3.1 SR5 has the error message and returns the right data.
Root Cause: Bug QLIK-71126 Solution: Version 3.1 SR5 has the error message and returns the right data.