@jupyter/docprovider 2.0.0-alpha.4 → 2.0.0
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/utils.d.ts +1 -2
- package/lib/utils.js +0 -1
- package/lib/yprovider.d.ts +0 -2
- package/lib/yprovider.js +6 -22
- package/package.json +4 -4
package/lib/utils.d.ts
CHANGED
package/lib/utils.js
CHANGED
|
@@ -14,5 +14,4 @@ export var RoomMessage;
|
|
|
14
14
|
RoomMessage[RoomMessage["FILE_CHANGED"] = 2] = "FILE_CHANGED";
|
|
15
15
|
RoomMessage[RoomMessage["FILE_OVERWRITTEN"] = 3] = "FILE_OVERWRITTEN";
|
|
16
16
|
RoomMessage[RoomMessage["DOC_OVERWRITTEN"] = 4] = "DOC_OVERWRITTEN";
|
|
17
|
-
RoomMessage[RoomMessage["SESSION_TOKEN"] = 5] = "SESSION_TOKEN";
|
|
18
17
|
})(RoomMessage || (RoomMessage = {}));
|
package/lib/yprovider.d.ts
CHANGED
|
@@ -42,7 +42,6 @@ export declare class WebSocketProvider implements IDocumentProvider {
|
|
|
42
42
|
private _onSync;
|
|
43
43
|
private _handleRoomMessage;
|
|
44
44
|
private _handleFileChanged;
|
|
45
|
-
private _handleSessionToken;
|
|
46
45
|
private _sendReloadMsg;
|
|
47
46
|
private _sendOverwriteMsg;
|
|
48
47
|
private _dialog;
|
|
@@ -51,7 +50,6 @@ export declare class WebSocketProvider implements IDocumentProvider {
|
|
|
51
50
|
private _format;
|
|
52
51
|
private _isDisposed;
|
|
53
52
|
private _path;
|
|
54
|
-
private _session;
|
|
55
53
|
private _ready;
|
|
56
54
|
private _serverUrl;
|
|
57
55
|
private _sharedModel;
|
package/lib/yprovider.js
CHANGED
|
@@ -7,7 +7,6 @@ import { PromiseDelegate } from '@lumino/coreutils';
|
|
|
7
7
|
import { Signal } from '@lumino/signaling';
|
|
8
8
|
import * as decoding from 'lib0/decoding';
|
|
9
9
|
import * as encoding from 'lib0/encoding';
|
|
10
|
-
import * as url from 'lib0/url';
|
|
11
10
|
import { WebsocketProvider as YWebsocketProvider } from 'y-websocket';
|
|
12
11
|
import { requestDocSession } from './requests';
|
|
13
12
|
import { MessageType, RoomMessage } from './utils';
|
|
@@ -25,9 +24,9 @@ export class WebSocketProvider {
|
|
|
25
24
|
*/
|
|
26
25
|
constructor(options) {
|
|
27
26
|
this._onConnectionClosed = (event) => {
|
|
28
|
-
if (event.code
|
|
29
|
-
console.error('Document provider closed:', event.
|
|
30
|
-
showErrorMessage(this._trans.__('Document error'), event.reason, [
|
|
27
|
+
if (event.code === 1003) {
|
|
28
|
+
console.error('Document provider closed:', event.reason);
|
|
29
|
+
showErrorMessage(this._trans.__('Document session error'), event.reason, [
|
|
31
30
|
Dialog.okButton()
|
|
32
31
|
]);
|
|
33
32
|
// Dispose shared model immediately. Better break the document model,
|
|
@@ -46,7 +45,6 @@ export class WebSocketProvider {
|
|
|
46
45
|
this._ready = new PromiseDelegate();
|
|
47
46
|
this._isDisposed = false;
|
|
48
47
|
this._path = options.path;
|
|
49
|
-
this._session = null;
|
|
50
48
|
this._contentType = options.contentType;
|
|
51
49
|
this._format = options.format;
|
|
52
50
|
this._serverUrl = options.url;
|
|
@@ -90,13 +88,10 @@ export class WebSocketProvider {
|
|
|
90
88
|
Signal.clearData(this);
|
|
91
89
|
}
|
|
92
90
|
async _connect() {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
? { sessionId: this._session.sessionId }
|
|
96
|
-
: undefined;
|
|
97
|
-
this._yWebsocketProvider = new YWebsocketProvider(this._serverUrl, `${this._session.format}:${this._session.type}:${this._session.fileId}`, this._sharedModel.ydoc, {
|
|
91
|
+
const session = await requestDocSession(this._format, this._contentType, this._path);
|
|
92
|
+
this._yWebsocketProvider = new YWebsocketProvider(this._serverUrl, `${session.format}:${session.type}:${session.fileId}`, this._sharedModel.ydoc, {
|
|
98
93
|
disableBc: true,
|
|
99
|
-
params,
|
|
94
|
+
params: { sessionId: session.sessionId },
|
|
100
95
|
awareness: this._awareness
|
|
101
96
|
});
|
|
102
97
|
this._yWebsocketProvider.on('sync', this._onSync);
|
|
@@ -122,9 +117,6 @@ export class WebSocketProvider {
|
|
|
122
117
|
this._dialog = null;
|
|
123
118
|
}
|
|
124
119
|
break;
|
|
125
|
-
case RoomMessage.SESSION_TOKEN:
|
|
126
|
-
this._handleSessionToken(data);
|
|
127
|
-
break;
|
|
128
120
|
}
|
|
129
121
|
}
|
|
130
122
|
_handleFileChanged(data) {
|
|
@@ -146,14 +138,6 @@ export class WebSocketProvider {
|
|
|
146
138
|
}
|
|
147
139
|
});
|
|
148
140
|
}
|
|
149
|
-
_handleSessionToken(data) {
|
|
150
|
-
if (this._yWebsocketProvider && this._session) {
|
|
151
|
-
const room = `${this._session.format}:${this._session.type}:${this._session.fileId}`;
|
|
152
|
-
const encodedParams = url.encodeQueryParams({ sessionId: data });
|
|
153
|
-
this._yWebsocketProvider.url =
|
|
154
|
-
this._serverUrl + '/' + room + '?' + encodedParams;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
141
|
_sendReloadMsg(data) {
|
|
158
142
|
var _a;
|
|
159
143
|
const encoder = encoding.createEncoder();
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyter/docprovider",
|
|
3
|
-
"version": "2.0.0
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "JupyterLab - Document Provider",
|
|
5
|
-
"homepage": "https://github.com/jupyterlab/
|
|
5
|
+
"homepage": "https://github.com/jupyterlab/jupyter-collaboration",
|
|
6
6
|
"bugs": {
|
|
7
|
-
"url": "https://github.com/jupyterlab/
|
|
7
|
+
"url": "https://github.com/jupyterlab/jupyter-collaboration/issues"
|
|
8
8
|
},
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "https://github.com/jupyterlab/
|
|
11
|
+
"url": "https://github.com/jupyterlab/jupyter-collaboration.git"
|
|
12
12
|
},
|
|
13
13
|
"license": "BSD-3-Clause",
|
|
14
14
|
"author": "Project Jupyter",
|