When calling window.open() from within an application running in a web group, io.Connect Desktop throws the following runtime error:
Cannot read properties of undefined (reading 'isStickyWindow')
TypeError: Cannot read properties of undefined (reading 'isStickyWindow')
at o.getWindowPlacementSettings (...)
at o.createPopup (...)
at o.createWindow (...)
at createWindow (...)
at openGuestWindow (node:electron/js2c/browser_init:...)
at WebContents.<anonymous> (node:electron/js2c/browser_init:...)
at WebContents.emit (node:events:...)
Cause
This issue occurs when the "nativeWindowOpen" property in your system.json (or in your application definition under details) is configured as an object instead of a string.
For example, the following object configuration causes the crash in web groups:
{
"windows": {
"nativeWindowOpen": {
"mode": "window",
"outlivesOpener": false
}
}
}
Fix
This issue was fixed in io.Connect Desktop 10.2.
Workaround
For earlier versions, change the "nativeWindowOpen" property to a string value. Because "outlivesOpener" is false by default, using the string "window" preserves the same behavior as the object configuration shown above:
Option 1: Update system.json:
{
"windows": {
"nativeWindowOpen": "window"
}
}
Option 2: Override per application:
If you do not want to modify system.json, you can set the "nativeWindowOpen" property as a string in your web group application definition under details. This will override the system-level setting for that specific application.
Additional Information
The "nativeWindowOpen" property accepts either a string or an object value:
- String values:
"window"(default — opens as io.Connect Windows),"browser"(opens in the default browser),"off"(disableswindow.open()). - Object value: Supports a
"grouping"property for snapping/tabbing child windows to the parent (available since io.Connect Desktop 9.3).
For more details, see the System Configuration documentation.