Skip to content

Commit eabf6b5

Browse files
authored
feat: upgrade opensumi (#163)
1 parent fe009bd commit eabf6b5

File tree

16 files changed

+828
-729
lines changed

16 files changed

+828
-729
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"description": "codeblitzjs",
99
"main": "index.js",
1010
"engines": {
11-
"opensumi": "3.2.5-next-1724743242.0"
11+
"opensumi": "3.3.1"
1212
},
1313
"scripts": {
1414
"prepare": "husky install",

packages/cli/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
"opensumi codeblitzjs"
1111
],
1212
"engines": {
13-
"opensumi": "3.2.5-next-1724743242.0",
13+
"opensumi": "3.3.1",
1414
"node": ">=10.0.0"
1515
},
1616
"dependencies": {
1717
"@codeblitzjs/ide-common": "workspace:*",
1818
"@opensumi/extension-installer": "^0.0.1",
19-
"@opensumi/ide-extension": "3.2.5-next-1724743242.0",
19+
"@opensumi/ide-extension": "3.3.1",
2020
"commander": "^7.2.0",
2121
"fs-extra": "^9.0.1",
2222
"lodash.pick": "^4.4.0",

packages/core/package.json

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -33,48 +33,48 @@
3333
"@codeblitzjs/ide-plugin": "workspace:*",
3434
"@codeblitzjs/ide-registry": "workspace:*",
3535
"@codeblitzjs/ide-sumi-core": "workspace:*",
36-
"@opensumi/ide-addons": "3.2.5-next-1724743242.0",
37-
"@opensumi/ide-ai-native": "3.2.5-next-1724743242.0",
38-
"@opensumi/ide-comments": "3.2.5-next-1724743242.0",
39-
"@opensumi/ide-core-browser": "3.2.5-next-1724743242.0",
40-
"@opensumi/ide-core-common": "3.2.5-next-1724743242.0",
41-
"@opensumi/ide-debug": "3.2.5-next-1724743242.0",
42-
"@opensumi/ide-decoration": "3.2.5-next-1724743242.0",
43-
"@opensumi/ide-design": "3.2.5-next-1724743242.0",
44-
"@opensumi/ide-editor": "3.2.5-next-1724743242.0",
45-
"@opensumi/ide-explorer": "3.2.5-next-1724743242.0",
46-
"@opensumi/ide-express-file-server": "3.2.5-next-1724743242.0",
47-
"@opensumi/ide-extension": "3.2.5-next-1724743242.0",
48-
"@opensumi/ide-extension-storage": "3.2.5-next-1724743242.0",
49-
"@opensumi/ide-file-scheme": "3.2.5-next-1724743242.0",
50-
"@opensumi/ide-file-service": "3.2.5-next-1724743242.0",
51-
"@opensumi/ide-file-tree-next": "3.2.5-next-1724743242.0",
52-
"@opensumi/ide-i18n": "3.2.5-next-1724743242.0",
53-
"@opensumi/ide-keymaps": "3.2.5-next-1724743242.0",
54-
"@opensumi/ide-logs": "3.2.5-next-1724743242.0",
55-
"@opensumi/ide-main-layout": "3.2.5-next-1724743242.0",
56-
"@opensumi/ide-markdown": "3.2.5-next-1724743242.0",
57-
"@opensumi/ide-markers": "3.2.5-next-1724743242.0",
58-
"@opensumi/ide-menu-bar": "3.2.5-next-1724743242.0",
59-
"@opensumi/ide-monaco": "3.2.5-next-1724743242.0",
60-
"@opensumi/ide-monaco-enhance": "3.2.5-next-1724743242.0",
61-
"@opensumi/ide-opened-editor": "3.2.5-next-1724743242.0",
62-
"@opensumi/ide-outline": "3.2.5-next-1724743242.0",
63-
"@opensumi/ide-output": "3.2.5-next-1724743242.0",
64-
"@opensumi/ide-overlay": "3.2.5-next-1724743242.0",
65-
"@opensumi/ide-preferences": "3.2.5-next-1724743242.0",
66-
"@opensumi/ide-quick-open": "3.2.5-next-1724743242.0",
67-
"@opensumi/ide-scm": "3.2.5-next-1724743242.0",
68-
"@opensumi/ide-search": "3.2.5-next-1724743242.0",
69-
"@opensumi/ide-status-bar": "3.2.5-next-1724743242.0",
70-
"@opensumi/ide-storage": "3.2.5-next-1724743242.0",
71-
"@opensumi/ide-testing": "3.2.5-next-1724743242.0",
72-
"@opensumi/ide-theme": "3.2.5-next-1724743242.0",
73-
"@opensumi/ide-toolbar": "3.2.5-next-1724743242.0",
74-
"@opensumi/ide-variable": "3.2.5-next-1724743242.0",
75-
"@opensumi/ide-webview": "3.2.5-next-1724743242.0",
76-
"@opensumi/ide-workspace": "3.2.5-next-1724743242.0",
77-
"@opensumi/ide-workspace-edit": "3.2.5-next-1724743242.0",
36+
"@opensumi/ide-addons": "3.3.1",
37+
"@opensumi/ide-ai-native": "3.3.1",
38+
"@opensumi/ide-comments": "3.3.1",
39+
"@opensumi/ide-core-browser": "3.3.1",
40+
"@opensumi/ide-core-common": "3.3.1",
41+
"@opensumi/ide-debug": "3.3.1",
42+
"@opensumi/ide-decoration": "3.3.1",
43+
"@opensumi/ide-design": "3.3.1",
44+
"@opensumi/ide-editor": "3.3.1",
45+
"@opensumi/ide-explorer": "3.3.1",
46+
"@opensumi/ide-express-file-server": "3.3.1",
47+
"@opensumi/ide-extension": "3.3.1",
48+
"@opensumi/ide-extension-storage": "3.3.1",
49+
"@opensumi/ide-file-scheme": "3.3.1",
50+
"@opensumi/ide-file-service": "3.3.1",
51+
"@opensumi/ide-file-tree-next": "3.3.1",
52+
"@opensumi/ide-i18n": "3.3.1",
53+
"@opensumi/ide-keymaps": "3.3.1",
54+
"@opensumi/ide-logs": "3.3.1",
55+
"@opensumi/ide-main-layout": "3.3.1",
56+
"@opensumi/ide-markdown": "3.3.1",
57+
"@opensumi/ide-markers": "3.3.1",
58+
"@opensumi/ide-menu-bar": "3.3.1",
59+
"@opensumi/ide-monaco": "3.3.1",
60+
"@opensumi/ide-monaco-enhance": "3.3.1",
61+
"@opensumi/ide-opened-editor": "3.3.1",
62+
"@opensumi/ide-outline": "3.3.1",
63+
"@opensumi/ide-output": "3.3.1",
64+
"@opensumi/ide-overlay": "3.3.1",
65+
"@opensumi/ide-preferences": "3.3.1",
66+
"@opensumi/ide-quick-open": "3.3.1",
67+
"@opensumi/ide-scm": "3.3.1",
68+
"@opensumi/ide-search": "3.3.1",
69+
"@opensumi/ide-status-bar": "3.3.1",
70+
"@opensumi/ide-storage": "3.3.1",
71+
"@opensumi/ide-testing": "3.3.1",
72+
"@opensumi/ide-theme": "3.3.1",
73+
"@opensumi/ide-toolbar": "3.3.1",
74+
"@opensumi/ide-variable": "3.3.1",
75+
"@opensumi/ide-webview": "3.3.1",
76+
"@opensumi/ide-workspace": "3.3.1",
77+
"@opensumi/ide-workspace-edit": "3.3.1",
7878
"@opensumi/textmate-languages": "^2.7.0",
7979
"tslib": "^2.2.0"
8080
},

packages/core/src/api/renderDiffViewer.tsx

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@ import { deletionLogPath } from '@codeblitzjs/ide-browserfs/lib/backend/OverlayF
22
import { Injector } from '@opensumi/di';
33
import {
44
FILES_DEFAULTS,
5+
GeneralSettingsId,
56
ModuleConstructor,
67
randomString,
8+
registerLocalStorageProvider,
79
SlotLocation,
810
SlotRenderer,
911
} from '@opensumi/ide-core-browser';
1012
import merge from 'lodash/merge';
11-
import React from 'react';
13+
import React, { useEffect } from 'react';
1214
import { IDiffViewerProps } from '../core/diff-viewer';
1315
import { DiffViewerModule } from '../core/diff-viewer/module';
1416
import { BoxPanel, SplitPanel } from '../editor';
1517
import { AppRenderer, IAppRendererProps } from './renderApp';
1618
import '../core/diff-viewer/languages-patch';
1719
import { RuntimeConfig } from '@codeblitzjs/ide-sumi-core';
1820
import { extensionMetadata } from '../core/diff-viewer/extension-patch';
21+
import { useConstant } from '../core/hooks';
1922

2023
export { IDiffViewerProps } from '../core/diff-viewer/common';
2124
export type { IDiffViewerHandle, IDiffViewerTab, IExtendPartialEditEvent } from '../core/diff-viewer/common';
@@ -89,6 +92,19 @@ export const DiffViewerRenderer = (props: IDiffViewerProps) => {
8992
const layoutComponent = appConfig?.layoutComponent || DiffViewerLayoutComponent;
9093
delete appConfig?.layoutComponent;
9194

95+
useEffect(() => {
96+
const prefix = randomString(8);
97+
registerLocalStorageProvider(GeneralSettingsId.Theme, workspaceDir, prefix);
98+
return () => {
99+
for (var i = 0; i < localStorage.length; i++) {
100+
const key = localStorage.key(i)!;
101+
if (key.startsWith(prefix)) {
102+
localStorage.removeItem(key);
103+
}
104+
}
105+
};
106+
}, []);
107+
92108
const diffViewerAppConfig: IAppRendererProps = merge<IAppRendererProps, Partial<IAppRendererProps>>({
93109
appConfig: {
94110
modules: appModules,
@@ -120,9 +136,9 @@ export const DiffViewerRenderer = (props: IDiffViewerProps) => {
120136
},
121137
runtimeConfig: ({
122138
aiNative: {
123-
enable: true,
139+
enable: false,
124140
capabilities: {
125-
supportsInlineChat: true,
141+
supportsInlineChat: false,
126142
},
127143
},
128144
startupEditor: 'none',

packages/core/src/core/diff-viewer/common.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,4 +129,6 @@ export interface IDiffViewerProps extends Partial<IOverrideAppRendererProps> {
129129

130130
onWillApplyTheme?: (theme: ITheme) => Record<string, string | undefined>;
131131
tabBarRightExtraContent?: IExtraContent;
132+
133+
isolatePreference?: boolean;
132134
}

packages/core/src/core/diff-viewer/internal/theme.provider.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Autowired } from '@opensumi/di';
2-
import { PreferenceProvider } from '@opensumi/ide-core-browser';
2+
import { ClientAppContribution, PreferenceProvider } from '@opensumi/ide-core-browser';
33
import { Domain, GeneralSettingsId, PreferenceScope } from '@opensumi/ide-core-common';
44
import { ITheme, ThemeContributionProvider } from '@opensumi/ide-theme';
55
import { IThemeService } from '@opensumi/ide-theme';
66
import { IDiffViewerProps } from '../common';
77

8-
@Domain(ThemeContributionProvider)
9-
export class DiffViewerThemeProvider implements ThemeContributionProvider {
8+
@Domain(ThemeContributionProvider, ClientAppContribution)
9+
export class DiffViewerThemeProvider implements ThemeContributionProvider, ClientAppContribution {
1010
@Autowired(IDiffViewerProps)
1111
protected diffViewerProps: IDiffViewerProps;
1212

@@ -16,7 +16,7 @@ export class DiffViewerThemeProvider implements ThemeContributionProvider {
1616
@Autowired(PreferenceProvider, { tag: PreferenceScope.Default })
1717
protected readonly defaultPreferenceProvider: PreferenceProvider;
1818

19-
async onDidStart() {
19+
async onStart() {
2020
// 强制用集成设置的默认主题
2121
await this.themeService.applyTheme(
2222
this.defaultPreferenceProvider.get(GeneralSettingsId.Theme) as string,

packages/core/src/core/editor/editor.module.ts

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import {
33
BrowserFS,
44
FileSystemContribution,
55
FileSystemInstance,
6-
getExtensionPath,
76
RuntimeConfig,
87
SCM_ROOT,
98
} from '@codeblitzjs/ide-sumi-core';
@@ -21,7 +20,6 @@ import {
2120
KeybindingContribution,
2221
KeybindingRegistry,
2322
KeybindingRegistryImpl,
24-
MonacoContribution,
2523
MonacoService,
2624
PreferenceProvider,
2725
PreferenceScope,
@@ -31,7 +29,7 @@ import {
3129
} from '@opensumi/ide-core-browser';
3230
import { LayoutViewSizeConfig } from '@opensumi/ide-core-browser/lib/layout/constants';
3331
import { RawContextKey } from '@opensumi/ide-core-browser/lib/raw-context-key';
34-
import { GeneralSettingsId, uuid } from '@opensumi/ide-core-common';
32+
import { uuid } from '@opensumi/ide-core-common';
3533
import {
3634
BrowserEditorContribution,
3735
EditorCollectionService,
@@ -46,7 +44,7 @@ import { IBreadCrumbService } from '@opensumi/ide-editor/lib/browser/types';
4644
import { ICodeEditor } from '@opensumi/ide-editor/lib/common';
4745
import { FileSchemeDocumentProvider } from '@opensumi/ide-file-scheme/lib/browser/file-doc';
4846
import * as monaco from '@opensumi/ide-monaco';
49-
import { ICSSStyleService, IThemeService } from '@opensumi/ide-theme';
47+
import { ICSSStyleService } from '@opensumi/ide-theme';
5048
import { FindController } from '@opensumi/monaco-editor-core/esm/vs/editor/contrib/find/browser/findController';
5149
import { FindWidget } from '@opensumi/monaco-editor-core/esm/vs/editor/contrib/find/browser/findWidget';
5250
import { ContextKeyDefinedExpr } from '@opensumi/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey';
@@ -59,10 +57,10 @@ import { IWorkspaceService } from '@opensumi/ide-workspace';
5957
import md5 from 'md5';
6058
import * as path from 'path';
6159
import { CodeBlitzCommandContribution } from '../commands';
62-
import { IDETheme } from '../extension/metadata';
6360
import { IPropsService } from '../props.service';
6461
import styles from '../style.module.less';
6562
import { CodeDocumentModel, EditorProps, isCodeDocumentModel } from './types';
63+
import { DefaultThemeGuardContribution } from '../providers';
6664

6765
const ContextTrue = new RawContextKey('alex.context.true', undefined);
6866
const ContextFalse = new RawContextKey('alex.context.false', undefined);
@@ -132,26 +130,6 @@ class FoldersPreferenceProvider extends PreferenceProvider {
132130
}
133131
}
134132

135-
@Domain(ClientAppContribution)
136-
class ThemeContribution extends Disposable implements ClientAppContribution {
137-
@Autowired(IThemeService)
138-
private readonly themeService: IThemeService;
139-
140-
@Autowired(PreferenceProvider, { tag: PreferenceScope.Default })
141-
protected readonly defaultPreferenceProvider: PreferenceProvider;
142-
143-
async initialize() {
144-
this.themeService.registerThemes(
145-
IDETheme.packageJSON.contributes!.themes,
146-
URI.parse(getExtensionPath(IDETheme.extension, 'public')),
147-
);
148-
// 强制用集成设置的默认主题
149-
await this.themeService.applyTheme(
150-
this.defaultPreferenceProvider.get(GeneralSettingsId.Theme) as string,
151-
);
152-
}
153-
}
154-
155133
/**
156134
* 获取 history 跳转时机,由外部控制
157135
*/
@@ -759,7 +737,7 @@ export class EditorSpecialModule extends BrowserModule {
759737
useClass: EditorHistoryServiceOverride,
760738
override: true,
761739
},
762-
ThemeContribution,
740+
DefaultThemeGuardContribution,
763741
EditorSpecialContribution,
764742
CodeBlitzCommandContribution,
765743
];
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import {
2+
getExtensionPath,
3+
} from '@codeblitzjs/ide-sumi-core';
4+
import { Autowired } from '@opensumi/di';
5+
import {
6+
ClientAppContribution,
7+
Disposable,
8+
Domain,
9+
IClientApp,
10+
PreferenceProvider,
11+
PreferenceScope,
12+
URI,
13+
} from '@opensumi/ide-core-browser';
14+
import { GeneralSettingsId, MaybePromise } from '@opensumi/ide-core-common';
15+
import { IThemeService } from '@opensumi/ide-theme';
16+
17+
import { IDETheme } from '../extension/metadata';
18+
19+
@Domain(ClientAppContribution)
20+
export class DefaultThemeGuardContribution extends Disposable implements ClientAppContribution {
21+
@Autowired(IThemeService)
22+
private readonly themeService: IThemeService;
23+
24+
@Autowired(PreferenceProvider, { tag: PreferenceScope.Default })
25+
protected readonly defaultPreferenceProvider: PreferenceProvider;
26+
27+
async initialize() {
28+
this.themeService.registerThemes(
29+
IDETheme.packageJSON.contributes!.themes,
30+
URI.parse(getExtensionPath(IDETheme.extension, 'public')),
31+
);
32+
}
33+
34+
async onStart(app: IClientApp): Promise<void> {
35+
// 强制用集成设置的默认主题
36+
await this.themeService.applyTheme(
37+
this.defaultPreferenceProvider.get(GeneralSettingsId.Theme) as string,
38+
);
39+
}
40+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './default-theme.provider';

0 commit comments

Comments
 (0)