The Problem
When you launch standalone windows from a Web Group using application.start()e.g. triggered by a button, those windows have their own independent lifecycle. If a user closes the Web Group, windows within that tab group are closed, but any independently launched windows remain open.
The Solution
You can listen for the parent window’s close event and programmatically stop all instances of the child application:
w.onClose(() => {
app?.instances.forEach((instance) => instance.stop());
});
Where w is the parent window and app is a reference to the child application object.
Why Doesn’t isChild Work for Web Groups?
As stated in io.Connect Desktop documentation isChild Window Setting isChild won’t work if the window is opened by a Workspaces App or a Web Group App. This is by design - Workspaces and Web Groups have their own lifecycle model, and it would not be correct for standalone windows to be bound to them in a parent-child relationship.