@codingame/monaco-vscode-edit-sessions-service-override 11.1.2 → 12.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.
Files changed (24) hide show
  1. package/index.d.ts +2 -1
  2. package/index.js +21 -1
  3. package/package.json +21 -7
  4. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.d.ts +96 -0
  5. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js +171 -173
  6. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.d.ts +24 -0
  7. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js +4 -3
  8. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.d.ts +80 -0
  9. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js +72 -78
  10. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.d.ts +8 -0
  11. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.js +58 -68
  12. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.d.ts +52 -0
  13. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +13 -12
  14. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.d.ts +15 -0
  15. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js +7 -6
  16. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsStorageClient.d.ts +4 -0
  17. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsStorageClient.js +2 -1
  18. package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.d.ts +33 -0
  19. package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.js +10 -7
  20. package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.d.ts +21 -0
  21. package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js +3 -1
  22. package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.d.ts +13 -0
  23. package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.js +3 -1
  24. package/editSessions.js +0 -20
@@ -1,17 +1,18 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
4
  import { localize } from 'vscode/vscode/vs/nls';
4
5
  import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
5
6
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
6
7
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
7
- import { TreeView, TreeViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/treeView';
8
+ import { TreeView, TreeViewPane } from '@codingame/monaco-vscode-4a316137-39d1-5d77-8b53-112db3547c1e-common/vscode/vs/workbench/browser/parts/views/treeView';
8
9
  import { Extensions, TreeItemCollapsibleState } from 'vscode/vscode/vs/workbench/common/views';
9
10
  import { EDIT_SESSIONS_DATA_VIEW_ID, EDIT_SESSIONS_TITLE, EDIT_SESSIONS_SHOW_VIEW, EDIT_SESSIONS_SCHEME, ChangeType } from '../common/editSessions.js';
10
11
  import { IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
11
12
  import { URI } from 'vscode/vscode/vs/base/common/uri';
12
13
  import { fromNow } from 'vscode/vscode/vs/base/common/date';
13
14
  import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
14
- import { API_OPEN_EDITOR_COMMAND_ID } from 'vscode/vscode/vs/workbench/browser/parts/editor/editorCommands';
15
+ import { API_OPEN_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
15
16
  import { registerAction2, Action2, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
16
17
  import { RawContextKey, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
17
18
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
@@ -23,7 +24,7 @@ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.servi
23
24
  import { basename } from 'vscode/vscode/vs/base/common/path';
24
25
 
25
26
  const EDIT_SESSIONS_COUNT_KEY = 'editSessionsCount';
26
- const EDIT_SESSIONS_COUNT_CONTEXT_KEY = ( (new RawContextKey(EDIT_SESSIONS_COUNT_KEY, 0)));
27
+ const EDIT_SESSIONS_COUNT_CONTEXT_KEY = ( new RawContextKey(EDIT_SESSIONS_COUNT_KEY, 0));
27
28
  let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
28
29
  constructor(container, instantiationService) {
29
30
  super();
@@ -36,46 +37,43 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
36
37
  treeView.showCollapseAllAction = true;
37
38
  treeView.showRefreshAction = true;
38
39
  treeView.dataProvider = this.instantiationService.createInstance(EditSessionDataViewDataProvider);
39
- const viewsRegistry = ( (Registry.as(Extensions.ViewsRegistry)));
40
+ const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
40
41
  viewsRegistry.registerViews([{
41
42
  id: viewId,
42
43
  name: EDIT_SESSIONS_TITLE,
43
- ctorDescriptor: ( (new SyncDescriptor(TreeViewPane))),
44
+ ctorDescriptor: ( new SyncDescriptor(TreeViewPane)),
44
45
  canToggleVisibility: true,
45
46
  canMoveView: false,
46
47
  treeView,
47
48
  collapsed: false,
48
- when: ( (ContextKeyExpr.and(EDIT_SESSIONS_SHOW_VIEW))),
49
+ when: ( ContextKeyExpr.and(EDIT_SESSIONS_SHOW_VIEW)),
49
50
  order: 100,
50
51
  hideByDefault: true,
51
52
  }], container);
52
53
  viewsRegistry.registerViewWelcomeContent(viewId, {
53
54
  content: ( localize(
54
- 5703,
55
+ 5701,
55
56
  'You have no stored changes in the cloud to display.\n{0}',
56
- `[${( localize(5704, 'Store Working Changes'))}](command:workbench.editSessions.actions.store)`
57
+ `[${( localize(5702, 'Store Working Changes'))}](command:workbench.editSessions.actions.store)`
57
58
  )),
58
- when: ( (ContextKeyExpr.equals(EDIT_SESSIONS_COUNT_KEY, 0))),
59
+ when: ( ContextKeyExpr.equals(EDIT_SESSIONS_COUNT_KEY, 0)),
59
60
  order: 1
60
61
  });
61
62
  this._register(registerAction2(class extends Action2 {
62
63
  constructor() {
63
64
  super({
64
65
  id: 'workbench.editSessions.actions.resume',
65
- title: ( localize(5705, "Resume Working Changes")),
66
+ title: ( localize(5703, "Resume Working Changes")),
66
67
  icon: Codicon.desktopDownload,
67
68
  menu: {
68
69
  id: MenuId.ViewItemContext,
69
- when: ( (ContextKeyExpr.and(
70
- (ContextKeyExpr.equals('view', viewId)),
71
- (ContextKeyExpr.regex('viewItem', /edit-session/i))
72
- ))),
70
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', viewId)), ( ContextKeyExpr.regex('viewItem', /edit-session/i)))),
73
71
  group: 'inline'
74
72
  }
75
73
  });
76
74
  }
77
75
  async run(accessor, handle) {
78
- const editSessionId = ( (URI.parse(handle.$treeItemHandle))).path.substring(1);
76
+ const editSessionId = ( URI.parse(handle.$treeItemHandle)).path.substring(1);
79
77
  const commandService = accessor.get(ICommandService);
80
78
  await commandService.executeCommand('workbench.editSessions.actions.resumeLatest', editSessionId, true);
81
79
  await treeView.refresh();
@@ -85,7 +83,7 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
85
83
  constructor() {
86
84
  super({
87
85
  id: 'workbench.editSessions.actions.store',
88
- title: ( localize(5706, "Store Working Changes")),
86
+ title: ( localize(5704, "Store Working Changes")),
89
87
  icon: Codicon.cloudUpload,
90
88
  });
91
89
  }
@@ -99,29 +97,26 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
99
97
  constructor() {
100
98
  super({
101
99
  id: 'workbench.editSessions.actions.delete',
102
- title: ( localize(5707, "Delete Working Changes")),
100
+ title: ( localize(5705, "Delete Working Changes")),
103
101
  icon: Codicon.trash,
104
102
  menu: {
105
103
  id: MenuId.ViewItemContext,
106
- when: ( (ContextKeyExpr.and(
107
- (ContextKeyExpr.equals('view', viewId)),
108
- (ContextKeyExpr.regex('viewItem', /edit-session/i))
109
- ))),
104
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', viewId)), ( ContextKeyExpr.regex('viewItem', /edit-session/i)))),
110
105
  group: 'inline'
111
106
  }
112
107
  });
113
108
  }
114
109
  async run(accessor, handle) {
115
- const editSessionId = ( (URI.parse(handle.$treeItemHandle))).path.substring(1);
110
+ const editSessionId = ( URI.parse(handle.$treeItemHandle)).path.substring(1);
116
111
  const dialogService = accessor.get(IDialogService);
117
112
  const editSessionStorageService = accessor.get(IEditSessionsStorageService);
118
113
  const result = await dialogService.confirm({
119
114
  message: ( localize(
120
- 5708,
115
+ 5706,
121
116
  'Are you sure you want to permanently delete your working changes with ref {0}?',
122
117
  editSessionId
123
118
  )),
124
- detail: ( localize(5709, ' You cannot undo this action.')),
119
+ detail: ( localize(5707, ' You cannot undo this action.')),
125
120
  type: 'warning',
126
121
  title: EDIT_SESSIONS_TITLE.value
127
122
  });
@@ -135,14 +130,11 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
135
130
  constructor() {
136
131
  super({
137
132
  id: 'workbench.editSessions.actions.deleteAll',
138
- title: ( localize(5710, "Delete All Working Changes from Cloud")),
133
+ title: ( localize(5708, "Delete All Working Changes from Cloud")),
139
134
  icon: Codicon.trash,
140
135
  menu: {
141
136
  id: MenuId.ViewTitle,
142
- when: ( (ContextKeyExpr.and(
143
- (ContextKeyExpr.equals('view', viewId)),
144
- ContextKeyExpr.greater(EDIT_SESSIONS_COUNT_KEY, 0)
145
- ))),
137
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', viewId)), ContextKeyExpr.greater(EDIT_SESSIONS_COUNT_KEY, 0))),
146
138
  }
147
139
  });
148
140
  }
@@ -151,10 +143,10 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
151
143
  const editSessionStorageService = accessor.get(IEditSessionsStorageService);
152
144
  const result = await dialogService.confirm({
153
145
  message: ( localize(
154
- 5711,
146
+ 5709,
155
147
  'Are you sure you want to permanently delete all stored changes from the cloud?'
156
148
  )),
157
- detail: ( localize(5712, ' You cannot undo this action.')),
149
+ detail: ( localize(5710, ' You cannot undo this action.')),
158
150
  type: 'warning',
159
151
  title: EDIT_SESSIONS_TITLE.value
160
152
  });
@@ -166,9 +158,9 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
166
158
  }));
167
159
  }
168
160
  };
169
- EditSessionsDataViews = ( (__decorate([
170
- ( (__param(1, IInstantiationService)))
171
- ], EditSessionsDataViews)));
161
+ EditSessionsDataViews = ( __decorate([
162
+ ( __param(1, IInstantiationService))
163
+ ], EditSessionsDataViews));
172
164
  let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
173
165
  constructor(editSessionsStorageService, contextKeyService, workspaceContextService, fileService) {
174
166
  this.editSessionsStorageService = editSessionsStorageService;
@@ -181,7 +173,7 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
181
173
  if (!element) {
182
174
  return this.getAllEditSessions();
183
175
  }
184
- const [ref, folderName, filePath] = ( (URI.parse(element.handle))).path.substring(1).split('/');
176
+ const [ref, folderName, filePath] = ( URI.parse(element.handle)).path.substring(1).split('/');
185
177
  if (ref && !folderName) {
186
178
  return this.getEditSession(ref);
187
179
  }
@@ -195,20 +187,20 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
195
187
  this.editSessionsCount.set(allEditSessions.length);
196
188
  const editSessions = [];
197
189
  for (const session of allEditSessions) {
198
- const resource = ( (URI.from(
190
+ const resource = ( URI.from(
199
191
  { scheme: EDIT_SESSIONS_SCHEME, authority: 'remote-session-content', path: `/${session.ref}` }
200
- )));
192
+ ));
201
193
  const sessionData = await this.editSessionsStorageService.read('editSessions', session.ref);
202
194
  if (!sessionData) {
203
195
  continue;
204
196
  }
205
197
  const content = JSON.parse(sessionData.content);
206
- const label = ( (content.folders.map((folder) => folder.name))).join(', ') ?? session.ref;
198
+ const label = ( content.folders.map((folder) => folder.name)).join(', ') ?? session.ref;
207
199
  const machineId = content.machine;
208
200
  const machineName = machineId ? await this.editSessionsStorageService.getMachineById(machineId) : undefined;
209
201
  const description = machineName === undefined ? fromNow(session.created, true) : `${fromNow(session.created, true)}\u00a0\u00a0\u2022\u00a0\u00a0${machineName}`;
210
202
  editSessions.push({
211
- handle: ( (resource.toString())),
203
+ handle: ( resource.toString()),
212
204
  collapsibleState: TreeItemCollapsibleState.Collapsed,
213
205
  label: { label },
214
206
  description: description,
@@ -228,19 +220,17 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
228
220
  const folder = content.folders[0];
229
221
  return this.getEditSessionFolderContents(ref, folder.name);
230
222
  }
231
- return (
232
- (content.folders.map((folder) => {
233
- const resource = ( (URI.from(
234
- { scheme: EDIT_SESSIONS_SCHEME, authority: 'remote-session-content', path: `/${data.ref}/${folder.name}` }
235
- )));
236
- return {
237
- handle: ( (resource.toString())),
238
- collapsibleState: TreeItemCollapsibleState.Collapsed,
239
- label: { label: folder.name },
240
- themeIcon: Codicon.folder
241
- };
242
- }))
243
- );
223
+ return ( content.folders.map((folder) => {
224
+ const resource = ( URI.from(
225
+ { scheme: EDIT_SESSIONS_SCHEME, authority: 'remote-session-content', path: `/${data.ref}/${folder.name}` }
226
+ ));
227
+ return {
228
+ handle: ( resource.toString()),
229
+ collapsibleState: TreeItemCollapsibleState.Collapsed,
230
+ label: { label: folder.name },
231
+ themeIcon: Codicon.folder
232
+ };
233
+ }));
244
234
  }
245
235
  async getEditSessionFolderContents(ref, folderName) {
246
236
  const data = await this.editSessionsStorageService.read('editSessions', ref);
@@ -253,26 +243,26 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
253
243
  if (!editSessionFolder) {
254
244
  return [];
255
245
  }
256
- return Promise.all(( (editSessionFolder.workingChanges.map(async (change) => {
257
- const cloudChangeUri = ( (URI.from(
246
+ return Promise.all(( editSessionFolder.workingChanges.map(async (change) => {
247
+ const cloudChangeUri = ( URI.from(
258
248
  { scheme: EDIT_SESSIONS_SCHEME, authority: 'remote-session-content', path: `/${data.ref}/${folderName}/${change.relativeFilePath}` }
259
- )));
249
+ ));
260
250
  if (currentWorkspaceFolder?.uri) {
261
251
  const localCopy = joinPath(currentWorkspaceFolder.uri, change.relativeFilePath);
262
252
  if (change.type === ChangeType.Addition && (await this.fileService.exists(localCopy))) {
263
253
  return {
264
- handle: ( (cloudChangeUri.toString())),
254
+ handle: ( cloudChangeUri.toString()),
265
255
  resourceUri: cloudChangeUri,
266
256
  collapsibleState: TreeItemCollapsibleState.None,
267
257
  label: { label: change.relativeFilePath },
268
258
  themeIcon: Codicon.file,
269
259
  command: {
270
260
  id: 'vscode.diff',
271
- title: ( localize(5713, 'Compare Changes')),
261
+ title: ( localize(5711, 'Compare Changes')),
272
262
  arguments: [
273
263
  localCopy,
274
264
  cloudChangeUri,
275
- `${basename(change.relativeFilePath)} (${( localize(5714, 'Local Copy'))} \u2194 ${( localize(5715, 'Cloud Changes'))})`,
265
+ `${basename(change.relativeFilePath)} (${( localize(5712, 'Local Copy'))} \u2194 ${( localize(5713, 'Cloud Changes'))})`,
276
266
  undefined
277
267
  ]
278
268
  }
@@ -280,25 +270,25 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
280
270
  }
281
271
  }
282
272
  return {
283
- handle: ( (cloudChangeUri.toString())),
273
+ handle: ( cloudChangeUri.toString()),
284
274
  resourceUri: cloudChangeUri,
285
275
  collapsibleState: TreeItemCollapsibleState.None,
286
276
  label: { label: change.relativeFilePath },
287
277
  themeIcon: Codicon.file,
288
278
  command: {
289
279
  id: API_OPEN_EDITOR_COMMAND_ID,
290
- title: ( localize(5716, 'Open File')),
280
+ title: ( localize(5714, 'Open File')),
291
281
  arguments: [cloudChangeUri, undefined, undefined]
292
282
  }
293
283
  };
294
- }))));
284
+ })));
295
285
  }
296
286
  };
297
- EditSessionDataViewDataProvider = ( (__decorate([
298
- ( (__param(0, IEditSessionsStorageService))),
299
- ( (__param(1, IContextKeyService))),
300
- ( (__param(2, IWorkspaceContextService))),
301
- ( (__param(3, IFileService)))
302
- ], EditSessionDataViewDataProvider)));
287
+ EditSessionDataViewDataProvider = ( __decorate([
288
+ ( __param(0, IEditSessionsStorageService)),
289
+ ( __param(1, IContextKeyService)),
290
+ ( __param(2, IWorkspaceContextService)),
291
+ ( __param(3, IFileService))
292
+ ], EditSessionDataViewDataProvider));
303
293
 
304
294
  export { EditSessionsDataViews };
@@ -0,0 +1,52 @@
1
+ import { VSBuffer } from "vscode/vscode/vs/base/common/buffer";
2
+ import { ILocalizedString } from "vscode/vscode/vs/platform/action/common/action";
3
+ import { RawContextKey } from "vscode/vscode/vs/platform/contextkey/common/contextkey";
4
+ export declare const EDIT_SESSION_SYNC_CATEGORY: import("vscode/vscode/vs/nls").ILocalizedString;
5
+ export type SyncResource = "editSessions" | "workspaceState";
6
+ export declare enum ChangeType {
7
+ Addition = 1,
8
+ Deletion = 2
9
+ }
10
+ export declare enum FileType {
11
+ File = 1
12
+ }
13
+ interface Addition {
14
+ relativeFilePath: string;
15
+ fileType: FileType.File;
16
+ contents: string;
17
+ type: ChangeType.Addition;
18
+ }
19
+ interface Deletion {
20
+ relativeFilePath: string;
21
+ fileType: FileType.File;
22
+ contents: undefined;
23
+ type: ChangeType.Deletion;
24
+ }
25
+ export type Change = Addition | Deletion;
26
+ export interface Folder {
27
+ name: string;
28
+ canonicalIdentity: string | undefined;
29
+ workingChanges: Change[];
30
+ absoluteUri: string | undefined;
31
+ }
32
+ export declare const EditSessionSchemaVersion = 3;
33
+ export interface EditSession {
34
+ version: number;
35
+ workspaceStateId?: string;
36
+ machine?: string;
37
+ folders: Folder[];
38
+ }
39
+ export declare const EDIT_SESSIONS_SIGNED_IN_KEY = "editSessionsSignedIn";
40
+ export declare const EDIT_SESSIONS_SIGNED_IN: RawContextKey<boolean>;
41
+ export declare const EDIT_SESSIONS_PENDING_KEY = "editSessionsPending";
42
+ export declare const EDIT_SESSIONS_PENDING: RawContextKey<boolean>;
43
+ export declare const EDIT_SESSIONS_CONTAINER_ID = "workbench.view.editSessions";
44
+ export declare const EDIT_SESSIONS_DATA_VIEW_ID = "workbench.views.editSessions.data";
45
+ export declare const EDIT_SESSIONS_TITLE: ILocalizedString;
46
+ export declare const EDIT_SESSIONS_VIEW_ICON: import("vscode/vscode/vs/base/common/themables").ThemeIcon;
47
+ export declare const EDIT_SESSIONS_SHOW_VIEW: RawContextKey<boolean>;
48
+ export declare const EDIT_SESSIONS_SCHEME = "vscode-edit-sessions";
49
+ export declare function decodeEditSessionFileContent(version: number, content: string): VSBuffer;
50
+ export declare function hashedEditSessionId(editSessionId: string): string;
51
+ export declare const editSessionsLogId = "editSessions";
52
+ export {};
@@ -1,3 +1,4 @@
1
+
1
2
  import { decodeBase64, VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
2
3
  import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
3
4
  import { localize2, localize } from 'vscode/vscode/vs/nls';
@@ -5,26 +6,26 @@ import { RawContextKey } from 'vscode/vscode/vs/platform/contextkey/common/conte
5
6
  import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
6
7
  import { StringSHA1 } from 'vscode/vscode/vs/base/common/hash';
7
8
 
8
- const EDIT_SESSION_SYNC_CATEGORY = ( localize2(5691, 'Cloud Changes'));
9
+ const EDIT_SESSION_SYNC_CATEGORY = ( localize2(5715, 'Cloud Changes'));
9
10
  var ChangeType;
10
- ( ((function(ChangeType) {
11
+ (function (ChangeType) {
11
12
  ChangeType[ChangeType["Addition"] = 1] = "Addition";
12
13
  ChangeType[ChangeType["Deletion"] = 2] = "Deletion";
13
- })(ChangeType || (ChangeType = {}))));
14
+ })(ChangeType || (ChangeType = {}));
14
15
  var FileType;
15
- ( ((function(FileType) {
16
+ (function (FileType) {
16
17
  FileType[FileType["File"] = 1] = "File";
17
- })(FileType || (FileType = {}))));
18
+ })(FileType || (FileType = {}));
18
19
  const EditSessionSchemaVersion = 3;
19
20
  const EDIT_SESSIONS_SIGNED_IN_KEY = 'editSessionsSignedIn';
20
- const EDIT_SESSIONS_SIGNED_IN = ( (new RawContextKey(EDIT_SESSIONS_SIGNED_IN_KEY, false)));
21
+ const EDIT_SESSIONS_SIGNED_IN = ( new RawContextKey(EDIT_SESSIONS_SIGNED_IN_KEY, false));
21
22
  const EDIT_SESSIONS_PENDING_KEY = 'editSessionsPending';
22
- const EDIT_SESSIONS_PENDING = ( (new RawContextKey(EDIT_SESSIONS_PENDING_KEY, false)));
23
+ const EDIT_SESSIONS_PENDING = ( new RawContextKey(EDIT_SESSIONS_PENDING_KEY, false));
23
24
  const EDIT_SESSIONS_CONTAINER_ID = 'workbench.view.editSessions';
24
25
  const EDIT_SESSIONS_DATA_VIEW_ID = 'workbench.views.editSessions.data';
25
- const EDIT_SESSIONS_TITLE = ( localize2(5691, 'Cloud Changes'));
26
- const EDIT_SESSIONS_VIEW_ICON = registerIcon('edit-sessions-view-icon', Codicon.cloudDownload, ( localize(5692, 'View icon of the cloud changes view.')));
27
- const EDIT_SESSIONS_SHOW_VIEW = ( (new RawContextKey('editSessionsShowView', false)));
26
+ const EDIT_SESSIONS_TITLE = ( localize2(5715, 'Cloud Changes'));
27
+ const EDIT_SESSIONS_VIEW_ICON = registerIcon('edit-sessions-view-icon', Codicon.cloudDownload, ( localize(5716, 'View icon of the cloud changes view.')));
28
+ const EDIT_SESSIONS_SHOW_VIEW = ( new RawContextKey('editSessionsShowView', false));
28
29
  const EDIT_SESSIONS_SCHEME = 'vscode-edit-sessions';
29
30
  function decodeEditSessionFileContent(version, content) {
30
31
  switch (version) {
@@ -33,11 +34,11 @@ function decodeEditSessionFileContent(version, content) {
33
34
  case 2:
34
35
  return decodeBase64(content);
35
36
  default:
36
- throw ( (new Error('Upgrade to a newer version to decode this content.')));
37
+ throw ( new Error('Upgrade to a newer version to decode this content.'));
37
38
  }
38
39
  }
39
40
  function hashedEditSessionId(editSessionId) {
40
- const sha1 = ( (new StringSHA1()));
41
+ const sha1 = ( new StringSHA1());
41
42
  sha1.update(editSessionId);
42
43
  return sha1.digest();
43
44
  }
@@ -0,0 +1,15 @@
1
+ import { IEnvironmentService } from "vscode/vscode/vs/platform/environment/common/environment.service";
2
+ import { AbstractLogger } from "vscode/vscode/vs/platform/log/common/log";
3
+ import { ILoggerService } from "vscode/vscode/vs/platform/log/common/log.service";
4
+ import { IEditSessionsLogService } from "vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service";
5
+ export declare class EditSessionsLogService extends AbstractLogger implements IEditSessionsLogService {
6
+ readonly _serviceBrand: undefined;
7
+ private readonly logger;
8
+ constructor(loggerService: ILoggerService, environmentService: IEnvironmentService);
9
+ trace(message: string, ...args: any[]): void;
10
+ debug(message: string, ...args: any[]): void;
11
+ info(message: string, ...args: any[]): void;
12
+ warn(message: string, ...args: any[]): void;
13
+ error(message: string | Error, ...args: any[]): void;
14
+ flush(): void;
15
+ }
@@ -1,4 +1,5 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { joinPath } from 'vscode/vscode/vs/base/common/resources';
3
4
  import { localize } from 'vscode/vscode/vs/nls';
4
5
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
@@ -9,7 +10,7 @@ import { editSessionsLogId } from './editSessions.js';
9
10
  let EditSessionsLogService = class EditSessionsLogService extends AbstractLogger {
10
11
  constructor(loggerService, environmentService) {
11
12
  super();
12
- this.logger = this._register(loggerService.createLogger(joinPath(environmentService.logsHome, `${editSessionsLogId}.log`), { id: editSessionsLogId, name: ( localize(2397, "Cloud Changes")) }));
13
+ this.logger = this._register(loggerService.createLogger(joinPath(environmentService.logsHome, `${editSessionsLogId}.log`), { id: editSessionsLogId, name: ( localize(5717, "Cloud Changes")) }));
13
14
  }
14
15
  trace(message, ...args) {
15
16
  this.logger.trace(message, ...args);
@@ -30,9 +31,9 @@ let EditSessionsLogService = class EditSessionsLogService extends AbstractLogger
30
31
  this.logger.flush();
31
32
  }
32
33
  };
33
- EditSessionsLogService = ( (__decorate([
34
- ( (__param(0, ILoggerService))),
35
- ( (__param(1, IEnvironmentService)))
36
- ], EditSessionsLogService)));
34
+ EditSessionsLogService = ( __decorate([
35
+ ( __param(0, ILoggerService)),
36
+ ( __param(1, IEnvironmentService))
37
+ ], EditSessionsLogService));
37
38
 
38
39
  export { EditSessionsLogService };
@@ -0,0 +1,4 @@
1
+ import { UserDataSyncStoreClient } from "@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common/vscode/vs/platform/userDataSync/common/userDataSyncStoreService";
2
+ export declare class EditSessionsStoreClient extends UserDataSyncStoreClient {
3
+ _serviceBrand: any;
4
+ }
@@ -1,4 +1,5 @@
1
- import { UserDataSyncStoreClient } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSyncStoreService';
1
+
2
+ import { UserDataSyncStoreClient } from '@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common/vscode/vs/platform/userDataSync/common/userDataSyncStoreService';
2
3
 
3
4
  class EditSessionsStoreClient extends UserDataSyncStoreClient {
4
5
  }
@@ -0,0 +1,33 @@
1
+ import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
2
+ import { URI } from "vscode/vscode/vs/base/common/uri";
3
+ import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
4
+ import { IEnvironmentService } from "vscode/vscode/vs/platform/environment/common/environment.service";
5
+ import { IFileService } from "vscode/vscode/vs/platform/files/common/files.service";
6
+ import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
7
+ import { ITelemetryService } from "vscode/vscode/vs/platform/telemetry/common/telemetry.service";
8
+ import { IUriIdentityService } from "vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
9
+ import { IUserDataProfile } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfile";
10
+ import { AbstractSynchroniser, IAcceptResult, IMergeResult, IResourcePreview, ISyncResourcePreview } from "@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common/vscode/vs/platform/userDataSync/common/abstractSynchronizer";
11
+ import { IRemoteUserData, IUserDataSyncConfiguration, IUserDataSynchroniser } from "vscode/vscode/vs/platform/userDataSync/common/userDataSync";
12
+ import { IUserDataSyncLogService } from "vscode/vscode/vs/platform/userDataSync/common/userDataSync.service";
13
+ import { IUserDataSyncStoreService } from "vscode/vscode/vs/platform/userDataSync/common/userDataSync.service";
14
+ import { IEditSessionsStorageService } from "vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service";
15
+ import { IWorkspaceIdentityService } from "vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service";
16
+ export declare class WorkspaceStateSynchroniser extends AbstractSynchroniser implements IUserDataSynchroniser {
17
+ private readonly workspaceIdentityService;
18
+ private readonly editSessionsStorageService;
19
+ protected version: number;
20
+ constructor(profile: IUserDataProfile, collection: string | undefined, userDataSyncStoreService: IUserDataSyncStoreService, logService: IUserDataSyncLogService, fileService: IFileService, environmentService: IEnvironmentService, telemetryService: ITelemetryService, configurationService: IConfigurationService, storageService: IStorageService, uriIdentityService: IUriIdentityService, workspaceIdentityService: IWorkspaceIdentityService, editSessionsStorageService: IEditSessionsStorageService);
21
+ sync(): Promise<void>;
22
+ apply(): Promise<ISyncResourcePreview | null>;
23
+ protected applyResult(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, result: [
24
+ IResourcePreview,
25
+ IAcceptResult
26
+ ][], force: boolean): Promise<void>;
27
+ protected generateSyncPreview(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, isRemoteDataFromCurrentMachine: boolean, userDataSyncConfiguration: IUserDataSyncConfiguration, token: CancellationToken): Promise<IResourcePreview[]>;
28
+ protected getMergeResult(resourcePreview: IResourcePreview, token: CancellationToken): Promise<IMergeResult>;
29
+ protected getAcceptResult(resourcePreview: IResourcePreview, resource: URI, content: string | null | undefined, token: CancellationToken): Promise<IAcceptResult>;
30
+ protected hasRemoteChanged(lastSyncUserData: IRemoteUserData): Promise<boolean>;
31
+ hasLocalData(): Promise<boolean>;
32
+ resolveContent(uri: URI): Promise<string | null>;
33
+ }
@@ -1,14 +1,17 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { CancellationTokenSource } from 'vscode/vscode/vs/base/common/cancellation';
3
4
  import { Emitter } from 'vscode/vscode/vs/base/common/event';
4
5
  import { stringify, parse } from 'vscode/vscode/vs/base/common/marshalling';
5
6
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
6
7
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
7
8
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
9
+ import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
8
10
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
9
11
  import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
10
12
  import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
11
- import { AbstractSynchroniser } from 'vscode/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
13
+ import { AbstractSynchroniser } from '@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
14
+ import { SyncResource } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
12
15
  import { IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
13
16
  import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service';
14
17
 
@@ -41,7 +44,7 @@ let WorkspaceStateSynchroniser = class WorkspaceStateSynchroniser extends Abstra
41
44
  constructor(profile, collection, userDataSyncStoreService, logService, fileService, environmentService, telemetryService, configurationService, storageService, uriIdentityService, workspaceIdentityService, editSessionsStorageService) {
42
45
  const userDataSyncLocalStoreService = ( new NullBackupStoreService());
43
46
  const userDataSyncEnablementService = ( new NullEnablementService());
44
- super({ syncResource: "workspaceState" , profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
47
+ super({ syncResource: SyncResource.WorkspaceState, profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
45
48
  this.workspaceIdentityService = workspaceIdentityService;
46
49
  this.editSessionsStorageService = editSessionsStorageService;
47
50
  this.version = 1;
@@ -53,13 +56,13 @@ let WorkspaceStateSynchroniser = class WorkspaceStateSynchroniser extends Abstra
53
56
  return;
54
57
  }
55
58
  await this.storageService.flush();
56
- const keys = ( this.storageService.keys(1, 0 ));
59
+ const keys = ( this.storageService.keys(StorageScope.WORKSPACE, StorageTarget.USER));
57
60
  if (!keys.length) {
58
61
  return;
59
62
  }
60
63
  const contributedData = {};
61
64
  keys.forEach((key) => {
62
- const data = this.storageService.get(key, 1 );
65
+ const data = this.storageService.get(key, StorageScope.WORKSPACE);
63
66
  if (data) {
64
67
  contributedData[key] = data;
65
68
  }
@@ -95,10 +98,10 @@ let WorkspaceStateSynchroniser = class WorkspaceStateSynchroniser extends Abstra
95
98
  try {
96
99
  const value = parse(storage[key]);
97
100
  replaceUris(value);
98
- storageEntries.push({ key, value, scope: 1 , target: 0 });
101
+ storageEntries.push({ key, value, scope: StorageScope.WORKSPACE, target: StorageTarget.USER });
99
102
  }
100
103
  catch {
101
- storageEntries.push({ key, value: storage[key], scope: 1 , target: 0 });
104
+ storageEntries.push({ key, value: storage[key], scope: StorageScope.WORKSPACE, target: StorageTarget.USER });
102
105
  }
103
106
  }
104
107
  this.storageService.storeAll(storageEntries, true);
@@ -0,0 +1,21 @@
1
+ import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
2
+ import { IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
3
+ import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
4
+ import { EditSessionIdentityMatch, IEditSessionIdentityCreateParticipant, IEditSessionIdentityProvider } from "vscode/vscode/vs/platform/workspace/common/editSessions";
5
+ import { IEditSessionIdentityService } from "vscode/vscode/vs/platform/workspace/common/editSessions.service";
6
+ import { IWorkspaceFolder } from "vscode/vscode/vs/platform/workspace/common/workspace";
7
+ import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
8
+ export declare class EditSessionIdentityService implements IEditSessionIdentityService {
9
+ private readonly _extensionService;
10
+ private readonly _logService;
11
+ readonly _serviceBrand: undefined;
12
+ private _editSessionIdentifierProviders;
13
+ constructor(_extensionService: IExtensionService, _logService: ILogService);
14
+ registerEditSessionIdentityProvider(provider: IEditSessionIdentityProvider): IDisposable;
15
+ getEditSessionIdentifier(workspaceFolder: IWorkspaceFolder, token: CancellationToken): Promise<string | undefined>;
16
+ provideEditSessionIdentityMatch(workspaceFolder: IWorkspaceFolder, identity1: string, identity2: string, cancellationToken: CancellationToken): Promise<EditSessionIdentityMatch | undefined>;
17
+ onWillCreateEditSessionIdentity(workspaceFolder: IWorkspaceFolder, cancellationToken: CancellationToken): Promise<void>;
18
+ private _participants;
19
+ addEditSessionIdentityCreateParticipant(participant: IEditSessionIdentityCreateParticipant): IDisposable;
20
+ private activateProvider;
21
+ }
@@ -1,6 +1,8 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { insert } from 'vscode/vscode/vs/base/common/arrays';
3
4
  import { toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
5
+ import 'vscode/vscode/vs/platform/instantiation/common/extensions';
4
6
  import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
5
7
  import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
6
8
  import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
@@ -0,0 +1,13 @@
1
+ import { CancellationToken } from "vscode/vscode/vs/base/common/cancellation";
2
+ import { IWorkspaceStateFolder } from "vscode/vscode/vs/platform/userDataSync/common/userDataSync";
3
+ import { IEditSessionIdentityService } from "vscode/vscode/vs/platform/workspace/common/editSessions.service";
4
+ import { IWorkspaceContextService } from "vscode/vscode/vs/platform/workspace/common/workspace.service";
5
+ import { IWorkspaceIdentityService } from "vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service";
6
+ export declare class WorkspaceIdentityService implements IWorkspaceIdentityService {
7
+ private readonly workspaceContextService;
8
+ private readonly editSessionIdentityService;
9
+ _serviceBrand: undefined;
10
+ constructor(workspaceContextService: IWorkspaceContextService, editSessionIdentityService: IEditSessionIdentityService);
11
+ getWorkspaceStateFolders(cancellationToken: CancellationToken): Promise<IWorkspaceStateFolder[]>;
12
+ matches(incomingWorkspaceFolders: IWorkspaceStateFolder[], cancellationToken: CancellationToken): Promise<((value: any) => unknown) | false>;
13
+ }
@@ -1,7 +1,9 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
3
4
  import { isEqualOrParent, relativePath, joinPath } from 'vscode/vscode/vs/base/common/resources';
4
5
  import { URI } from 'vscode/vscode/vs/base/common/uri';
6
+ import 'vscode/vscode/vs/platform/instantiation/common/extensions';
5
7
  import { EditSessionIdentityMatch } from 'vscode/vscode/vs/platform/workspace/common/editSessions';
6
8
  import { IEditSessionIdentityService } from 'vscode/vscode/vs/platform/workspace/common/editSessions.service';
7
9
  import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';