Skip to content

Commit 2d330a1

Browse files
author
Akos Kitta
committed
Merge branch 'main' into theia-1.37.0-next
Signed-off-by: Akos Kitta <[email protected]>
2 parents 6adde6b + e6828f8 commit 2d330a1

File tree

3 files changed

+29
-5
lines changed

3 files changed

+29
-5
lines changed

Diff for: arduino-ide-extension/src/browser/create/create-features.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ import { AuthenticationSession } from '../../common/protocol/authentication-serv
88
import { ArduinoPreferences } from '../arduino-preferences';
99
import { AuthenticationClientService } from '../auth/authentication-client-service';
1010
import { LocalCacheFsProvider } from '../local-cache/local-cache-fs-provider';
11+
import {
12+
ARDUINO_CLOUD_FOLDER,
13+
REMOTE_SKETCHBOOK_FOLDER,
14+
} from '../utils/constants';
1115
import { CreateUri } from './create-uri';
1216

1317
export type CloudSketchState = 'push' | 'pull';
@@ -128,8 +132,8 @@ export class CreateFeatures implements FrontendApplicationContribution {
128132
return undefined;
129133
}
130134
return dataDirUri
131-
.resolve('RemoteSketchbook')
132-
.resolve('ArduinoCloud')
135+
.resolve(REMOTE_SKETCHBOOK_FOLDER)
136+
.resolve(ARDUINO_CLOUD_FOLDER)
133137
.isEqualOrParent(new URI(sketch.uri));
134138
}
135139

Diff for: arduino-ide-extension/src/browser/local-cache/local-cache-fs-provider.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ import {
1616
import { AuthenticationClientService } from '../auth/authentication-client-service';
1717
import { AuthenticationSession } from '../../common/protocol/authentication-service';
1818
import { ConfigService } from '../../common/protocol';
19+
import {
20+
ARDUINO_CLOUD_FOLDER,
21+
REMOTE_SKETCHBOOK_FOLDER,
22+
} from '../utils/constants';
1923

2024
export namespace LocalCacheUri {
2125
export const scheme = 'arduino-local-cache';
@@ -107,7 +111,7 @@ export class LocalCacheFsProvider
107111
return;
108112
}
109113
this._localCacheRoot = localCacheUri;
110-
for (const segment of ['RemoteSketchbook', 'ArduinoCloud']) {
114+
for (const segment of [REMOTE_SKETCHBOOK_FOLDER, ARDUINO_CLOUD_FOLDER]) {
111115
this._localCacheRoot = this._localCacheRoot.resolve(segment);
112116
await fileService.createFolder(this._localCacheRoot);
113117
}

Diff for: arduino-ide-extension/src/browser/theia/markers/problem-manager.ts

+18-2
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,43 @@ import { Marker } from '@theia/markers/lib/common/marker';
99
import { ProblemManager as TheiaProblemManager } from '@theia/markers/lib/browser/problem/problem-manager';
1010
import { ConfigServiceClient } from '../../config/config-service-client';
1111
import debounce from 'lodash.debounce';
12+
import {
13+
ARDUINO_CLOUD_FOLDER,
14+
REMOTE_SKETCHBOOK_FOLDER,
15+
} from '../../utils/constants';
1216

1317
@injectable()
1418
export class ProblemManager extends TheiaProblemManager {
1519
@inject(ConfigServiceClient)
1620
private readonly configService: ConfigServiceClient;
1721

1822
private dataDirUri: URI | undefined;
23+
private cloudCacheDirUri: URI | undefined;
1924

2025
@postConstruct()
2126
protected override init(): void {
2227
super.init();
2328
this.dataDirUri = this.configService.tryGetDataDirUri();
24-
this.configService.onDidChangeDataDirUri((uri) => (this.dataDirUri = uri));
29+
this.configService.onDidChangeDataDirUri((uri) => {
30+
this.dataDirUri = uri;
31+
this.cloudCacheDirUri = this.dataDirUri
32+
?.resolve(REMOTE_SKETCHBOOK_FOLDER)
33+
.resolve(ARDUINO_CLOUD_FOLDER);
34+
});
2535
}
2636

2737
override setMarkers(
2838
uri: URI,
2939
owner: string,
3040
data: Diagnostic[]
3141
): Marker<Diagnostic>[] {
32-
if (this.dataDirUri && this.dataDirUri.isEqualOrParent(uri)) {
42+
if (
43+
this.dataDirUri &&
44+
this.dataDirUri.isEqualOrParent(uri) &&
45+
this.cloudCacheDirUri && // Do not disable the diagnostics for cloud sketches https://github.com/arduino/arduino-ide/issues/669
46+
!this.cloudCacheDirUri.isEqualOrParent(uri)
47+
) {
48+
// If in directories.data folder but not in the cloud sketchbook cache folder.
3349
return [];
3450
}
3551
return super.setMarkers(uri, owner, data);

0 commit comments

Comments
 (0)