@opensumi/ide-terminal-next 3.1.4-next-1719380894.0 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/node/pty.manager.d.ts +2 -1
- package/lib/node/pty.manager.d.ts.map +1 -1
- package/lib/node/pty.manager.js +3 -0
- package/lib/node/pty.manager.js.map +1 -1
- package/lib/node/pty.manager.remote.d.ts.map +1 -1
- package/lib/node/pty.manager.remote.js +2 -6
- package/lib/node/pty.manager.remote.js.map +1 -1
- package/lib/node/terminal.service.client.js +1 -1
- package/lib/node/terminal.service.client.js.map +1 -1
- package/lib/node/terminal.service.d.ts.map +1 -1
- package/lib/node/terminal.service.js +4 -10
- package/lib/node/terminal.service.js.map +1 -1
- package/package.json +16 -16
- package/src/node/pty.manager.remote.ts +2 -5
- package/src/node/pty.manager.ts +4 -1
- package/src/node/terminal.service.client.ts +1 -1
- package/src/node/terminal.service.ts +5 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pty from 'node-pty';
|
|
2
|
-
import { INodeLogger } from '@opensumi/ide-core-node';
|
|
2
|
+
import { Deferred, INodeLogger } from '@opensumi/ide-core-node';
|
|
3
3
|
import { IPtyProcessProxy, IPtyProxyRPCService, IPtySpawnOptions } from '../common';
|
|
4
4
|
export declare const PtyServiceManagerToken: unique symbol;
|
|
5
5
|
/**
|
|
@@ -28,6 +28,7 @@ export declare class PtyServiceManager implements IPtyServiceManager {
|
|
|
28
28
|
protected callId: number;
|
|
29
29
|
protected callbackMap: Map<number, (...args: any[]) => void>;
|
|
30
30
|
protected ptyServiceProxy: IPtyProxyRPCService;
|
|
31
|
+
protected ptyServiceProxyDeferred: Deferred<unknown>;
|
|
31
32
|
protected logger: INodeLogger;
|
|
32
33
|
constructor();
|
|
33
34
|
protected initLocal(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pty.manager.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":"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"}
|
package/lib/node/pty.manager.js
CHANGED
|
@@ -17,6 +17,7 @@ let PtyServiceManager = class PtyServiceManager {
|
|
|
17
17
|
constructor() {
|
|
18
18
|
this.callId = 0;
|
|
19
19
|
this.callbackMap = new Map();
|
|
20
|
+
this.ptyServiceProxyDeferred = new ide_core_node_1.Deferred();
|
|
20
21
|
this.initLocal();
|
|
21
22
|
}
|
|
22
23
|
initLocal() {
|
|
@@ -28,6 +29,7 @@ let PtyServiceManager = class PtyServiceManager {
|
|
|
28
29
|
callback(...args);
|
|
29
30
|
};
|
|
30
31
|
this.ptyServiceProxy = new pty_proxy_1.PtyServiceProxy(callback);
|
|
32
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
31
33
|
}
|
|
32
34
|
// 维护一个 CallbackMap,用于在 PtyServiceProxy 中远程调用回调
|
|
33
35
|
// 因为在 RPC 调用中本身是没法直接传递回调 Function 的,所以需要在远程调用中传递 callId,在本地调用中通过 callId 获取回调
|
|
@@ -42,6 +44,7 @@ let PtyServiceManager = class PtyServiceManager {
|
|
|
42
44
|
return { callId, disposable };
|
|
43
45
|
}
|
|
44
46
|
async spawn(file, args, options, sessionId, spawnOptions) {
|
|
47
|
+
await this.ptyServiceProxyDeferred.promise;
|
|
45
48
|
const ptyRemoteProxy = (await this.ptyServiceProxy.$spawn(file, args, options, sessionId, spawnOptions));
|
|
46
49
|
// 局部功能的 IPty, 代理所有常量
|
|
47
50
|
return new PtyProcessProxy(ptyRemoteProxy, this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.js","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":";;;;AAEA,qCAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"pty.manager.js","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.remote.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":";AAAA,OAAY,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAc7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,qBACa,uBAAwB,SAAQ,iBAAiB;gBAEpC,WAAW,GAAE,iBAA2D;IAKhG,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"pty.manager.remote.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":";AAAA,OAAY,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAc7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,qBACa,uBAAwB,SAAQ,iBAAiB;gBAEpC,WAAW,GAAE,iBAA2D;IAKhG,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,wBAAwB;IAiCvB,SAAS;CAGnB"}
|
|
@@ -23,6 +23,7 @@ let PtyServiceManagerRemote = class PtyServiceManagerRemote extends pty_manager_
|
|
|
23
23
|
const { getRPCService: clientGetRPCService, createRPCService } = (0, ide_connection_1.initRPCService)(clientCenter);
|
|
24
24
|
const getService = clientGetRPCService(common_1.PTY_SERVICE_PROXY_PROTOCOL);
|
|
25
25
|
this.ptyServiceProxy = getService;
|
|
26
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
26
27
|
let callbackDisposed = false;
|
|
27
28
|
// 处理回调
|
|
28
29
|
createRPCService(common_1.PTY_SERVICE_PROXY_CALLBACK_PROTOCOL, {
|
|
@@ -65,12 +66,7 @@ let PtyServiceManagerRemote = class PtyServiceManagerRemote extends pty_manager_
|
|
|
65
66
|
this.logger.log('PtyServiceManagerRemote connect failed, will reconnect after 2s');
|
|
66
67
|
rpcServiceDisposable === null || rpcServiceDisposable === void 0 ? void 0 : rpcServiceDisposable.dispose();
|
|
67
68
|
global.setTimeout(() => {
|
|
68
|
-
|
|
69
|
-
socket.connect(connectOpts);
|
|
70
|
-
}
|
|
71
|
-
catch (e) {
|
|
72
|
-
this.logger.warn(e);
|
|
73
|
-
}
|
|
69
|
+
this.initRemoteConnectionMode(connectOpts);
|
|
74
70
|
}, 2000);
|
|
75
71
|
});
|
|
76
72
|
// 处理 Socket 异常
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.remote.js","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":";;;;AAAA,sDAA6C;AAE7C,qCAAoD;AACpD,6DAA4E;AAC5E,mFAAoF;AACpF,+DAAoE;AAEpE,sCAKmB;AAEnB,+CAAkD;AAElD,gDAAgD;AAChD,uEAAuE;AACvE,yCAAyC;AAElC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,+BAAiB;IAC5D,0CAA0C;IAC1C,YAAwB,cAAiC,EAAE,IAAI,EAAE,sCAA6B,EAAE;QAC9F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAC,MAAkB;QACvC,MAAM,YAAY,GAAG,IAAI,iCAAgB,EAAE,CAAC;QAC5C,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,IAAA,+BAAc,EAAC,YAAY,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAwB,mBAAmB,CAAC,mCAA0B,CAAQ,CAAC;QAC/F,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,OAAO;QACP,gBAAgB,CAAC,4CAAmC,EAAE;YACpD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;gBACnC,IAAI,gBAAgB,EAAE;oBACpB,qCAAqC;oBACrC,8DAA8D;oBAC9D,OAAO;iBACR;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,EAAE;oBACb,oDAAoD;oBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;iBACnE;qBAAM;oBACL,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;iBACnB;YACH,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,2BAAc,CAAC,YAAY,CAAC,MAAM,EAAE;YACrD,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,4BAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YAC5B,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,WAA8B;QAC7D,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,oBAA6C,CAAC;QAElD,iCAAiC;QACjC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACrD,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,EAAE,CAAC;YAChC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YACnF,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACrB,IAAI
|
|
1
|
+
{"version":3,"file":"pty.manager.remote.js","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ let TerminalServiceClientImpl = class TerminalServiceClientImpl extends ide_conn
|
|
|
25
25
|
}
|
|
26
26
|
clientMessage(id, data) {
|
|
27
27
|
if (this.client) {
|
|
28
|
-
|
|
28
|
+
this.client.onMessage(id, data);
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
this.logger.warn(`clientMessage ${id} rpcClient not found`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.service.client.js","sourceRoot":"","sources":["../../src/node/terminal.service.client.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,6DAAsD;AACtD,2DAA+F;AAE/F,sCAMmB;AAGnB,2CAAoF;AAEpF,mCAA2F;AAC3F,yEAAqG;AAWrG;;;GAGG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,2BAA+B;IAAvE;;QACG,gBAAW,GAAkC,IAAI,GAAG,EAAE,CAAC;IAkKjE,CAAC;IArJC,qBAAqB,CAAC,QAAgB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,IAAY;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,
|
|
1
|
+
{"version":3,"file":"terminal.service.client.js","sourceRoot":"","sources":["../../src/node/terminal.service.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.service.d.ts","sourceRoot":"","sources":["../../src/node/terminal.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal.service.d.ts","sourceRoot":"","sources":["../../src/node/terminal.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,oBAAoB,EAAE,sBAAsB,EAAyB,MAAM,WAAW,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWrE,qBACa,mBAAoB,YAAW,oBAAoB;IAC9D,MAAM,CAAC,yBAAyB,SAAa;IAE7C,OAAO,CAAC,kBAAkB,CAAsC;IAChE,OAAO,CAAC,iBAAiB,CAAmD;IAE5E,OAAO,CAAC,gBAAgB,CAAkD;IAC1E,OAAO,CAAC,eAAe,CAA0C;IAGjE,OAAO,CAAC,QAAQ,CAAW;IAG3B,OAAO,CAAC,MAAM,CAAc;IAG5B,OAAO,CAAC,SAAS,CAAY;IAG7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAEvD,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,mBAAmB,CAA0C;IAE9D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB;IAepD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;IAgBpE,WAAW,CAAC,QAAQ,EAAE,MAAM;IAY5B,aAAa,CAAC,QAAQ,EAAE,MAAM;IAuBrC,OAAO,CAAC,YAAY;IAiBP,OAAO,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA2FjC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IASjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IASpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAQhC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAQhC,WAAW,CAAC,EAAE,EAAE,MAAM;IAStB,OAAO;IAOP,OAAO,CAAC,WAAW;IAIb,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAQtD"}
|
|
@@ -5,19 +5,14 @@ exports.TerminalServiceImpl = void 0;
|
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const di_1 = require("@opensumi/di");
|
|
7
7
|
const ide_core_node_1 = require("@opensumi/ide-core-node");
|
|
8
|
-
const strings_1 = require("@opensumi/ide-utils/lib/strings");
|
|
9
8
|
const common_1 = require("../common");
|
|
10
9
|
const pty_1 = require("./pty");
|
|
11
10
|
const pty_manager_1 = require("./pty.manager");
|
|
12
11
|
// ref: https://github.com/vercel/hyper/blob/4c90d7555c79fb6dc438fa9549f1d0ef7c7a5aa7/app/session.ts#L27-L32
|
|
13
|
-
// 批处理字符最大长度
|
|
12
|
+
// 批处理字符最大长度
|
|
14
13
|
const BATCH_MAX_SIZE = 200 * 1024;
|
|
15
14
|
// 批处理延时
|
|
16
15
|
const BATCH_DURATION_MS = 16;
|
|
17
|
-
/**
|
|
18
|
-
* 每个通知前端的数据包最大的大小 (20MB)
|
|
19
|
-
*/
|
|
20
|
-
const BATCH_CHUNK_MAX_SIZE = 20 * 1024 * 1024;
|
|
21
16
|
let TerminalServiceImpl = TerminalServiceImpl_1 = class TerminalServiceImpl {
|
|
22
17
|
constructor() {
|
|
23
18
|
this.terminalProcessMap = new Map();
|
|
@@ -90,8 +85,7 @@ let TerminalServiceImpl = TerminalServiceImpl_1 = class TerminalServiceImpl {
|
|
|
90
85
|
this.batchedPtyDataTimer.delete(sessionId);
|
|
91
86
|
}
|
|
92
87
|
const serviceClient = this.serviceClientMap.get(clientId);
|
|
93
|
-
|
|
94
|
-
(0, ide_core_node_1.pSeries)(chunks.map((str) => () => serviceClient.clientMessage(sessionId, str)));
|
|
88
|
+
serviceClient.clientMessage(sessionId, ptyData);
|
|
95
89
|
}
|
|
96
90
|
async create2(sessionId, cols, rows, launchConfig) {
|
|
97
91
|
var _a;
|
|
@@ -110,8 +104,8 @@ let TerminalServiceImpl = TerminalServiceImpl_1 = class TerminalServiceImpl {
|
|
|
110
104
|
if (!this.batchedPtyDataMap.has(sessionId)) {
|
|
111
105
|
this.batchedPtyDataMap.set(sessionId, '');
|
|
112
106
|
}
|
|
113
|
-
|
|
114
|
-
this.batchedPtyDataMap.
|
|
107
|
+
this.batchedPtyDataMap.set(sessionId, this.batchedPtyDataMap.get(sessionId) + chunk);
|
|
108
|
+
const ptyData = this.batchedPtyDataMap.get(sessionId) || '';
|
|
115
109
|
if ((ptyData === null || ptyData === void 0 ? void 0 : ptyData.length) + chunk.length >= BATCH_MAX_SIZE) {
|
|
116
110
|
this.flushPtyData(clientId, sessionId);
|
|
117
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../src/node/terminal.service.ts"],"names":[],"mappings":";;;;;AAAA,qCAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../src/node/terminal.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-terminal-next",
|
|
3
|
-
"version": "3.1.4
|
|
3
|
+
"version": "3.1.4",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-connection": "3.1.4
|
|
21
|
-
"@opensumi/ide-core-common": "3.1.4
|
|
22
|
-
"@opensumi/ide-core-node": "3.1.4
|
|
23
|
-
"@opensumi/ide-file-service": "3.1.4
|
|
20
|
+
"@opensumi/ide-connection": "3.1.4",
|
|
21
|
+
"@opensumi/ide-core-common": "3.1.4",
|
|
22
|
+
"@opensumi/ide-core-node": "3.1.4",
|
|
23
|
+
"@opensumi/ide-file-service": "3.1.4",
|
|
24
24
|
"node-pty": "1.0.0",
|
|
25
25
|
"os-locale": "^4.0.0",
|
|
26
26
|
"xterm": "5.3.0",
|
|
@@ -30,18 +30,18 @@
|
|
|
30
30
|
"xterm-addon-webgl": "0.15.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@opensumi/ide-components": "3.1.4
|
|
34
|
-
"@opensumi/ide-core-browser": "3.1.4
|
|
35
|
-
"@opensumi/ide-dev-tool": "3.1.4
|
|
36
|
-
"@opensumi/ide-editor": "3.1.4
|
|
37
|
-
"@opensumi/ide-main-layout": "3.1.4
|
|
38
|
-
"@opensumi/ide-overlay": "3.1.4
|
|
39
|
-
"@opensumi/ide-status-bar": "3.1.4
|
|
40
|
-
"@opensumi/ide-theme": "3.1.4
|
|
41
|
-
"@opensumi/ide-variable": "3.1.4
|
|
42
|
-
"@opensumi/ide-workspace": "3.1.4
|
|
33
|
+
"@opensumi/ide-components": "3.1.4",
|
|
34
|
+
"@opensumi/ide-core-browser": "3.1.4",
|
|
35
|
+
"@opensumi/ide-dev-tool": "3.1.4",
|
|
36
|
+
"@opensumi/ide-editor": "3.1.4",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.1.4",
|
|
38
|
+
"@opensumi/ide-overlay": "3.1.4",
|
|
39
|
+
"@opensumi/ide-status-bar": "3.1.4",
|
|
40
|
+
"@opensumi/ide-theme": "3.1.4",
|
|
41
|
+
"@opensumi/ide-variable": "3.1.4",
|
|
42
|
+
"@opensumi/ide-workspace": "3.1.4",
|
|
43
43
|
"@types/http-proxy": "^1.17.2",
|
|
44
44
|
"http-proxy": "^1.18.0"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "8dacde52c1e5e51abee066a3b5f38060116118d3"
|
|
47
47
|
}
|
|
@@ -30,6 +30,7 @@ export class PtyServiceManagerRemote extends PtyServiceManager {
|
|
|
30
30
|
const { getRPCService: clientGetRPCService, createRPCService } = initRPCService(clientCenter);
|
|
31
31
|
const getService: IPtyProxyRPCService = clientGetRPCService(PTY_SERVICE_PROXY_PROTOCOL) as any;
|
|
32
32
|
this.ptyServiceProxy = getService;
|
|
33
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
33
34
|
let callbackDisposed = false;
|
|
34
35
|
|
|
35
36
|
// 处理回调
|
|
@@ -76,11 +77,7 @@ export class PtyServiceManagerRemote extends PtyServiceManager {
|
|
|
76
77
|
this.logger.log('PtyServiceManagerRemote connect failed, will reconnect after 2s');
|
|
77
78
|
rpcServiceDisposable?.dispose();
|
|
78
79
|
global.setTimeout(() => {
|
|
79
|
-
|
|
80
|
-
socket.connect(connectOpts);
|
|
81
|
-
} catch (e) {
|
|
82
|
-
this.logger.warn(e);
|
|
83
|
-
}
|
|
80
|
+
this.initRemoteConnectionMode(connectOpts);
|
|
84
81
|
}, 2000);
|
|
85
82
|
});
|
|
86
83
|
|
package/src/node/pty.manager.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as pty from 'node-pty';
|
|
2
2
|
|
|
3
3
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
4
|
-
import { INodeLogger } from '@opensumi/ide-core-node';
|
|
4
|
+
import { Deferred, INodeLogger } from '@opensumi/ide-core-node';
|
|
5
5
|
|
|
6
6
|
import { IPtyProcessProxy, IPtyProxyRPCService, IPtySpawnOptions, IShellLaunchConfig } from '../common';
|
|
7
7
|
|
|
@@ -49,6 +49,7 @@ export class PtyServiceManager implements IPtyServiceManager {
|
|
|
49
49
|
protected callbackMap = new Map<number, (...args: any[]) => void>();
|
|
50
50
|
// Pty 终端服务的代理,在双容器模式下采用 RPC 连接,单容器模式下直连
|
|
51
51
|
protected ptyServiceProxy: IPtyProxyRPCService;
|
|
52
|
+
protected ptyServiceProxyDeferred = new Deferred();
|
|
52
53
|
|
|
53
54
|
@Autowired(INodeLogger)
|
|
54
55
|
protected logger: INodeLogger;
|
|
@@ -67,6 +68,7 @@ export class PtyServiceManager implements IPtyServiceManager {
|
|
|
67
68
|
callback(...args);
|
|
68
69
|
};
|
|
69
70
|
this.ptyServiceProxy = new PtyServiceProxy(callback);
|
|
71
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
// 维护一个 CallbackMap,用于在 PtyServiceProxy 中远程调用回调
|
|
@@ -92,6 +94,7 @@ export class PtyServiceManager implements IPtyServiceManager {
|
|
|
92
94
|
sessionId?: string,
|
|
93
95
|
spawnOptions?: IPtySpawnOptions,
|
|
94
96
|
): Promise<IPtyProcessProxy> {
|
|
97
|
+
await this.ptyServiceProxyDeferred.promise;
|
|
95
98
|
const ptyRemoteProxy = (await this.ptyServiceProxy.$spawn(
|
|
96
99
|
file,
|
|
97
100
|
args,
|
|
@@ -52,7 +52,7 @@ export class TerminalServiceClientImpl extends RPCService<IRPCTerminalService> i
|
|
|
52
52
|
|
|
53
53
|
clientMessage(id: string, data: string) {
|
|
54
54
|
if (this.client) {
|
|
55
|
-
|
|
55
|
+
this.client.onMessage(id, data);
|
|
56
56
|
} else {
|
|
57
57
|
this.logger.warn(`clientMessage ${id} rpcClient not found`);
|
|
58
58
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
|
|
2
|
-
import { AppConfig, INodeLogger, isDevelopment, isElectronNode
|
|
3
|
-
import { getChunks } from '@opensumi/ide-utils/lib/strings';
|
|
2
|
+
import { AppConfig, INodeLogger, isDevelopment, isElectronNode } from '@opensumi/ide-core-node';
|
|
4
3
|
|
|
5
4
|
import { ETerminalErrorType, ITerminalNodeService, ITerminalServiceClient, TERMINAL_ID_SEPARATOR } from '../common';
|
|
6
5
|
import { IPtyProcessProxy, IShellLaunchConfig } from '../common/pty';
|
|
@@ -9,16 +8,11 @@ import { PtyService } from './pty';
|
|
|
9
8
|
import { IPtyServiceManager, PtyServiceManagerToken } from './pty.manager';
|
|
10
9
|
|
|
11
10
|
// ref: https://github.com/vercel/hyper/blob/4c90d7555c79fb6dc438fa9549f1d0ef7c7a5aa7/app/session.ts#L27-L32
|
|
12
|
-
// 批处理字符最大长度
|
|
11
|
+
// 批处理字符最大长度
|
|
13
12
|
const BATCH_MAX_SIZE = 200 * 1024;
|
|
14
13
|
// 批处理延时
|
|
15
14
|
const BATCH_DURATION_MS = 16;
|
|
16
15
|
|
|
17
|
-
/**
|
|
18
|
-
* 每个通知前端的数据包最大的大小 (20MB)
|
|
19
|
-
*/
|
|
20
|
-
const BATCH_CHUNK_MAX_SIZE = 20 * 1024 * 1024;
|
|
21
|
-
|
|
22
16
|
@Injectable()
|
|
23
17
|
export class TerminalServiceImpl implements ITerminalNodeService {
|
|
24
18
|
static TerminalPtyCloseThreshold = 10 * 1000;
|
|
@@ -124,9 +118,7 @@ export class TerminalServiceImpl implements ITerminalNodeService {
|
|
|
124
118
|
}
|
|
125
119
|
|
|
126
120
|
const serviceClient = this.serviceClientMap.get(clientId) as ITerminalServiceClient;
|
|
127
|
-
|
|
128
|
-
const chunks = getChunks(ptyData, BATCH_CHUNK_MAX_SIZE);
|
|
129
|
-
pSeries(chunks.map((str) => () => serviceClient.clientMessage(sessionId, str)));
|
|
121
|
+
serviceClient.clientMessage(sessionId, ptyData);
|
|
130
122
|
}
|
|
131
123
|
|
|
132
124
|
public async create2(
|
|
@@ -153,9 +145,9 @@ export class TerminalServiceImpl implements ITerminalNodeService {
|
|
|
153
145
|
this.batchedPtyDataMap.set(sessionId, '');
|
|
154
146
|
}
|
|
155
147
|
|
|
156
|
-
|
|
148
|
+
this.batchedPtyDataMap.set(sessionId, this.batchedPtyDataMap.get(sessionId) + chunk);
|
|
157
149
|
|
|
158
|
-
this.batchedPtyDataMap.
|
|
150
|
+
const ptyData = this.batchedPtyDataMap.get(sessionId) || '';
|
|
159
151
|
|
|
160
152
|
if (ptyData?.length + chunk.length >= BATCH_MAX_SIZE) {
|
|
161
153
|
this.flushPtyData(clientId, sessionId);
|