Skip to content

Commit 859d29d

Browse files
1 parent d298b3f commit 859d29d

File tree

80 files changed

+4307
-4428
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+4307
-4428
lines changed

.github/workflows/build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ jobs:
294294
SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe"
295295
WIN_CERT_PASSWORD: ${{ secrets[matrix.config.certificate-password-secret] }}
296296
WIN_CERT_CONTAINER_NAME: ${{ secrets[matrix.config.certificate-container] }}
297+
PUPPETEER_SKIP_DOWNLOAD: true
297298

298299
strategy:
299300
matrix:

arduino-ide-extension/package.json

+25-25
Original file line numberDiff line numberDiff line change
@@ -24,28 +24,29 @@
2424
},
2525
"dependencies": {
2626
"@grpc/grpc-js": "^1.8.14",
27-
"@theia/application-package": "1.41.0",
28-
"@theia/core": "1.41.0",
29-
"@theia/debug": "1.41.0",
30-
"@theia/editor": "1.41.0",
31-
"@theia/electron": "1.41.0",
32-
"@theia/filesystem": "1.41.0",
33-
"@theia/keymaps": "1.41.0",
34-
"@theia/markers": "1.41.0",
35-
"@theia/messages": "1.41.0",
36-
"@theia/monaco": "1.41.0",
37-
"@theia/monaco-editor-core": "1.72.3",
38-
"@theia/navigator": "1.41.0",
39-
"@theia/outline-view": "1.41.0",
40-
"@theia/output": "1.41.0",
41-
"@theia/plugin-ext": "1.41.0",
42-
"@theia/plugin-ext-vscode": "1.41.0",
43-
"@theia/preferences": "1.41.0",
44-
"@theia/scm": "1.41.0",
45-
"@theia/search-in-workspace": "1.41.0",
46-
"@theia/terminal": "1.41.0",
47-
"@theia/typehierarchy": "1.41.0",
48-
"@theia/workspace": "1.41.0",
27+
"@theia/application-package": "1.57.0",
28+
"@theia/core": "1.57.0",
29+
"@theia/debug": "1.57.0",
30+
"@theia/editor": "1.57.0",
31+
"@theia/electron": "1.57.0",
32+
"@theia/filesystem": "1.57.0",
33+
"@theia/keymaps": "1.57.0",
34+
"@theia/markers": "1.57.0",
35+
"@theia/messages": "1.57.0",
36+
"@theia/monaco": "1.57.0",
37+
"@theia/monaco-editor-core": "1.83.101",
38+
"@theia/navigator": "1.57.0",
39+
"@theia/outline-view": "1.57.0",
40+
"@theia/output": "1.57.0",
41+
"@theia/plugin-ext": "1.57.0",
42+
"@theia/plugin-ext-vscode": "1.57.0",
43+
"@theia/preferences": "1.57.0",
44+
"@theia/scm": "1.57.0",
45+
"@theia/search-in-workspace": "1.57.0",
46+
"@theia/terminal": "1.57.0",
47+
"@theia/test": "1.57.0",
48+
"@theia/typehierarchy": "1.57.0",
49+
"@theia/workspace": "1.57.0",
4950
"@tippyjs/react": "^4.2.5",
5051
"@types/auth0-js": "^9.21.3",
5152
"@types/btoa": "^1.2.3",
@@ -57,7 +58,6 @@
5758
"@types/node-fetch": "^2.5.7",
5859
"@types/p-queue": "^2.3.1",
5960
"@types/ps-tree": "^1.1.0",
60-
"@types/react-tabs": "^2.3.2",
6161
"@types/temp": "^0.8.34",
6262
"arduino-serial-plotter-webapp": "0.2.0",
6363
"async-mutex": "^0.3.0",
@@ -99,7 +99,7 @@
9999
"react-markdown": "^8.0.0",
100100
"react-perfect-scrollbar": "^1.5.8",
101101
"react-select": "^5.6.0",
102-
"react-tabs": "^3.1.2",
102+
"react-tabs": "^6.1.0",
103103
"react-window": "^1.8.6",
104104
"semver": "^7.3.2",
105105
"string-natural-compare": "^2.0.3",
@@ -126,7 +126,7 @@
126126
"mockdate": "^3.0.5",
127127
"moment": "^2.24.0",
128128
"ncp": "^2.0.0",
129-
"rimraf": "^2.6.1"
129+
"rimraf": "^5.0.0"
130130
},
131131
"optionalDependencies": {
132132
"@pingghost/protoc": "^1.0.2",

arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution';
22
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
33
import { CommonMenus } from '@theia/core/lib/browser/common-frontend-contribution';
4-
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
4+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
55
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
66
import {
77
TabBarToolbarContribution,

arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts

+10-81
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
import '../../src/browser/style/index.css';
2-
import {
3-
Container,
4-
ContainerModule,
5-
interfaces,
6-
} from '@theia/core/shared/inversify';
2+
import { Container, ContainerModule } from '@theia/core/shared/inversify';
73
import { WidgetFactory } from '@theia/core/lib/browser/widget-manager';
84
import { CommandContribution } from '@theia/core/lib/common/command';
95
import { bindViewContribution } from '@theia/core/lib/browser/shell/view-contribution';
106
import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
117
import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/ws-connection-provider';
12-
import {
13-
FrontendApplicationContribution,
14-
FrontendApplication as TheiaFrontendApplication,
15-
} from '@theia/core/lib/browser/frontend-application';
8+
import { FrontendApplication as TheiaFrontendApplication } from '@theia/core/lib/browser/frontend-application';
9+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
1610
import { LibraryListWidget } from './library/library-list-widget';
1711
import { ArduinoFrontendContribution } from './arduino-frontend-contribution';
1812
import {
@@ -57,8 +51,6 @@ import {
5751
DockPanelRenderer as TheiaDockPanelRenderer,
5852
TabBarRendererFactory,
5953
ContextMenuRenderer,
60-
createTreeContainer,
61-
TreeWidget,
6254
} from '@theia/core/lib/browser';
6355
import { MenuContribution } from '@theia/core/lib/common/menu';
6456
import {
@@ -97,7 +89,6 @@ import {
9789
ArduinoDaemonPath,
9890
ArduinoDaemon,
9991
} from '../common/protocol/arduino-daemon';
100-
import { EditorCommandContribution as TheiaEditorCommandContribution } from '@theia/editor/lib/browser';
10192
import {
10293
FrontendConnectionStatusService,
10394
ApplicationConnectionStatusContribution,
@@ -186,7 +177,6 @@ import {
186177
import { About } from './contributions/about';
187178
import { IconThemeService } from '@theia/core/lib/browser/icon-theme-service';
188179
import { TabBarRenderer } from './theia/core/tab-bars';
189-
import { EditorCommandContribution } from './theia/editor/editor-command';
190180
import { NavigatorTabBarDecorator as TheiaNavigatorTabBarDecorator } from '@theia/navigator/lib/browser/navigator-tab-bar-decorator';
191181
import { NavigatorTabBarDecorator } from './theia/navigator/navigator-tab-bar-decorator';
192182
import { Debug, DebugDisabledStatusMessageSource } from './contributions/debug';
@@ -275,7 +265,7 @@ import {
275265
IDEUpdaterDialog,
276266
IDEUpdaterDialogProps,
277267
} from './dialogs/ide-updater/ide-updater-dialog';
278-
import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-provider';
268+
import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-source';
279269
import { MonitorModel } from './monitor-model';
280270
import { MonitorManagerProxyClientImpl } from './monitor-manager-proxy-client-impl';
281271
import { EditorManager as TheiaEditorManager } from '@theia/editor/lib/browser/editor-manager';
@@ -295,10 +285,6 @@ import { PreferenceTreeGenerator } from './theia/preferences/preference-tree-gen
295285
import { PreferenceTreeGenerator as TheiaPreferenceTreeGenerator } from '@theia/preferences/lib/browser/util/preference-tree-generator';
296286
import { AboutDialog } from './theia/core/about-dialog';
297287
import { AboutDialog as TheiaAboutDialog } from '@theia/core/lib/browser/about-dialog';
298-
import {
299-
SurveyNotificationService,
300-
SurveyNotificationServicePath,
301-
} from '../common/protocol/survey-service';
302288
import { WindowContribution } from './theia/core/window-contribution';
303289
import { WindowContribution as TheiaWindowContribution } from '@theia/core/lib/browser/window-contribution';
304290
import { CoreErrorHandler } from './contributions/core-error-handler';
@@ -381,19 +367,13 @@ import { DebugSessionWidget } from '@theia/debug/lib/browser/view/debug-session-
381367
import { DebugConfigurationWidget } from './theia/debug/debug-configuration-widget';
382368
import { DebugConfigurationWidget as TheiaDebugConfigurationWidget } from '@theia/debug/lib/browser/view/debug-configuration-widget';
383369
import { DebugToolBar } from '@theia/debug/lib/browser/view/debug-toolbar-widget';
384-
import {
385-
PluginTree,
386-
PluginTreeModel,
387-
TreeViewWidgetOptions,
388-
VIEW_ITEM_CONTEXT_MENU,
389-
} from '@theia/plugin-ext/lib/main/browser/view/tree-view-widget';
390-
import { TreeViewDecoratorService } from '@theia/plugin-ext/lib/main/browser/view/tree-view-decorator-service';
391-
import { PLUGIN_VIEW_DATA_FACTORY_ID } from '@theia/plugin-ext/lib/main/browser/view/plugin-view-registry';
392-
import { TreeViewWidget } from './theia/plugin-ext/tree-view-widget';
370+
393371
import {
394372
VersionWelcomeDialog,
395373
VersionWelcomeDialogProps,
396374
} from './dialogs/version-welcome-dialog';
375+
import { TestViewContribution as TheiaTestViewContribution } from '@theia/test/lib/browser/view/test-view-contribution';
376+
import { TestViewContribution } from './theia/test/test-view-contribution';
397377

398378
// Hack to fix copy/cut/paste issue after electron version update in Theia.
399379
// https://github.com/eclipse-theia/theia/issues/12487
@@ -574,15 +554,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
574554
WorkspaceVariableContribution
575555
);
576556

577-
bind(SurveyNotificationService)
578-
.toDynamicValue((context) => {
579-
return ElectronIpcConnectionProvider.createProxy(
580-
context.container,
581-
SurveyNotificationServicePath
582-
);
583-
})
584-
.inSingletonScope();
585-
586557
// Layout and shell customizations.
587558
rebind(TheiaOutlineViewContribution)
588559
.to(OutlineViewContribution)
@@ -856,13 +827,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
856827
);
857828
});
858829

859-
// Workaround for https://github.com/eclipse-theia/theia/issues/8722
860-
// Do not trigger a save on IDE startup if `"editor.autoSave": "on"` was set as a preference.
861-
// Note: `"editor.autoSave" was renamed to `"files.autoSave" and `"on"` was replaced with three
862-
// different cases, but we treat `!== 'off'` as auto save enabled. (https://github.com/eclipse-theia/theia/issues/10812)
863-
bind(EditorCommandContribution).toSelf().inSingletonScope();
864-
rebind(TheiaEditorCommandContribution).toService(EditorCommandContribution);
865-
866830
// Silent the badge decoration in the Explorer view.
867831
bind(NavigatorTabBarDecorator).toSelf().inSingletonScope();
868832
rebind(TheiaNavigatorTabBarDecorator).toService(NavigatorTabBarDecorator);
@@ -1112,42 +1076,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
11121076
TerminalFrontendContribution
11131077
);
11141078

1115-
bindViewsWelcome_TheiaGH14309({ bind, widget: TreeViewWidget });
1079+
// Hides the Test Explorer from the side-bar
1080+
bind(TestViewContribution).toSelf().inSingletonScope();
1081+
rebind(TheiaTestViewContribution).toService(TestViewContribution);
11161082
});
1117-
1118-
// Align the viewsWelcome rendering with VS Code (https://github.com/eclipse-theia/theia/issues/14309)
1119-
// Copied from Theia code but with customized TreeViewWidget with the customized viewsWelcome rendering
1120-
// https://github.com/eclipse-theia/theia/blob/0c5f69455d9ee355b1a7ca510ffa63d2b20f0c77/packages/plugin-ext/src/main/browser/plugin-ext-frontend-module.ts#L159-L181
1121-
function bindViewsWelcome_TheiaGH14309({
1122-
bind,
1123-
widget,
1124-
}: {
1125-
bind: interfaces.Bind;
1126-
widget: interfaces.Newable<TreeWidget>;
1127-
}) {
1128-
bind(WidgetFactory)
1129-
.toDynamicValue(({ container }) => ({
1130-
id: PLUGIN_VIEW_DATA_FACTORY_ID,
1131-
createWidget: (options: TreeViewWidgetOptions) => {
1132-
const props = {
1133-
contextMenuPath: VIEW_ITEM_CONTEXT_MENU,
1134-
expandOnlyOnExpansionToggleClick: true,
1135-
expansionTogglePadding: 22,
1136-
globalSelection: true,
1137-
leftPadding: 8,
1138-
search: true,
1139-
multiSelect: options.multiSelect,
1140-
};
1141-
const child = createTreeContainer(container, {
1142-
props,
1143-
tree: PluginTree,
1144-
model: PluginTreeModel,
1145-
widget,
1146-
decoratorService: TreeViewDecoratorService,
1147-
});
1148-
child.bind(TreeViewWidgetOptions).toConstantValue(options);
1149-
return child.get(TreeWidget);
1150-
},
1151-
}))
1152-
.inSingletonScope();
1153-
}

