diff --git a/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts b/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts index f18b07df8..98f8b76e0 100644 --- a/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts +++ b/arduino-ide-extension/src/electron-browser/theia/core/electron-main-menu-factory.ts @@ -8,6 +8,7 @@ import { } from '@theia/core/lib/common/menu'; import { ElectronMainMenuFactory as TheiaElectronMainMenuFactory, + ElectronMenuItemRole, ElectronMenuOptions, } from '@theia/core/lib/electron-browser/menu/electron-main-menu-factory'; import { @@ -123,6 +124,15 @@ export class ElectronMainMenuFactory extends TheiaElectronMainMenuFactory { return { label, submenu }; } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + protected override roleFor(id: string): ElectronMenuItemRole | undefined { + // MenuItem `roles` are completely broken on macOS: + // - https://github.com/eclipse-theia/theia/issues/11217, + // - https://github.com/arduino/arduino-ide/issues/969 + // IDE2 uses commands instead. + return undefined; + } + protected override handleElectronDefault( menuNode: CompositeMenuNode, args: any[] = [],