a15de34545
Plugins deleting profiles via `cli.exec ['profile','delete',…]` bypass the Electron-side DELETE /api/profiles interception (prepareProfileDeleteRequest), so a live pool backend — e.g. one the roster's hover pre-warm just woke — holds the profile dir open and the renderer's reconnect respawns it mid-delete, recreating the directory (#52279). Bot Mode's right-click Delete hits this every time because right-click hovers the row first. Add host.deleteProfile(name) to the plugin SDK: routes through the same teardown-routed REST path core's DeleteProfileDialog uses (backend teardown first, next request routed away), rejects on 'default', and re-homes the app to the default profile when the deleted profile was the live gateway's — mirroring the core dialog's ordering. Reported by @BkashJosi (Bot Mode: deleting a bot errors while its session is awake).