diff --git a/tabby-core/src/services/profiles.service.ts b/tabby-core/src/services/profiles.service.ts index 2645ca3d..b7277dee 100644 --- a/tabby-core/src/services/profiles.service.ts +++ b/tabby-core/src/services/profiles.service.ts @@ -143,8 +143,8 @@ export class ProfilesService { * Delete all Profiles from config using option filter * arg: options { group: string } -> options used to filter which profile have to be deleted */ - async deleteBulkProfiles (options: { group: string }): Promise { - for (const profile of this.config.store.profiles.filter(p => p.group === options.group)) { + async deleteBulkProfiles (filter: (p: PartialProfile) => boolean): Promise { + for (const profile of this.config.store.profiles.filter(filter)) { this.providerForProfile(profile)?.deleteProfile(this.getConfigProxyForProfile(profile)) const profileHotkeyName = ProfilesService.getProfileHotkeyName(profile) @@ -156,7 +156,7 @@ export class ProfilesService { } } - this.config.store.profiles = this.config.store.profiles.filter(p => p.group !== options.group) + this.config.store.profiles = this.config.store.profiles.filter(!filter) } async openNewTabForProfile

(profile: PartialProfile

): Promise { @@ -480,7 +480,7 @@ export class ProfilesService { async deleteProfileGroup (group: PartialProfileGroup, options?: { deleteProfiles?: boolean }): Promise { this.config.store.groups = this.config.store.groups.filter(g => g.id !== group.id) if (options?.deleteProfiles) { - await this.deleteBulkProfiles({ group: group.id }) + await this.deleteBulkProfiles((p) => p.group === group.id) } else { for (const profile of this.config.store.profiles.filter(x => x.group === group.id)) { delete profile.group