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: 15.05.2023

Components Version
Electron 24.1.3
Chromium 112.0.5615.165
Node.js 18.14.0

New Features

About App

You can now customize the About app of Glue42 Enterprise by using the "about" top-level key of the system.json system configuration file.

The following example demonstrates how to modify the size and the content of the About app:

{
    "about": {
        "url": "https://glue42.com/",
        "width": 500,
        "height": 500
    }
}

Custom About

Window Placement

The placement functionality of the JavaScript Window Management API has been extended. All combinations with the "center" horizontal and vertical alignment are now supported. Properties for defining the margins on all sides of the placed window have also been added.

The following example demonstrates how to place a window at the top center of the screen. The window will be 50 pixels high, its width will be 30% of the screen width, and there will be a 10 pixel margin between the top edge of the screen and the top of the window:

const settings = {
    snapped: true,
    verticalAlignment: "top",
    horizontalAlignment: "center",
    height: 50,
    width: "30%",
    top: 10
};

await myWindow.place(settings);

You can also use the "placement" property of the "details" top-level key in the app configuration file to specify window placement settings:

{
    "details": {
        "placement": {
            "snapped": true,
            "verticalAlignment": "top",
            "horizontalAlignment": "center",
            "height": 50,
            "width": "30%",
            "top": 10
        }
    }
}

Running Archived Apps from Remote Locations

To instruct Glue42 Enterprise to download, unarchive and run archived web or native apps hosted at a remote location, use the "assets" top-level key in the app configuration file.

The following example demonstrates how to define the location of a remote archived web app, specify headers for the request, include the Cache-Control: no-cache header, and define the app entry point:

{
    "name": "my-archived-web-app",
    "type": "window",
    "asset": {
        "src": "https://example.com/my-archived-web-app.zip",
        "headers": [
            {
                "name": "header-name",
                "value": "header-value"
            }
        ],
        "noCache": true
    },
    "details": {
        "url": "$ASSET_LOCATION$/home.html"
    }
}

The default location for downloading remote apps is %LocalAppData%/Tick42/UserData/%GLUE-ENV%-%GLUE-REGION%/remoteApps/<app-name> where <app-name> is the name of the app as defined in its configuration. You can use the $ASSET_LOCATION$ macro pointing to the default location of the extracted app when defining the "path" or the "url" property of your app, depending on its type.

Layout Loader

To customize the Layout loader, use the "splash" property of the "layouts" top-level key in the system.json system configuration file of Glue42 Enterprise.

The following example demonstrates how to provide a custom loader and settings for it:

{
    "layouts": {
        "splash": {
            "url": "https://example.com/my-custom-loader/index.html",
            "title": "My Custom Loader",
            "width": 500,
            "height": 300
        }
    }
}

Web Groups

Flash Tab

Added support for flashing tabs when using Web Groups:

// Start flashing the window tab.
await myWindow.flashTab(true);

Tab Flash

Resizing Windows in a Maximized Group

Added support for resizing windows in a maximized group when using Web Groups.

Collapsing & Expanding Windows

Collapsing and expanding windows within a group is now possible for the Glue42 classic groups, including when the window group is maximized:

Collapse Expand

Advanced Options for Opening Windows

You can now use the Open app of Glue42 Enterprise to specify advanced options when opening windows. The Open app is designed for users to be able to quickly and easily open Glue42 Windows from the UI by providing only a URL. Advanced users however, can now use the JSON editor in the "Advanced Options" section to provide any valid options for opening a window.

The following example demonstrates how to open a flat Glue42 Window, add the Channel Selector to it, and join the window to the "Red" Channel:

{
    "mode": "flat",
    "allowChannels": true,
    "channelId": "Red"
}

Open Window

Java Metrics API

Added new Java Metrics API accessible through glue.metrics().

Currently, only a single method for publishing FAV metrics is available:

glue.metrics().featureMetric("MyFeature", "MyAction", "MyValue");

Improvements and Bug Fixes

  • Upgraded to Electron 24.1.3 (Chromium 112).

  • Improved handling background colors for frameless windows.

  • Improved handling of emojis in Java app titles.

  • Fixed a bug where the data property of the IntentContext object was treated as required.

  • Fixed a bug where the Channels API was initialized by default.

  • Fixed a bug where logs weren't received when the method for consuming them was unregistered and then registered again.