Glue42 Enterprise is now io.Connect Desktop! The new documentation site for all interop.io products is located at docs.interop.io.

Changelog

Glue42 Desktop

Release date: 27.10.2021

Components Version
Electron 13.5.2
Chromium 91.0.4472.164
Node.js 14.16.0

Breaking Changes

Custom Splash Screen & Loaders

Due to upgrading Glue42 Enterprise to Electron 13 (Chromium 91), and increasing product security, clients which have implemented custom splash screens or custom loaders must edit the splash/loader code as shown in the following example, in order for the custom splash screens and custom loaders to continue working properly:

// Delete this constant declaration from the splash/loader code.
const { ipcRenderer } = require("electron");

Flash Plugin

Due to upgrading to Electron 13 (Chromium 91), the Flash plugin is no longer supported.

New Features

Maximize & Restore Workspace Containers

Workspace containers (Box, Column, Row, Group, WorkspaceWindow) can now be maximized and restored programmatically within the bounds of the Workspace through the maximize() and restore() methods of their instances.

Workspaces App Move Area

Added a <MoveArea /> component to the @glue42/workspaces-ui-react library that can be used to relocate the Workspaces App move area.

Preload Scripts

Preload scripts can now be specified through the app configuration file. The preload scripts will be executed before the actual web app is loaded. Use the "preloadScripts" array of the "details" top-level key in the app configuration file, provide URLs to the scripts, and they will be executed in the specified order:

{
    "details": {
        "preloadScripts": [
            "https://my-domain.com/my-script.js",
            "https://my-domain.com/my-script.js"
        ]
    }
}

Downloading Files Programmatically

Added a download() method to the Glue42 Window instance for downloading files:

const url = "https://example.com/logo.png";
const options = {
    autoOpenDownload: true,
    // The file extension is taken from the downloaded file.
    name: "my-logo"
};

const { path, size, url } = await myWindow.download(url, options);

console.log(`Download path: ${path}, File size: ${size}, URL: ${url}`);

Event for Display Changes

Added an onDisplayChanged() method to the Displays API for capturing the event that fires when a display has been modified:

const handler = (displays) => {
    // React to DPI changes, display connected or disconnected, monitor position changed, etc.
    console.log(displays);
};

glue.displays.onDisplayChanged(handler);

Opening URLs in the Default Browser

Added a predefined app which opens a URL in the default browser.

Accessing OS Info

It is now possible to allow apps to access OS information (list of running processes, OS version, Glue42 start time) through their app configuration. Set the "allowOSInfo" property to true in the "details" top-level key to allow an app to access OS information:

{
    "details": {
        "allowOSInfo": true
    }
}

Glue42 Server Commands

Added a new command to the Glue42 Server for stopping apps in a user session.

Improvements and Bug Fixes

  • Upgraded to Electron 13 (Chromium 91).