Changelog
io.Connect Desktop 9.7.1
Release date: 11.02.2025
Components | Version |
---|---|
Electron | 33.1.0 |
Chromium | 130.0.6723.91 |
Node.js | 20.18.0 |
New Features
Retrieving System Paths
To retrieve any of the system paths used by io.Connect Desktop, use the
getPath()
method of theiodesktop
object injected in the globalwindow
object and pass one of the following string values:
Value Description "home"
Retrieves the profile directory for the current user (e.g., C:\Users\<username>
)."appData"
Retrieves the io.Connect Desktop working directory (e.g., C:\Users\<username>\AppData\Local\interop.io\io.Connect Desktop\Desktop
)."userData"
Retrieves the user data directory for the current environment and region in which io.Connect Desktop is running (e.g., C:\Users\<username>\AppData\Local\interop.io\io.Connect Desktop\UserData\<ENV>-<REG>
)."temp"
Retrieves the temporary directory for the current user (e.g., C:\Users\<username>\AppData\Local\Temp
)."exe"
Retrieves the path to the io.Connect Desktop executable file (e.g., C:\Users\<username>\AppData\Local\interop.io\io.Connect Desktop\Desktop\io-connect-desktop-inner.exe
)."desktop"
Retrieves the desktop directory for the current user (e.g., C:\Users\<username>\Desktop
)."documents"
Retrieves the documents directory for the current user (e.g., C:\Users\<username>\Documents
)."downloads"
Retrieves the downloads directory for the current user (e.g., C:\Users\<username>Downloads
)."music"
Retrieves the music directory for the current user (e.g., C:\Users\<username>\Music
)."pictures"
Retrieves the pictures directory for the current user (e.g., C:\Users\<username>\Pictures
)."videos"
Retrieves the videos directory for the current user (e.g., C:\Users\<username>\Videos
)."recent"
Retrieves the recent files directory for the current user (e.g., C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent
).The following example demonstrates retrieving the desktop directory for the current user:
const desktopDir = await iodesktop.getPath("desktop");
Handling Attempts for Starting Additional Platform Instances
To prevent focusing the shell app or to define a custom behavior when the user attempts to start a second platform instance in the same environment and region, register an Interop method named
"T42.GD.SecondInstance"
. io.Connect Desktop will invoke this method without arguments each time this situation occurs.If you want to prevent focusing the shell app, the method must return an object with a
prevent
property set totrue
:
const methodName = "T42.GD.SecondInstance"; const handler = () => { return { prevent: true }; }; await io.interop.register(methodName, handler);
If you want to define a custom behavior, provide your custom implementation for the method:
const methodName = "T42.GD.SecondInstance"; const handler = async () => { const win = io.windows.find("window-to-focus"); await win.focus(); }; await io.interop.register(methodName, handler);
Credentials Prefill via Environment Variables
For testing and PoC purposes, you can now set the
IO_CD_BASIC_AUTH_USERNAME
andIO_CD_BASIC_AUTH_PASSWORD
environment variables with default username and password to be used for authentication. If these variables are set, io.Connect Desktop will extract their values and pass them to the login screen displayed by the SSO app and to all interop-enabled apps that require basic authentication. The username and password fields will be prepopulated with the extracted values and the user will be automatically authenticated.The following example demonstrates setting the
IO_CD_BASIC_AUTH_USERNAME
andIO_CD_BASIC_AUTH_PASSWORD
environment variables for the io.Connect platform process:
set "IO_CD_BASIC_AUTH_USERNAME=my-username" && set "IO_CD_BASIC_AUTH_PASSWORD=my-password" && io-connect-desktop.exe
Improvements & Bug Fixes
Improved the behavior when dragging and dropping Workspace windows with custom tab elements.
Improved tracking metrics for native apps.
Improved handling of inactive apps that require heavy CPU usage.
Improved platform stability via a global handler for unhandled rejections.
Fixed the behavior for combining the taskbar icons of window groups with the same icon.
Fixed a crash caused by users closing web group windows during a Layout save operation.
Fixed the behavior of the
allowWorkspaceDrop
flag for child windows of native apps.
Application Adapters
Bloomberg Intraday Tick Request
To create an Intraday Tick request to the Bloomberg Market Data Feed service, use the
createIntraDayTickRequest()
method of the io.Connect BBG Market Data API.It's required to specify a
security
andeventType
. Also,startDateTime
andendDateTime
points in UTC must be specified. A range of other options can be specified in theIntraDayTickRequestArguments
object:
const requestArgs: IntraDayTickRequestArguments = { security: "IBM US Equity", // This can be a list of all event types. eventTypes: [IntraDayEventType.ASK, IntraDayEventType.BID], startDateTime: "2019-01-01T13:00:00", endDateTime: "2019-01-31T13:00:00" }; // Creating the request. const request: IntraDayTickRequest = bbgMarketData.createIntraDayTickRequest(requestArgs); request.onData(function handleResponse( response: ResponseData<IntraDayTickData> ): void { if (response.isLast) { // Handle the final response. } else { // Handle partial responses. } }); // Sending the request to a Bloomberg service. request.open();