@hydranium/protocol 1.0.0-next.285 → 1.0.0-next.288

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.
@@ -24,6 +24,24 @@ export declare const DATA_CONNECTION_WATCH_RESTORE_FAILED: import("../messages/p
24
24
  * went on restoring the others.
25
25
  */
26
26
  export declare const DATA_CONNECTION_SESSION_RESTORE_FAILED: import("../messages/primitives").MessageDefinition<"Could not restore a session after reconnecting to the data server: {detail}">;
27
+ /**
28
+ * A watch {@link DataConnection.watchDocument} keeps, with what the client last
29
+ * heard of its document: a reconnect whose watch answers that no document
30
+ * exists tells the client of a deletion only where it had heard one did.
31
+ */
32
+ export interface DataConnectionWatch {
33
+ /** The URI as the caller named it, which the watch is sent under. */
34
+ readonly uri: string;
35
+ /** The key a watch of it last answered with, which events name; absent until one answered. */
36
+ readonly serverUri?: string;
37
+ /** Whether the client last heard that the document exists. */
38
+ readonly exists: boolean;
39
+ }
40
+ /** What an event heard while a watch was in flight said of its document, and the event's position. */
41
+ export interface DataConnectionHeardEvent {
42
+ readonly exists: boolean;
43
+ readonly sequence: number;
44
+ }
27
45
  /** Options for {@link DataConnection}. */
28
46
  export interface DataConnectionOptions<TTransfer extends TransferElement = TransferElement, TServer extends DataServerProtocol<TTransfer, DiagnosticOf<TServer>> = DataServerProtocol<TTransfer>> extends RpcConnectionLifecycle {
29
47
  /**
@@ -97,11 +115,11 @@ export declare class DataConnection<TTransfer extends TransferElement, TServer e
97
115
  /** Backs each session's {@link DataSessionHost.onDidDeleteDocument}. */
98
116
  protected readonly documentDeletedEmitter: Emitter<TransferDocumentDeletedEvent>;
99
117
  /**
100
- * Per id {@link watchDocument} watches under, the URI it watches, which
118
+ * Per id {@link watchDocument} watches under, the watch, which
101
119
  * {@link generationReady} sends again to every later generation until the
102
120
  * watch's handle is disposed.
103
121
  */
104
- protected readonly watches: Map<string, string>;
122
+ protected readonly watches: Map<string, DataConnectionWatch>;
105
123
  /**
106
124
  * Per id, the URI of a watch whose handle was disposed with no ready
107
125
  * generation to unwatch on. {@link generationReady} sends the unwatch to the
@@ -109,6 +127,19 @@ export declare class DataConnection<TTransfer extends TransferElement, TServer e
109
127
  * watches were sent leaves them on a connection the port may hand back.
110
128
  */
111
129
  protected readonly pendingUnwatches: Map<string, string>;
130
+ /**
131
+ * The keys of the deletions the current generation's reconnect told the
132
+ * client of, so a URI several sessions and watches follow is told once.
133
+ */
134
+ protected readonly toldDeletions: Set<string>;
135
+ /**
136
+ * One map per watch in flight, keyed by document, of what the last event
137
+ * heard since the watch was sent said of its existence, and the event's
138
+ * position. The server may take the answer before an event goes out, so
139
+ * an event heard in flight wins over the answer where its position is
140
+ * past the one the answer carries.
141
+ */
142
+ protected readonly heardInFlight: Set<Map<string, DataConnectionHeardEvent>>;
112
143
  /** The port's logger, or one that logs nothing. */
113
144
  protected readonly logger: Logger;
114
145
  /** Backs {@link onDidReconnect}. */
@@ -156,8 +187,8 @@ export declare class DataConnection<TTransfer extends TransferElement, TServer e
156
187
  * for as long as the caller follows it. The watch runs under an id of its
157
188
  * own, `label` plus `#` plus a random UUID, and needs no session: a session
158
189
  * closing the document would also end its own watch of it. Every later
159
- * connection that becomes ready gets the watch again. Disposing the handle
160
- * unwatches.
190
+ * connection that becomes ready gets the watch again, and tells the client
191
+ * of a deletion while it was down. Disposing the handle unwatches.
161
192
  */
162
193
  watchDocument(uri: string, label?: string): Promise<Disposable>;
163
194
  /**
@@ -171,6 +202,27 @@ export declare class DataConnection<TTransfer extends TransferElement, TServer e
171
202
  * binding still refuses it.
172
203
  */
173
204
  protected localTarget(): TClient;
205
+ /**
206
+ * Whether the client binds `onDocumentDeleted`. Without it no deletion
207
+ * reaches the client or the sessions, the server's or one a reconnect
208
+ * found, and a session's restore reports what a gone document took.
209
+ */
210
+ protected get hearsDeletions(): boolean;
211
+ /** Whether `name` is among the methods bound for the client, and the client implements it. */
212
+ protected bindsClientMethod(name: string): boolean;
213
+ /**
214
+ * Hand the client a deletion a session's restore or a watch sent again
215
+ * found, which no event brought while the connection was down, unless
216
+ * {@link toldDeletions} says this generation told it already. The sessions
217
+ * do not hear it: each finds what it lost in its own restore.
218
+ */
219
+ protected restoreDeletion(event: TransferDocumentDeletedEvent): void;
220
+ /**
221
+ * Record in every watch whose answer named `uri` whether the document
222
+ * exists, and in {@link heardInFlight} for the watches not answered yet,
223
+ * with the event's position.
224
+ */
225
+ protected markWatches(uri: string, exists: boolean, sequence: number): void;
174
226
  /**
175
227
  * Hand a dirty state a restore read to the client, unless it is what
176
228
  * {@link dirtyStates} says the client was last told; a URI it holds
@@ -211,9 +263,11 @@ export declare class DataConnection<TTransfer extends TransferElement, TServer e
211
263
  * `generation` is still current: otherwise the next generation sends it
212
264
  * again.
213
265
  *
214
- * Once the watch is in place, the document's dirty state is read and goes
215
- * through {@link restoreDirty}, as a session's restore does: a flip while
216
- * the connection was down reached no one.
266
+ * A document the client last heard exists that the watch's answer says
267
+ * is gone goes to the client as a deletion; once the watch is in place,
268
+ * the document's dirty state is read and goes through
269
+ * {@link restoreDirty}, as a session's restore does. Neither reached
270
+ * anyone while the connection was down.
217
271
  */
218
272
  protected watchAgain(generation: RpcConnectionGeneration<TServer>, clientId: string, uri: string): void;
219
273
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"data-connection.d.ts","sourceRoot":"","sources":["../../src/client/data-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-connection.d.ts","sourceRoot":"","sources":["../../src/client/data-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAGJ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,EACnC,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE5G;;;GAGG;AACH,eAAO,MAAM,oCAAoC,mIAGhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,mIAGlD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACjC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC3B;AAED,sGAAsG;AACtG,MAAM,WAAW,wBAAwB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC5B;AAOD,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB,CACnC,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,OAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CACrG,SAAQ,sBAAsB;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CACnE;AAED,iGAAiG;AACjG,MAAM,WAAW,gCAAgC,CAC9C,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,OAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CACrG,SAAQ,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;CAC9D;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,CAC3B,SAAS,SAAS,eAAe,EACjC,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAEpG,OAAO,SAAS,kBAAkB,CAAC,SAAS,CAAC,GACxC,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gCAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAC9H,CAAC,OAAO,EAAE,gCAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAc,CACxB,SAAS,SAAS,eAAe,EACjC,OAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,EACpG,OAAO,SAAS,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CACvD,SAAQ,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,uCAA8C;IACzE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1E,SAAS,CAAC,QAAQ,CAAC,oBAAoB,2CAAkD;IACzF;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAmC;IACtG;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,uBAA8B;IAC5D,qEAAqE;IACrE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,6CAAoD;IAC1F,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,0EAAiF;IAC1H,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,wCAA+C;IACxF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,mCAA0C;IACpE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,sBAA6B;IAChE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,cAAqB;IACrD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,6CAAoD;IACpF,mDAAmD;IACnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,oCAAoC;IACpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;IAC1D;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAA+B;IACnE,mFAAmF;IACnF,SAAS,CAAC,WAAW,UAAS;IAE9B,YAAY,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAepG;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,SAAS,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAE7D;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,KAAK,SAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAkCnF;IAED;;;;;;;;OAQG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCrE;IAED;;;;;;;;;OASG;IACH,UAAmB,WAAW,IAAI,OAAO,CA2CxC;IAED;;;;OAIG;IACH,SAAS,KAAK,cAAc,IAAI,OAAO,CAEtC;IAED,8FAA8F;IAC9F,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjD;IAED;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI,CAOnE;IAED;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO1E;IAED;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAIrE;IAED,uEAAuE;IACvE,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAMrE;IAED;;;;;;;;OAQG;IACH,UAAmB,cAAc,IAAI,IAAI,CAiBxC;IAED;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI,CAWlC;IAED;;;;OAIG;IACH,UAAmB,eAAe,CAAC,UAAU,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAWrF;IAED,8GAA8G;IAC9G,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGnG;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CA8CtG;IAED;;;;OAIG;IACM,OAAO,IAAI,IAAI,CAcvB;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAwB,CAClC,SAAS,SAAS,eAAe,EACjC,OAAO,SAAS,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CACrG,SAAQ,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3G,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAElF,YAAY,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,EAM9E;IAED,mEAAmE;IAC1D,OAAO,IAAI,IAAI,CAGvB;CACH"}
@@ -29,6 +29,10 @@ exports.DATA_CONNECTION_WATCH_RESTORE_FAILED = (0, primitives_1.defineMessage)('
29
29
  * went on restoring the others.
30
30
  */
31
31
  exports.DATA_CONNECTION_SESSION_RESTORE_FAILED = (0, primitives_1.defineMessage)('hydranium/protocol/data-connection-session-restore-failed', 'Could not restore a session after reconnecting to the data server: {detail}');
32
+ /** Whether the document exists, by the newer of a watch's answer and an event heard while the watch was in flight. */
33
+ function existsAfter(heard, answer) {
34
+ return heard !== undefined && heard.sequence > answer.sequence ? heard.exists : answer.exists;
35
+ }
32
36
  /**
33
37
  * A {@link RpcConnection} to the data head, carrying as many participants as
34
38
  * the host has interested parties.
@@ -71,7 +75,7 @@ class DataConnection extends rpc_connection_1.RpcConnection {
71
75
  /** Backs each session's {@link DataSessionHost.onDidDeleteDocument}. */
72
76
  documentDeletedEmitter = new vscode_jsonrpc_1.Emitter();
73
77
  /**
74
- * Per id {@link watchDocument} watches under, the URI it watches, which
78
+ * Per id {@link watchDocument} watches under, the watch, which
75
79
  * {@link generationReady} sends again to every later generation until the
76
80
  * watch's handle is disposed.
77
81
  */
@@ -83,6 +87,19 @@ class DataConnection extends rpc_connection_1.RpcConnection {
83
87
  * watches were sent leaves them on a connection the port may hand back.
84
88
  */
85
89
  pendingUnwatches = new Map();
90
+ /**
91
+ * The keys of the deletions the current generation's reconnect told the
92
+ * client of, so a URI several sessions and watches follow is told once.
93
+ */
94
+ toldDeletions = new Set();
95
+ /**
96
+ * One map per watch in flight, keyed by document, of what the last event
97
+ * heard since the watch was sent said of its existence, and the event's
98
+ * position. The server may take the answer before an event goes out, so
99
+ * an event heard in flight wins over the answer where its position is
100
+ * past the one the answer carries.
101
+ */
102
+ heardInFlight = new Set();
86
103
  /** The port's logger, or one that logs nothing. */
87
104
  logger;
88
105
  /** Backs {@link onDidReconnect}. */
@@ -151,6 +168,8 @@ class DataConnection extends rpc_connection_1.RpcConnection {
151
168
  connected: () => this.connected(),
152
169
  reportError: (error, reported) => this.reportError(error, reported),
153
170
  restoreDirty: event => this.restoreDirty(event),
171
+ // Without it the session reports the unsaved text it loses.
172
+ restoreDeletion: this.hearsDeletions ? event => this.restoreDeletion(event) : undefined,
154
173
  forgetDirty: uri => this.dirtyStates.delete(uri),
155
174
  onDidChangeDirty: this.dirtyChangedEmitter.event,
156
175
  onDidUpdateDocument: this.documentUpdatedEmitter.event,
@@ -173,23 +192,30 @@ class DataConnection extends rpc_connection_1.RpcConnection {
173
192
  * for as long as the caller follows it. The watch runs under an id of its
174
193
  * own, `label` plus `#` plus a random UUID, and needs no session: a session
175
194
  * closing the document would also end its own watch of it. Every later
176
- * connection that becomes ready gets the watch again. Disposing the handle
177
- * unwatches.
195
+ * connection that becomes ready gets the watch again, and tells the client
196
+ * of a deletion while it was down. Disposing the handle unwatches.
178
197
  */
179
198
  async watchDocument(uri, label = 'watch') {
180
199
  const clientId = `${label}#${(0, random_uuid_1.randomUuid)()}`;
181
200
  const server = await this.connected();
182
201
  // Kept only from here: kept during the wait, a generation that became
183
202
  // ready meanwhile would send the watch a second time.
184
- this.watches.set(clientId, uri);
203
+ this.watches.set(clientId, { uri, exists: false });
204
+ const heard = new Map();
205
+ this.heardInFlight.add(heard);
206
+ let answer;
185
207
  try {
186
- await server.watchModelDocument({ uri, clientId });
208
+ answer = await server.watchModelDocument({ uri, clientId });
187
209
  }
188
210
  catch (error) {
189
211
  this.watches.delete(clientId);
190
212
  throw error;
191
213
  }
214
+ finally {
215
+ this.heardInFlight.delete(heard);
216
+ }
192
217
  this.logger.debug(`Watch ${uri} as ${clientId}`);
218
+ this.watches.set(clientId, { uri, serverUri: answer.uri, exists: existsAfter(heard.get(answer.uri), answer) });
193
219
  return vscode_jsonrpc_1.Disposable.create(() => {
194
220
  if (!this.watches.delete(clientId)) {
195
221
  return;
@@ -226,9 +252,9 @@ class DataConnection extends rpc_connection_1.RpcConnection {
226
252
  */
227
253
  localTarget() {
228
254
  const client = this.client;
229
- const hearsDirty = typeof client.onDocumentDirtyChanged === 'function';
230
- const hearsUpdates = typeof client.onDocumentUpdated === 'function';
231
- const hearsDeletions = typeof client.onDocumentDeleted === 'function';
255
+ const hearsDirty = this.bindsClientMethod('onDocumentDirtyChanged');
256
+ const hearsUpdates = this.bindsClientMethod('onDocumentUpdated');
257
+ const hearsDeletions = this.hearsDeletions;
232
258
  if (!hearsDirty && !hearsUpdates && !hearsDeletions) {
233
259
  return this.client;
234
260
  }
@@ -248,6 +274,9 @@ class DataConnection extends rpc_connection_1.RpcConnection {
248
274
  if (hearsUpdates) {
249
275
  const forward = target.onDocumentUpdated;
250
276
  target.onDocumentUpdated = (event) => {
277
+ if (event.document.model) {
278
+ this.markWatches(event.document.uri, true, event.sequence);
279
+ }
251
280
  this.documentUpdatedEmitter.fire(event);
252
281
  forward(event);
253
282
  };
@@ -255,12 +284,56 @@ class DataConnection extends rpc_connection_1.RpcConnection {
255
284
  if (hearsDeletions) {
256
285
  const forward = target.onDocumentDeleted;
257
286
  target.onDocumentDeleted = (event) => {
287
+ // Held gone, so a reconnect tells the client of it no second time.
288
+ // A server sending no position has its deletion count as sent
289
+ // before any answer.
290
+ this.markWatches(event.uri, false, event.sequence ?? 0);
258
291
  this.documentDeletedEmitter.fire(event);
259
292
  forward(event);
260
293
  };
261
294
  }
262
295
  return target;
263
296
  }
297
+ /**
298
+ * Whether the client binds `onDocumentDeleted`. Without it no deletion
299
+ * reaches the client or the sessions, the server's or one a reconnect
300
+ * found, and a session's restore reports what a gone document took.
301
+ */
302
+ get hearsDeletions() {
303
+ return this.bindsClientMethod('onDocumentDeleted');
304
+ }
305
+ /** Whether `name` is among the methods bound for the client, and the client implements it. */
306
+ bindsClientMethod(name) {
307
+ const client = this.client;
308
+ return this.clientMethods.includes(name) && typeof client[name] === 'function';
309
+ }
310
+ /**
311
+ * Hand the client a deletion a session's restore or a watch sent again
312
+ * found, which no event brought while the connection was down, unless
313
+ * {@link toldDeletions} says this generation told it already. The sessions
314
+ * do not hear it: each finds what it lost in its own restore.
315
+ */
316
+ restoreDeletion(event) {
317
+ if (this.toldDeletions.has(event.uri)) {
318
+ return;
319
+ }
320
+ this.toldDeletions.add(event.uri);
321
+ const client = this.client;
322
+ client.onDocumentDeleted(event);
323
+ }
324
+ /**
325
+ * Record in every watch whose answer named `uri` whether the document
326
+ * exists, and in {@link heardInFlight} for the watches not answered yet,
327
+ * with the event's position.
328
+ */
329
+ markWatches(uri, exists, sequence) {
330
+ this.watches.forEach((watch, clientId) => {
331
+ if (watch.serverUri === uri) {
332
+ this.watches.set(clientId, { ...watch, exists });
333
+ }
334
+ });
335
+ this.heardInFlight.forEach(heard => heard.set(uri, { exists, sequence }));
336
+ }
264
337
  /**
265
338
  * Hand a dirty state a restore read to the client, unless it is what
266
339
  * {@link dirtyStates} says the client was last told; a URI it holds
@@ -274,8 +347,10 @@ class DataConnection extends rpc_connection_1.RpcConnection {
274
347
  /** Record `event` in {@link dirtyStates} and hand it to the client. */
275
348
  deliverDirty(event) {
276
349
  this.dirtyStates.set(event.uri, event.text?.dirty ?? false);
277
- const client = this.client;
278
- client.onDocumentDirtyChanged?.(event);
350
+ if (this.bindsClientMethod('onDocumentDirtyChanged')) {
351
+ const client = this.client;
352
+ client.onDocumentDirtyChanged(event);
353
+ }
279
354
  }
280
355
  /**
281
356
  * After the transport dropped, reconnect on the next macrotask for the
@@ -329,8 +404,9 @@ class DataConnection extends rpc_connection_1.RpcConnection {
329
404
  */
330
405
  generationReady(generation) {
331
406
  super.generationReady(generation);
407
+ this.toldDeletions.clear();
332
408
  this.reconnectSessions();
333
- this.watches.forEach((uri, clientId) => this.watchAgain(generation, clientId, uri));
409
+ this.watches.forEach((watch, clientId) => this.watchAgain(generation, clientId, watch.uri));
334
410
  this.pendingUnwatches.forEach((uri, clientId) => this.unwatch(generation, clientId, uri));
335
411
  this.pendingUnwatches.clear();
336
412
  if (this.readyBefore) {
@@ -351,16 +427,34 @@ class DataConnection extends rpc_connection_1.RpcConnection {
351
427
  * `generation` is still current: otherwise the next generation sends it
352
428
  * again.
353
429
  *
354
- * Once the watch is in place, the document's dirty state is read and goes
355
- * through {@link restoreDirty}, as a session's restore does: a flip while
356
- * the connection was down reached no one.
430
+ * A document the client last heard exists that the watch's answer says
431
+ * is gone goes to the client as a deletion; once the watch is in place,
432
+ * the document's dirty state is read and goes through
433
+ * {@link restoreDirty}, as a session's restore does. Neither reached
434
+ * anyone while the connection was down.
357
435
  */
358
436
  watchAgain(generation, clientId, uri) {
359
- generation.server.watchModelDocument({ uri, clientId }).then(() => {
360
- if (!this.watches.has(clientId)) {
437
+ const heard = new Map();
438
+ this.heardInFlight.add(heard);
439
+ generation.server
440
+ .watchModelDocument({ uri, clientId })
441
+ .finally(() => this.heardInFlight.delete(heard))
442
+ .then(answer => {
443
+ const known = this.watches.get(clientId);
444
+ if (!known) {
361
445
  return;
362
446
  }
363
447
  this.logger.debug(`Watch ${uri} again as ${clientId}`);
448
+ const exists = existsAfter(heard.get(answer.uri), answer);
449
+ this.watches.set(clientId, { uri, serverUri: answer.uri, exists });
450
+ if (known.exists && !exists && this.hearsDeletions) {
451
+ try {
452
+ this.restoreDeletion({ uri: answer.uri, sourceClientId: client_ids_1.UNKNOWN_CLIENT_ID });
453
+ }
454
+ catch {
455
+ // The client's listener failed, not the watch, which stays kept.
456
+ }
457
+ }
364
458
  generation.server.getModelDocument({ uri }).then(current => {
365
459
  if (current.text && this.watches.has(clientId)) {
366
460
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"data-connection.js","sourceRoot":"","sources":["../../src/client/data-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-connection.js","sourceRoot":"","sources":["../../src/client/data-connection.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,11 @@ export declare class DataEvents<TTransfer extends TransferElement, TDiagnostic e
44
44
  readonly onDidSaveDocument: Event<TransferDocumentSavedEvent<TTransfer, TDiagnostic>>;
45
45
  /** A watched document's text started or stopped differing from its file. */
46
46
  readonly onDidChangeDocumentDirty: Event<TransferDocumentDirtyChangedEvent>;
47
- /** A document's backing file was removed, watched or not. Any watch survives. */
47
+ /**
48
+ * A document's backing file was removed, watched or not. Any watch
49
+ * survives. After a reconnect, also a document a session had open or a
50
+ * watch followed that went while the connection was down.
51
+ */
48
52
  readonly onDidDeleteDocument: Event<TransferDocumentDeletedEvent>;
49
53
  /** Documents built that nobody watches — re-read anything derived from them. */
50
54
  readonly onDidBuildDocuments: Event<TransferDocumentsBuiltEvent>;
@@ -1 +1 @@
1
- {"version":3,"file":"data-events.d.ts","sourceRoot":"","sources":["../../src/client/data-events.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EACT,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,UAAU,CACpB,SAAS,SAAS,eAAe,EACjC,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,QAAQ,SAAS,OAAO,GAAG,OAAO,CACnC,YAAW,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,gEAAuE;IAChH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,8DAAqE;IAC5G,SAAS,CAAC,QAAQ,CAAC,2BAA2B,6CAAoD;IAClG,SAAS,CAAC,QAAQ,CAAC,sBAAsB,wCAA+C;IACxF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,uCAA8C;IACtF,SAAS,CAAC,QAAQ,CAAC,sBAAsB,0CAAiD;IAE1F,4FAA4F;IAC5F,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAqC;IAC9H,gDAAgD;IAChD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAmC;IACxH,4EAA4E;IAC5E,QAAQ,CAAC,wBAAwB,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAA0C;IACrH,iFAAiF;IACjF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAqC;IACtG,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAoC;IACpG,+BAA+B;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAqC;IAIxG,iBAAiB,CAAC,KAAK,EAAE,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAEnF;IAED,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAE/E;IAED,sBAAsB,CAAC,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAErE;IAED,iBAAiB,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI,CAE3D;IAED,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAEzD;IAED,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAE7D;IAED,OAAO,IAAI,IAAI,CAOd;CACH"}
1
+ {"version":3,"file":"data-events.d.ts","sourceRoot":"","sources":["../../src/client/data-events.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EACT,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,UAAU,CACpB,SAAS,SAAS,eAAe,EACjC,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,QAAQ,SAAS,OAAO,GAAG,OAAO,CACnC,YAAW,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,gEAAuE;IAChH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,8DAAqE;IAC5G,SAAS,CAAC,QAAQ,CAAC,2BAA2B,6CAAoD;IAClG,SAAS,CAAC,QAAQ,CAAC,sBAAsB,wCAA+C;IACxF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,uCAA8C;IACtF,SAAS,CAAC,QAAQ,CAAC,sBAAsB,0CAAiD;IAE1F,4FAA4F;IAC5F,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAqC;IAC9H,gDAAgD;IAChD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAmC;IACxH,4EAA4E;IAC5E,QAAQ,CAAC,wBAAwB,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAA0C;IACrH;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAqC;IACtG,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAoC;IACpG,+BAA+B;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAqC;IAIxG,iBAAiB,CAAC,KAAK,EAAE,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAEnF;IAED,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAE/E;IAED,sBAAsB,CAAC,KAAK,EAAE,iCAAiC,GAAG,IAAI,CAErE;IAED,iBAAiB,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI,CAE3D;IAED,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAEzD;IAED,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAE7D;IAED,OAAO,IAAI,IAAI,CAOd;CACH"}
@@ -43,7 +43,11 @@ class DataEvents {
43
43
  onDidSaveDocument = this.documentSavedEmitter.event;
44
44
  /** A watched document's text started or stopped differing from its file. */
45
45
  onDidChangeDocumentDirty = this.documentDirtyChangedEmitter.event;
46
- /** A document's backing file was removed, watched or not. Any watch survives. */
46
+ /**
47
+ * A document's backing file was removed, watched or not. Any watch
48
+ * survives. After a reconnect, also a document a session had open or a
49
+ * watch followed that went while the connection was down.
50
+ */
47
51
  onDidDeleteDocument = this.documentDeletedEmitter.event;
48
52
  /** Documents built that nobody watches — re-read anything derived from them. */
49
53
  onDidBuildDocuments = this.documentsBuiltEmitter.event;
@@ -1 +1 @@
1
- {"version":3,"file":"data-events.js","sourceRoot":"","sources":["../../src/client/data-events.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;AAElF,mDAAqD;AAcrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IAKsB,sBAAsB,GAAG,IAAI,wBAAO,EAAwD,CAAC;IAC7F,oBAAoB,GAAG,IAAI,wBAAO,EAAsD,CAAC;IACzF,2BAA2B,GAAG,IAAI,wBAAO,EAAqC,CAAC;IAC/E,sBAAsB,GAAG,IAAI,wBAAO,EAAgC,CAAC;IACrE,qBAAqB,GAAG,IAAI,wBAAO,EAA+B,CAAC;IACnE,sBAAsB,GAAG,IAAI,wBAAO,EAAkC,CAAC;IAE1F,4FAA4F;IACnF,mBAAmB,GAAgE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IAC9H,gDAAgD;IACvC,iBAAiB,GAA8D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;IACxH,4EAA4E;IACnE,wBAAwB,GAA6C,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;IACrH,iFAAiF;IACxE,mBAAmB,GAAwC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IACtG,gFAAgF;IACvE,mBAAmB,GAAuC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACpG,+BAA+B;IACtB,mBAAmB,GAA0C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IAExG,0CAA0C;IAE1C,iBAAiB,CAAC,KAA2D;QAC1E,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,KAAyD;QACtE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,sBAAsB,CAAC,KAAwC;QAC5D,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,KAAmC;QAClD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,KAAkC;QAChD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,KAAqC;QACpD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACJ,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;CACH"}
1
+ {"version":3,"file":"data-events.js","sourceRoot":"","sources":["../../src/client/data-events.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;AAElF,mDAAqD;AAcrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IAKsB,sBAAsB,GAAG,IAAI,wBAAO,EAAwD,CAAC;IAC7F,oBAAoB,GAAG,IAAI,wBAAO,EAAsD,CAAC;IACzF,2BAA2B,GAAG,IAAI,wBAAO,EAAqC,CAAC;IAC/E,sBAAsB,GAAG,IAAI,wBAAO,EAAgC,CAAC;IACrE,qBAAqB,GAAG,IAAI,wBAAO,EAA+B,CAAC;IACnE,sBAAsB,GAAG,IAAI,wBAAO,EAAkC,CAAC;IAE1F,4FAA4F;IACnF,mBAAmB,GAAgE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IAC9H,gDAAgD;IACvC,iBAAiB,GAA8D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;IACxH,4EAA4E;IACnE,wBAAwB,GAA6C,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;IACrH;;;;OAIG;IACM,mBAAmB,GAAwC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IACtG,gFAAgF;IACvE,mBAAmB,GAAuC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACpG,+BAA+B;IACtB,mBAAmB,GAA0C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IAExG,0CAA0C;IAE1C,iBAAiB,CAAC,KAA2D;QAC1E,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,KAAyD;QACtE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,sBAAsB,CAAC,KAAwC;QAC5D,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,KAAmC;QAClD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,KAAkC;QAChD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,KAAqC;QACpD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACJ,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;CACH"}