arduino-ide-extension/src/browser/arduino-preferences.ts

-9
Original file line numberDiff line numberDiff line change
@@ -280,14 +280,6 @@ const properties: ArduinoPreferenceSchemaProperties = {
280280
),
281281
default: 'https://auth.arduino.cc/login#/register',
282282
},
283-
'arduino.survey.notification': {
284-
type: 'boolean',
285-
description: nls.localize(
286-
'arduino/preferences/survey.notification',
287-
'True if users should be notified if a survey is available. True by default.'
288-
),
289-
default: true,
290-
},
291283
'arduino.cli.daemon.debug': {
292284
type: 'boolean',
293285
description: nls.localize(
@@ -355,7 +347,6 @@ export interface ArduinoConfiguration {
355347
'arduino.auth.domain': string;
356348
'arduino.auth.audience': string;
357349
'arduino.auth.registerUri': string;
358-
'arduino.survey.notification': boolean;
359350
'arduino.cli.daemon.debug': boolean;
360351
'arduino.sketch.inoBlueprint': string;
361352
'arduino.checkForUpdates': boolean;

arduino-ide-extension/src/browser/auth/authentication-client-service.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Emitter } from '@theia/core/lib/common/event';
33
import { JsonRpcProxy } from '@theia/core/lib/common/messaging/proxy-factory';
44
import { WindowService } from '@theia/core/lib/browser/window/window-service';
55
import { DisposableCollection } from '@theia/core/lib/common/disposable';
6-
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
6+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
77
import {
88
CommandRegistry,
99
CommandContribution,

arduino-ide-extension/src/browser/boards/boards-auto-installer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
1+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
22
import { DisposableCollection } from '@theia/core/lib/common/disposable';
33
import { MessageService } from '@theia/core/lib/common/message-service';
44
import { MessageType } from '@theia/core/lib/common/message-service-protocol';

arduino-ide-extension/src/browser/boards/boards-config-dialog.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ export class BoardsConfigDialog extends ReactDialog<BoardsConfigDialogState> {
9898
}
9999

100100
override async open(
101+
disposeOnResolve = true,
101102
params?: EditBoardsConfigActionParams
102103
): Promise<BoardsConfig | undefined> {
103104
this._searchSet = undefined;
@@ -119,7 +120,7 @@ export class BoardsConfigDialog extends ReactDialog<BoardsConfigDialogState> {
119120
this._searchSet = params.searchSet.slice();
120121
}
121122
}
122-
return super.open();
123+
return super.open(disposeOnResolve);
123124
}
124125

125126
protected override onAfterAttach(msg: Message): void {

arduino-ide-extension/src/browser/boards/boards-data-store.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
1+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
22
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
33
import { StorageService } from '@theia/core/lib/browser/storage-service';
44
import type {

arduino-ide-extension/src/browser/boards/boards-service-provider.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
1+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
22
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
33
import { StorageService } from '@theia/core/lib/browser/storage-service';
44
import {

arduino-ide-extension/src/browser/config/config-service-client.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
1+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
22
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
33
import { DisposableCollection } from '@theia/core/lib/common/disposable';
44
import { Emitter, Event } from '@theia/core/lib/common/event';

arduino-ide-extension/src/browser/contributions/check-for-ide-updates.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export class CheckForIDEUpdates extends Contribution {
7070
SKIP_IDE_VERSION
7171
);
7272
if (versionToSkip === updateInfo.version) return;
73-
this.updaterDialog.open(updateInfo);
73+
this.updaterDialog.open(true, updateInfo);
7474
})
7575
.catch((e) => {
7676
this.messageService.error(

arduino-ide-extension/src/browser/contributions/close.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { Dialog } from '@theia/core/lib/browser/dialogs';
2-
import type {
3-
FrontendApplication,
4-
OnWillStopAction,
5-
} from '@theia/core/lib/browser/frontend-application';
2+
import type { FrontendApplication } from '@theia/core/lib/browser/frontend-application';
3+
import type { OnWillStopAction } from '@theia/core/lib/browser/frontend-application-contribution';
64
import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell';
75
import { nls } from '@theia/core/lib/common/nls';
86
import type { MaybePromise } from '@theia/core/lib/common/types';

arduino-ide-extension/src/browser/contributions/compiler-errors.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ export class CompilerErrors
779779
return undefined;
780780
} else {
781781
return this.editorManager
782-
.getByUri(new URI(uriOrWidget))
782+
.getByUri(new URI(uriOrWidget.toString()))
783783
.then((editor) => {
784784
if (editor) {
785785
return this.monacoEditor(editor);

arduino-ide-extension/src/browser/contributions/contribution.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
2-
import {
3-
FrontendApplication,
4-
FrontendApplicationContribution,
5-
} from '@theia/core/lib/browser/frontend-application';
2+
import { FrontendApplication } from '@theia/core/lib/browser/frontend-application';
3+
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application-contribution';
64
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
75
import {
86
KeybindingContribution,

0 commit comments

Comments
 (0)