io.Connect Browser 4.4 is out, bringing new options for saving window contexts in Layouts, persisting user-selected themes via the App Preferences API, and listening for Workspace tab reorder events.
Full changelog: io.Connect Browser 4.4
Saving Window Contexts in Global Layouts
When saving a Global Layout programmatically, you can now instruct the platform to persist the context objects of individual io.Connect Windows. These are the contexts set via the setContext() method of a WebWindow instance. This is controlled through the new saveWindowContexts property of the NewLayoutOptions object.
If a Browser Client has subscribed for Layout save requests via onSaveRequested() and the event handler returns a context object, that context takes precedence over the context set via setContext(). If ignoreContexts is set to true, saveWindowContexts is ignored.
Related docs:
Saving Window Contexts in Workspace Layouts
The same context-saving capability is now available when saving Workspace Layouts.
When saving a Workspace Layout, use the saveWindowContexts property of the WorkspaceLayoutSaveConfig object passed to io.workspaces.layouts.save().You can also use saveLayout() on a Workspace instance when saving an open Workspace as a Workspace Layout. If a Browser Client has subscribed for Layout save requests via onSaveRequested() and the event handler returns a context object, that context takes precedence over the context set via setContext().
Related docs:
- Changelog: Saving Window Contexts in Workspace Layouts
- WorkspaceLayoutSaveConfig
- WorkspaceLayoutsAPI.save()
- Workspace.saveLayout()
Theme Persistence via the App Preferences API
When an external App Preferences store is configured, the user-selected theme is now automatically persisted and restored through the App Preferences API.
This enables theme selection to be synchronized across different devices and browser sessions for the same user. When using a local App Preferences store, themes continue to be stored in browser local storage as before.
Related docs:
Tab Reorder Events
You can now get notified when Workspace tabs or window tabs are reordered within their respective containers: Workspace Frames and window tab groups. These events are triggered only when dragging a tab to a different position without removing it from its current container.
At API level, you can subscribe with:
onWorkspaceTabReordered()for Workspace tab reorder events;onWindowTabReordered()for window tab reorder events.
Tab reorder events are also available on:
Workspaceinstances viaontabReordered()andonWindowTabReordered();WorkspaceWindowinstances viaontabReordered().
Related docs:
- Changelog: Tab Reorder Events
- onWorkspaceTabReordered()
- onWindowTabReordered()
- Workspace.ontabReordered()
- Workspace.onWindowTabReordered()
- WorkspaceWindow.ontabReordered()
Improvements & Bug Fixes
This release also includes a few practical fixes:
- improved validation logic when app validation for the App Preferences store is enabled, avoiding issues related to validating the platform app name;
- fixed an issue related to tracking Workspaces with the
workspace_countmetric; - fixed an issue in the Home App where the Layouts panel displayed duplicate items with the same name.
Full changelog: io.Connect Browser 4.4