@hydranium/glsp-server 1.0.0-next.317 → 1.0.0-next.319

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 (46) hide show
  1. package/lib/command/hydranium-glsp-command-stack.d.ts +13 -2
  2. package/lib/command/hydranium-glsp-command-stack.d.ts.map +1 -1
  3. package/lib/command/hydranium-glsp-command-stack.js +49 -2
  4. package/lib/command/hydranium-glsp-command-stack.js.map +1 -1
  5. package/lib/command/hydranium-glsp-operation-command.d.ts +21 -2
  6. package/lib/command/hydranium-glsp-operation-command.d.ts.map +1 -1
  7. package/lib/command/hydranium-glsp-operation-command.js +29 -3
  8. package/lib/command/hydranium-glsp-operation-command.js.map +1 -1
  9. package/lib/command/hydranium-glsp-recording-command.d.ts +7 -0
  10. package/lib/command/hydranium-glsp-recording-command.d.ts.map +1 -1
  11. package/lib/command/hydranium-glsp-recording-command.js +12 -1
  12. package/lib/command/hydranium-glsp-recording-command.js.map +1 -1
  13. package/lib/command/hydranium-glsp-undo-redo-action-handler.d.ts +58 -1
  14. package/lib/command/hydranium-glsp-undo-redo-action-handler.d.ts.map +1 -1
  15. package/lib/command/hydranium-glsp-undo-redo-action-handler.js +116 -1
  16. package/lib/command/hydranium-glsp-undo-redo-action-handler.js.map +1 -1
  17. package/lib/computed-bounds/hydranium-glsp-computed-bounds-action-handler.d.ts +11 -1
  18. package/lib/computed-bounds/hydranium-glsp-computed-bounds-action-handler.d.ts.map +1 -1
  19. package/lib/computed-bounds/hydranium-glsp-computed-bounds-action-handler.js +22 -3
  20. package/lib/computed-bounds/hydranium-glsp-computed-bounds-action-handler.js.map +1 -1
  21. package/lib/messages/index.d.ts +3 -0
  22. package/lib/messages/index.d.ts.map +1 -1
  23. package/lib/messages/index.js +3 -0
  24. package/lib/messages/index.js.map +1 -1
  25. package/lib/state/abstract-hydranium-glsp-state.d.ts +12 -1
  26. package/lib/state/abstract-hydranium-glsp-state.d.ts.map +1 -1
  27. package/lib/state/abstract-hydranium-glsp-state.js +17 -1
  28. package/lib/state/abstract-hydranium-glsp-state.js.map +1 -1
  29. package/lib/status/diagram-status-reporter.d.ts +23 -3
  30. package/lib/status/diagram-status-reporter.d.ts.map +1 -1
  31. package/lib/status/diagram-status-reporter.js +28 -2
  32. package/lib/status/diagram-status-reporter.js.map +1 -1
  33. package/lib/submission/hydranium-glsp-submission-handler.d.ts +12 -1
  34. package/lib/submission/hydranium-glsp-submission-handler.d.ts.map +1 -1
  35. package/lib/submission/hydranium-glsp-submission-handler.js +30 -4
  36. package/lib/submission/hydranium-glsp-submission-handler.js.map +1 -1
  37. package/package.json +7 -7
  38. package/src/command/hydranium-glsp-command-stack.ts +52 -2
  39. package/src/command/hydranium-glsp-operation-command.ts +42 -3
  40. package/src/command/hydranium-glsp-recording-command.ts +14 -1
  41. package/src/command/hydranium-glsp-undo-redo-action-handler.ts +146 -1
  42. package/src/computed-bounds/hydranium-glsp-computed-bounds-action-handler.ts +21 -3
  43. package/src/messages/index.ts +12 -0
  44. package/src/state/abstract-hydranium-glsp-state.ts +19 -1
  45. package/src/status/diagram-status-reporter.ts +37 -4
  46. package/src/submission/hydranium-glsp-submission-handler.ts +26 -5
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-undo-redo-action-handler.js","sourceRoot":"","sources":["../../src/command/hydranium-glsp-undo-redo-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;;;;AAElF,OAAO,EAAe,UAAU,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG/C;;;;;;GAMG;AAEI,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,qBAAqB;IACnC,UAAU,CAAgD;IAExF,OAAO,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;CACH,CAAA;AALyC;IAAtC,MAAM,CAAC,UAAU,CAAC;;sEAA8E;AADvF,kCAAkC;IAD9C,UAAU,EAAE;GACA,kCAAkC,CAM9C"}
1
+ {"version":3,"file":"hydranium-glsp-undo-redo-action-handler.js","sourceRoot":"","sources":["../../src/command/hydranium-glsp-undo-redo-action-handler.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,16 @@
8
8
  ********************************************************************************/
9
9
  import { type Action, type ComputedBoundsAction, ComputedBoundsActionHandler, type GModelRoot, type MaybePromise } from '@eclipse-glsp/server';
10
10
  import { type AstNode } from '@hydranium/langium';
11
+ import { type ServerSharedServices } from '@hydranium/core';
11
12
  import { type AbstractHydraniumGlspState } from '../state/abstract-hydranium-glsp-state.js';
12
13
  import { type HydraniumGlspSubmissionHandler } from '../submission/hydranium-glsp-submission-handler.js';
14
+ /**
15
+ * The first layout of a diagram arrived for a model the server has since
16
+ * replaced, so the diagram stays empty. Rendered at the raise site, since
17
+ * GLSP's message action has no slot for its identity. It names the recovery:
18
+ * a reopened diagram requests its model again.
19
+ */
20
+ export declare const DIAGRAM_LAYOUT_STALE: import("@hydranium/protocol").MessageDefinition<"Could not show this diagram: the document changed while it was opening. Close the diagram and open it again.">;
13
21
  /**
14
22
  * GLSP {@link ComputedBoundsActionHandler} base shared by all hydranium
15
23
  * adopters. Adds handshake-aware revision-mismatch logging on top of the
@@ -23,7 +31,8 @@ import { type HydraniumGlspSubmissionHandler } from '../submission/hydranium-gls
23
31
  * very first `computedBounds` arrives with a revision the server has already
24
32
  * bumped, the subsequent `SetModelAction` response never fires and the diagram
25
33
  * stays stuck at "model loading…". Adopters need this initial-handshake case
26
- * logged as an error: the diagram stays empty, so the requested load failed.
34
+ * logged as an error, and the client told with {@link DIAGRAM_LAYOUT_STALE}:
35
+ * the diagram stays empty, so the requested load failed.
27
36
  *
28
37
  * **Handshake detection** uses
29
38
  * {@link HydraniumGlspSubmissionHandler.hasPendingInitialRequest} — true
@@ -39,6 +48,7 @@ import { type HydraniumGlspSubmissionHandler } from '../submission/hydranium-gls
39
48
  export declare class HydraniumGlspComputedBoundsActionHandler extends ComputedBoundsActionHandler {
40
49
  protected readonly modelState: AbstractHydraniumGlspState<AstNode, unknown>;
41
50
  protected readonly submissionHandler: HydraniumGlspSubmissionHandler<AstNode, unknown>;
51
+ protected readonly sharedServices: ServerSharedServices;
42
52
  execute(action: ComputedBoundsAction): MaybePromise<Action[]>;
43
53
  /**
44
54
  * Defensively filter routes that lack the source+target endpoints upstream
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-computed-bounds-action-handler.d.ts","sourceRoot":"","sources":["../../src/computed-bounds/hydranium-glsp-computed-bounds-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,KAAK,oBAAoB,EACzB,2BAA2B,EAC3B,KAAK,UAAU,EACf,KAAK,YAAY,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAEzG;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,wCAAyC,SAAQ,2BAA2B;IACtF,mBAA2B,UAAU,EAAE,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpF,mBAA2B,iBAAiB,EAAE,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtF,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAmBrE;IAED;;;;;;;;;;;;;;;OAeG;IACH,UAAmB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAYnF;CACH"}
1
+ {"version":3,"file":"hydranium-glsp-computed-bounds-action-handler.d.ts","sourceRoot":"","sources":["../../src/computed-bounds/hydranium-glsp-computed-bounds-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,KAAK,oBAAoB,EACzB,2BAA2B,EAC3B,KAAK,UAAU,EACf,KAAK,YAAY,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAEzG;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,iKAGhC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBACa,wCAAyC,SAAQ,2BAA2B;IACtF,mBAA2B,UAAU,EAAE,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpF,mBAA2B,iBAAiB,EAAE,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAE3F,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAoBrE;IAED;;;;;;;;;;;;;;;OAeG;IACH,UAAmB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAYnF;CACH"}
@@ -12,8 +12,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
12
12
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
14
14
  };
15
- import { ComputedBoundsActionHandler } from '@eclipse-glsp/server';
16
- import { injectable } from 'inversify';
15
+ var __metadata = (this && this.__metadata) || function (k, v) {
16
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17
+ };
18
+ import { ComputedBoundsActionHandler, MessageAction } from '@eclipse-glsp/server';
19
+ import { defineMessage } from '@hydranium/protocol';
20
+ import { inject, injectable } from 'inversify';
21
+ import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
22
+ /**
23
+ * The first layout of a diagram arrived for a model the server has since
24
+ * replaced, so the diagram stays empty. Rendered at the raise site, since
25
+ * GLSP's message action has no slot for its identity. It names the recovery:
26
+ * a reopened diagram requests its model again.
27
+ */
28
+ export const DIAGRAM_LAYOUT_STALE = defineMessage('hydranium/glsp-server/diagram-layout-stale', 'Could not show this diagram: the document changed while it was opening. Close the diagram and open it again.');
17
29
  /**
18
30
  * GLSP {@link ComputedBoundsActionHandler} base shared by all hydranium
19
31
  * adopters. Adds handshake-aware revision-mismatch logging on top of the
@@ -27,7 +39,8 @@ import { injectable } from 'inversify';
27
39
  * very first `computedBounds` arrives with a revision the server has already
28
40
  * bumped, the subsequent `SetModelAction` response never fires and the diagram
29
41
  * stays stuck at "model loading…". Adopters need this initial-handshake case
30
- * logged as an error: the diagram stays empty, so the requested load failed.
42
+ * logged as an error, and the client told with {@link DIAGRAM_LAYOUT_STALE}:
43
+ * the diagram stays empty, so the requested load failed.
31
44
  *
32
45
  * **Handshake detection** uses
33
46
  * {@link HydraniumGlspSubmissionHandler.hasPendingInitialRequest} — true
@@ -41,6 +54,7 @@ import { injectable } from 'inversify';
41
54
  * bounds-specific cleanup subclass and override `applyBounds`.
42
55
  */
43
56
  let HydraniumGlspComputedBoundsActionHandler = class HydraniumGlspComputedBoundsActionHandler extends ComputedBoundsActionHandler {
57
+ sharedServices;
44
58
  execute(action) {
45
59
  this.modelState.logger.debug(`ComputedBoundsActionHandler.execute entered: action.revision=${action.revision}`);
46
60
  const model = this.modelState.root;
@@ -48,6 +62,7 @@ let HydraniumGlspComputedBoundsActionHandler = class HydraniumGlspComputedBounds
48
62
  if (this.submissionHandler.hasPendingInitialRequest()) {
49
63
  this.modelState.logger.error(`ComputedBounds rejected (initial handshake): action.revision=${action.revision} model.revision=${model.revision} — ` +
50
64
  'initial SetModelAction will not fire (empty diagram)');
65
+ return [MessageAction.create(this.sharedServices.MessageRenderer.renderMessage(DIAGRAM_LAYOUT_STALE), { severity: 'ERROR' })];
51
66
  }
52
67
  else {
53
68
  this.modelState.logger.debug(`ComputedBounds dropped (stale): action.revision=${action.revision} model.revision=${model.revision} — ` +
@@ -86,6 +101,10 @@ let HydraniumGlspComputedBoundsActionHandler = class HydraniumGlspComputedBounds
86
101
  super.applyBounds(root, action);
87
102
  }
88
103
  };
104
+ __decorate([
105
+ inject(HydraniumTypes.SharedCoreServices),
106
+ __metadata("design:type", Object)
107
+ ], HydraniumGlspComputedBoundsActionHandler.prototype, "sharedServices", void 0);
89
108
  HydraniumGlspComputedBoundsActionHandler = __decorate([
90
109
  injectable()
91
110
  ], HydraniumGlspComputedBoundsActionHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-computed-bounds-action-handler.js","sourceRoot":"","sources":["../../src/computed-bounds/hydranium-glsp-computed-bounds-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;AAElF,OAAO,EAGJ,2BAA2B,EAG7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,2BAA2B;IAI7E,OAAO,CAAC,MAA4B;QAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACzB,gEAAgE,MAAM,CAAC,QAAQ,mBAAmB,KAAK,CAAC,QAAQ,KAAK;oBAClH,sDAAsD,CAC3D,CAAC;YACL,CAAC;iBAAM,CAAC;gBACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACzB,mDAAmD,MAAM,CAAC,QAAQ,mBAAmB,KAAK,CAAC,QAAQ,KAAK;oBACrG,sDAAsD,CAC3D,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;QACb,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3H,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACgB,WAAW,CAAC,IAAgB,EAAE,MAA4B;QAC1E,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACzB,0BAA0B,OAAO,IAAI,QAAQ,uEAAuE,CACtH,CAAC;YACL,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;CACH,CAAA;AAtDY,wCAAwC;IADpD,UAAU,EAAE;GACA,wCAAwC,CAsDpD"}
1
+ {"version":3,"file":"hydranium-glsp-computed-bounds-action-handler.js","sourceRoot":"","sources":["../../src/computed-bounds/hydranium-glsp-computed-bounds-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;;;;;;;;;;AAElF,OAAO,EAGJ,2BAA2B,EAG3B,aAAa,EACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAG5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC9C,4CAA4C,EAC5C,8GAA8G,CAChH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEI,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,2BAA2B;IAGxB,cAAc,CAAwB;IAE3F,OAAO,CAAC,MAA4B;QAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACzB,gEAAgE,MAAM,CAAC,QAAQ,mBAAmB,KAAK,CAAC,QAAQ,KAAK;oBAClH,sDAAsD,CAC3D,CAAC;gBACF,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACjI,CAAC;iBAAM,CAAC;gBACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACzB,mDAAmD,MAAM,CAAC,QAAQ,mBAAmB,KAAK,CAAC,QAAQ,KAAK;oBACrG,sDAAsD,CAC3D,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;QACb,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3H,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACgB,WAAW,CAAC,IAAgB,EAAE,MAA4B;QAC1E,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CACzB,0BAA0B,OAAO,IAAI,QAAQ,uEAAuE,CACtH,CAAC;YACL,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;CACH,CAAA;AArDgE;IAA7D,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC;;gFAA0D;AAH1F,wCAAwC;IADpD,UAAU,EAAE;GACA,wCAAwC,CAwDpD"}
@@ -20,5 +20,8 @@
20
20
  * The barrel is also how an adopter rendering their own diagram chrome
21
21
  * discovers the codes exist.
22
22
  */
23
+ export { DIAGRAM_REDO_ERROR, DIAGRAM_REDO_FAILED, DIAGRAM_REDO_PARTLY_SKIPPED, DIAGRAM_REDO_SKIPPED, DIAGRAM_UNDO_ERROR, DIAGRAM_UNDO_FAILED, DIAGRAM_UNDO_PARTLY_SKIPPED, DIAGRAM_UNDO_SKIPPED } from '../command/hydranium-glsp-undo-redo-action-handler.js';
24
+ export { DIAGRAM_LAYOUT_STALE } from '../computed-bounds/hydranium-glsp-computed-bounds-action-handler.js';
25
+ export { DIAGRAM_EDIT_DROPPED } from '../status/diagram-status-reporter.js';
23
26
  export { DIAGRAM_READONLY_PARSE_ERROR, DIAGRAM_SESSION_REFUSED, SAVE_TARGET_UNKNOWN, SOURCE_URI_MISSING } from '../storage/hydranium-glsp-storage.js';
24
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACpB,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACtB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACpB,MAAM,sCAAsC,CAAC"}
@@ -20,5 +20,8 @@
20
20
  * The barrel is also how an adopter rendering their own diagram chrome
21
21
  * discovers the codes exist.
22
22
  */
23
+ export { DIAGRAM_REDO_ERROR, DIAGRAM_REDO_FAILED, DIAGRAM_REDO_PARTLY_SKIPPED, DIAGRAM_REDO_SKIPPED, DIAGRAM_UNDO_ERROR, DIAGRAM_UNDO_FAILED, DIAGRAM_UNDO_PARTLY_SKIPPED, DIAGRAM_UNDO_SKIPPED } from '../command/hydranium-glsp-undo-redo-action-handler.js';
24
+ export { DIAGRAM_LAYOUT_STALE } from '../computed-bounds/hydranium-glsp-computed-bounds-action-handler.js';
25
+ export { DIAGRAM_EDIT_DROPPED } from '../status/diagram-status-reporter.js';
23
26
  export { DIAGRAM_READONLY_PARSE_ERROR, DIAGRAM_SESSION_REFUSED, SAVE_TARGET_UNKNOWN, SOURCE_URI_MISSING } from '../storage/hydranium-glsp-storage.js';
24
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACpB,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACtB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACpB,MAAM,sCAAsC,CAAC"}
@@ -255,9 +255,20 @@ export declare abstract class AbstractHydraniumGlspState<TRoot extends AstNode,
255
255
  /**
256
256
  * Resync after a write whose reconcile dropped the edit: during an
257
257
  * operation the operation undoes its side effects, pushes nothing, and
258
- * captures the document's current root when it ends.
258
+ * captures the document's current root when it ends. Announced on
259
+ * {@link onEditDropped}, except during an undo or redo, which fails and
260
+ * reports that itself.
259
261
  */
260
262
  protected writeDropped(): void;
263
+ /** Backing emitter for {@link onEditDropped}. */
264
+ protected readonly editDroppedEmitter: Emitter<void>;
265
+ /**
266
+ * Fires when a write's reconcile dropped a diagram edit, whether an
267
+ * operation or code outside one wrote it, so that one listener tells the
268
+ * client: the diagram returning to the document's state otherwise reads as
269
+ * the edit never having been made.
270
+ */
271
+ get onEditDropped(): Event<void>;
261
272
  /**
262
273
  * Take the document's built root as the source root; during an operation,
263
274
  * as the root the operation closes on. A write the document already held,
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-hydranium-glsp-state.d.ts","sourceRoot":"","sources":["../../src/state/abstract-hydranium-glsp-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-hydranium-glsp-state.d.ts","sourceRoot":"","sources":["../../src/state/abstract-hydranium-glsp-state.ts"],"names":[],"mappings":"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"}
@@ -366,7 +366,9 @@ let AbstractHydraniumGlspState = class AbstractHydraniumGlspState extends Defaul
366
366
  /**
367
367
  * Resync after a write whose reconcile dropped the edit: during an
368
368
  * operation the operation undoes its side effects, pushes nothing, and
369
- * captures the document's current root when it ends.
369
+ * captures the document's current root when it ends. Announced on
370
+ * {@link onEditDropped}, except during an undo or redo, which fails and
371
+ * reports that itself.
370
372
  */
371
373
  writeDropped() {
372
374
  const operation = openOperationOf(this);
@@ -376,6 +378,20 @@ let AbstractHydraniumGlspState = class AbstractHydraniumGlspState extends Defaul
376
378
  else {
377
379
  this.refreshSourceRoot();
378
380
  }
381
+ if (!operation?.isUndoingOrRedoing()) {
382
+ this.editDroppedEmitter.fire();
383
+ }
384
+ }
385
+ /** Backing emitter for {@link onEditDropped}. */
386
+ editDroppedEmitter = new Emitter();
387
+ /**
388
+ * Fires when a write's reconcile dropped a diagram edit, whether an
389
+ * operation or code outside one wrote it, so that one listener tells the
390
+ * client: the diagram returning to the document's state otherwise reads as
391
+ * the edit never having been made.
392
+ */
393
+ get onEditDropped() {
394
+ return this.editDroppedEmitter.event;
379
395
  }
380
396
  /**
381
397
  * Take the document's built root as the source root; during an operation,
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-hydranium-glsp-state.js","sourceRoot":"","sources":["../../src/state/abstract-hydranium-glsp-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-hydranium-glsp-state.js","sourceRoot":"","sources":["../../src/state/abstract-hydranium-glsp-state.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,28 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { type Action, ActionDispatcher, type ClientSession, type ClientSessionInitializer, type ClientSessionListener, ClientSessionManager, EditMode } from '@eclipse-glsp/server';
10
+ import { type ServerSharedServices } from '@hydranium/core';
10
11
  import { type AstNode } from '@hydranium/langium';
11
12
  import { DisposableCollection } from '@hydranium/protocol';
12
13
  import { type AbstractHydraniumGlspState } from '../state/abstract-hydranium-glsp-state.js';
14
+ /**
15
+ * A diagram edit was dropped because another editor changed the same field
16
+ * first. The diagram returns to the document's state, which without this reads
17
+ * as the edit never having been made. It names the recovery: the edit made
18
+ * again applies to the other editor's change.
19
+ */
20
+ export declare const DIAGRAM_EDIT_DROPPED: import("@hydranium/protocol").MessageDefinition<"Your diagram change was not applied: another editor changed the same element first. Make the change again if you still want it.">;
13
21
  /**
14
22
  * Sends the client what {@link AbstractHydraniumGlspState.onStatusChanged}
15
- * announces: the current status for its status overlay and the edit mode.
23
+ * announces: the current status for its status overlay and the edit mode; and
24
+ * a warning for each edit {@link AbstractHydraniumGlspState.onEditDropped}
25
+ * announces.
16
26
  *
17
- * The only sender of either action. A status or edit mode dispatched from
27
+ * The only sender of the status and the edit mode. Either dispatched from
18
28
  * anywhere else is overwritten by the next change, and the state's account of
19
- * why the diagram is read-only no longer matches the client's.
29
+ * why the diagram is read-only no longer matches the client's. An
30
+ * implementation bound in place of {@link DefaultDiagramStatusReporter} takes
31
+ * over the dropped-edit warning too, or the client no longer hears of one.
20
32
  */
21
33
  export interface DiagramStatusReporter extends ClientSessionInitializer {
22
34
  /**
@@ -30,6 +42,7 @@ export declare class DefaultDiagramStatusReporter implements DiagramStatusReport
30
42
  protected readonly state: AbstractHydraniumGlspState<AstNode, unknown>;
31
43
  protected readonly actionDispatcher: ActionDispatcher;
32
44
  protected readonly sessionManager: ClientSessionManager;
45
+ protected readonly sharedServices: ServerSharedServices;
33
46
  protected readonly toDispose: DisposableCollection;
34
47
  /** What the client shows; it starts editable with an empty overlay. */
35
48
  protected sentStatus: string;
@@ -37,6 +50,13 @@ export declare class DefaultDiagramStatusReporter implements DiagramStatusReport
37
50
  initialize(): void;
38
51
  clientEditModeChanged(editMode: EditMode): void;
39
52
  protected send(): void;
53
+ /**
54
+ * Warn the client of a dropped edit. Not awaited: the drop is announced
55
+ * inside the diagram's exclusive section, and a dispatch from outside any
56
+ * action queues behind the action being processed, which may be waiting
57
+ * for that section.
58
+ */
59
+ protected sendEditDropped(): void;
40
60
  /** The actions that bring the client up to date, recording them as sent. */
41
61
  protected changedActions(): Action[];
42
62
  sessionDisposed(_clientSession: ClientSession): void;
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-status-reporter.d.ts","sourceRoot":"","sources":["../../src/status/diagram-status-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,QAAQ,EAIV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAG5F;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACpE;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAClD;AACD,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE,qBACa,4BAA6B,YAAW,qBAAqB,EAAE,qBAAqB;IAC1E,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAG,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAG,gBAAgB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAEvF,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,uEAAuE;IACvE,SAAS,CAAC,UAAU,SAAwB;IAC5C,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,UAAU,IAAI,IAAI,CAGjB;IAED,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAG9C;IAED,SAAS,CAAC,IAAI,IAAI,IAAI,CAIrB;IAED,4EAA4E;IAC5E,SAAS,CAAC,cAAc,IAAI,MAAM,EAAE,CAwBnC;IAED,eAAe,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI,CAEnD;CACH"}
1
+ {"version":3,"file":"diagram-status-reporter.d.ts","sourceRoot":"","sources":["../../src/status/diagram-status-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,QAAQ,EAKV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAyC,MAAM,qBAAqB,CAAC;AAElG,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAI5F;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,oLAGhC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACpE;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAClD;AACD,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE,qBACa,4BAA6B,YAAW,qBAAqB,EAAE,qBAAqB;IAC1E,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAG,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAG,gBAAgB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAEpG,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,uEAAuE;IACvE,SAAS,CAAC,UAAU,SAAwB;IAC5C,SAAS,CAAC,YAAY,EAAE,MAAM,CAAqB;IAEnD,UAAU,IAAI,IAAI,CAIjB;IAED,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAG9C;IAED,SAAS,CAAC,IAAI,IAAI,IAAI,CAIrB;IAED;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI,CAKhC;IAED,4EAA4E;IAC5E,SAAS,CAAC,cAAc,IAAI,MAAM,EAAE,CAwBnC;IAED,eAAe,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI,CAEnD;CACH"}
@@ -15,14 +15,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
15
15
  var __metadata = (this && this.__metadata) || function (k, v) {
16
16
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17
17
  };
18
- import { ActionDispatcher, ClientSessionManager, EditMode, ModelState, SetEditModeAction, StatusAction } from '@eclipse-glsp/server';
19
- import { DisposableCollection, describeErrorWithStack } from '@hydranium/protocol';
18
+ import { ActionDispatcher, ClientSessionManager, EditMode, MessageAction, ModelState, SetEditModeAction, StatusAction } from '@eclipse-glsp/server';
19
+ import { DisposableCollection, defineMessage, describeErrorWithStack } from '@hydranium/protocol';
20
20
  import { inject, injectable } from 'inversify';
21
+ import { HydraniumTypes } from '../state/hydranium-shared-core-services.js';
22
+ /**
23
+ * A diagram edit was dropped because another editor changed the same field
24
+ * first. The diagram returns to the document's state, which without this reads
25
+ * as the edit never having been made. It names the recovery: the edit made
26
+ * again applies to the other editor's change.
27
+ */
28
+ export const DIAGRAM_EDIT_DROPPED = defineMessage('hydranium/glsp-server/diagram-edit-dropped', 'Your diagram change was not applied: another editor changed the same element first. Make the change again if you still want it.');
21
29
  export const DiagramStatusReporter = Symbol('DiagramStatusReporter');
22
30
  let DefaultDiagramStatusReporter = class DefaultDiagramStatusReporter {
23
31
  state;
24
32
  actionDispatcher;
25
33
  sessionManager;
34
+ sharedServices;
26
35
  toDispose = new DisposableCollection();
27
36
  /** What the client shows; it starts editable with an empty overlay. */
28
37
  sentStatus = statusKey(undefined);
@@ -30,6 +39,7 @@ let DefaultDiagramStatusReporter = class DefaultDiagramStatusReporter {
30
39
  initialize() {
31
40
  this.sessionManager.addListener(this, this.state.clientId);
32
41
  this.toDispose.push(this.state.onStatusChanged(() => this.send()));
42
+ this.toDispose.push(this.state.onEditDropped(() => this.sendEditDropped()));
33
43
  }
34
44
  clientEditModeChanged(editMode) {
35
45
  this.sentEditMode = editMode;
@@ -40,6 +50,18 @@ let DefaultDiagramStatusReporter = class DefaultDiagramStatusReporter {
40
50
  .dispatchAll(this.changedActions())
41
51
  .catch((error) => this.state.logger.warn(`Could not send the diagram status: ${describeErrorWithStack(error)}`));
42
52
  }
53
+ /**
54
+ * Warn the client of a dropped edit. Not awaited: the drop is announced
55
+ * inside the diagram's exclusive section, and a dispatch from outside any
56
+ * action queues behind the action being processed, which may be waiting
57
+ * for that section.
58
+ */
59
+ sendEditDropped() {
60
+ const message = this.sharedServices.MessageRenderer.renderMessage(DIAGRAM_EDIT_DROPPED);
61
+ this.actionDispatcher
62
+ .dispatch(MessageAction.create(message, { severity: 'WARNING' }))
63
+ .catch((error) => this.state.logger.warn(`Could not warn of a dropped edit: ${describeErrorWithStack(error)}`));
64
+ }
43
65
  /** The actions that bring the client up to date, recording them as sent. */
44
66
  changedActions() {
45
67
  const actions = [];
@@ -78,6 +100,10 @@ __decorate([
78
100
  inject(ClientSessionManager),
79
101
  __metadata("design:type", Object)
80
102
  ], DefaultDiagramStatusReporter.prototype, "sessionManager", void 0);
103
+ __decorate([
104
+ inject(HydraniumTypes.SharedCoreServices),
105
+ __metadata("design:type", Object)
106
+ ], DefaultDiagramStatusReporter.prototype, "sharedServices", void 0);
81
107
  DefaultDiagramStatusReporter = __decorate([
82
108
  injectable()
83
109
  ], DefaultDiagramStatusReporter);
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-status-reporter.js","sourceRoot":"","sources":["../../src/status/diagram-status-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagram-status-reporter.js","sourceRoot":"","sources":["../../src/status/diagram-status-reporter.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { type Action, type DirtyStateChangeReason, type GModelRootSchema, type LayoutOperation, ModelSubmissionHandler, type ModelValidator, type SetModelAction } from '@eclipse-glsp/server';
9
+ import { type Action, ClientSessionManager, type DirtyStateChangeReason, type GModelRootSchema, type LayoutOperation, ModelSubmissionHandler, type ModelValidator, type SetModelAction } from '@eclipse-glsp/server';
10
10
  import { type AstNode, type DocumentState } from '@hydranium/langium';
11
11
  import { type AbstractHydraniumGlspState } from '../state/abstract-hydranium-glsp-state.js';
12
12
  /**
@@ -40,6 +40,7 @@ import { type AbstractHydraniumGlspState } from '../state/abstract-hydranium-gls
40
40
  */
41
41
  export declare class HydraniumGlspSubmissionHandler<TRoot extends AstNode, TSourceModel = string> extends ModelSubmissionHandler {
42
42
  protected modelState: AbstractHydraniumGlspState<TRoot, TSourceModel>;
43
+ protected readonly sessionManager: ClientSessionManager;
43
44
  /**
44
45
  * Document-state gate awaited before {@link submitModel} delegates to
45
46
  * `super.submitModel`. Default {@link IntegrityService.SettledState} so the
@@ -109,8 +110,18 @@ export declare class HydraniumGlspSubmissionHandler<TRoot extends AstNode, TSour
109
110
  * Never rejects: GLSP runs it from a debounce that drops the result, so a
110
111
  * failure here would go unhandled. A validator that throws is logged as an
111
112
  * error, markers that cannot be sent as a warning.
113
+ *
114
+ * GLSP does not cancel that debounce when the session ends, so it also runs
115
+ * for a diagram just closed: that run is skipped, and markers it could not
116
+ * send because the session ended meanwhile are logged for diagnosis only.
112
117
  */
113
118
  protected performLiveValidation(validator: ModelValidator): Promise<void>;
119
+ /**
120
+ * Whether the client session this handler serves has ended. By its
121
+ * dispatcher rather than its id: a client that reopens a diagram under the
122
+ * same id gets a new session, which this handler does not serve.
123
+ */
124
+ protected sessionEnded(): boolean;
114
125
  /**
115
126
  * Serialise the model-bearing actions of a submission into a comparable
116
127
  * signature.
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-glsp-submission-handler.d.ts","sourceRoot":"","sources":["../../src/submission/hydranium-glsp-submission-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAGpB,sBAAsB,EACtB,KAAK,cAAc,EAGnB,KAAK,cAAc,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAG5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBACa,8BAA8B,CAAC,KAAK,SAAS,OAAO,EAAE,YAAY,GAAG,MAAM,CAAE,SAAQ,sBAAsB;IACrH,UAAsC,UAAU,EAAE,0BAA0B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAElG;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,EAAE,aAAa,GAAG,SAAS,CAAiC;IAEhF;;;;;;;;;OASG;IACH,wBAAwB,IAAI,OAAO,CAElC;IAEc,WAAW,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBvG;IAED;;;;;;;;OAQG;IACH,IAAI,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE/C;IAED,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE3C,mEAAmE;IACnE,SAAS,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAEzC;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,SAAS,CAAC,mBAAmB,SAAK;IAElC,wDAAwD;IACxD,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE3C,oDAAoD;IACpD,SAAS,CAAC,kBAAkB,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3F;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAY/C;IAED;;;;;;;;OAQG;IACH,UAAyB,qBAAqB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvF;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAK/C;IAED;;;;OAIG;IACH,UAAmB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAMhF;IAED,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAUvF;IAED;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAE1D;CACH"}
1
+ {"version":3,"file":"hydranium-glsp-submission-handler.d.ts","sourceRoot":"","sources":["../../src/submission/hydranium-glsp-submission-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAGpB,sBAAsB,EACtB,KAAK,cAAc,EAGnB,KAAK,cAAc,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAG5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBACa,8BAA8B,CAAC,KAAK,SAAS,OAAO,EAAE,YAAY,GAAG,MAAM,CAAE,SAAQ,sBAAsB;IACrH,UAAsC,UAAU,EAAE,0BAA0B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,oBAAoB,CAAC;IAEvF;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,EAAE,aAAa,GAAG,SAAS,CAAiC;IAEhF;;;;;;;;;OASG;IACH,wBAAwB,IAAI,OAAO,CAElC;IAEc,WAAW,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBvG;IAED;;;;;;;;OAQG;IACH,IAAI,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE/C;IAED,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE3C,mEAAmE;IACnE,SAAS,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAEzC;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,SAAS,CAAC,mBAAmB,SAAK;IAElC,wDAAwD;IACxD,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE3C,oDAAoD;IACpD,SAAS,CAAC,kBAAkB,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3F;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAY/C;IAED;;;;;;;;;;;;OAYG;IACH,UAAyB,qBAAqB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvF;IAED;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO,CAEhC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAK/C;IAED;;;;OAIG;IACH,UAAmB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAMhF;IAED,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAUvF;IAED;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAE1D;CACH"}
@@ -15,7 +15,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
15
15
  var __metadata = (this && this.__metadata) || function (k, v) {
16
16
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17
17
  };
18
- import { MarkersReason, ModelState, ModelSubmissionHandler, SetDirtyStateAction, SetMarkersAction } from '@eclipse-glsp/server';
18
+ import { ClientSessionManager, MarkersReason, ModelState, ModelSubmissionHandler, SetDirtyStateAction, SetMarkersAction } from '@eclipse-glsp/server';
19
19
  import { IntegrityService } from '@hydranium/core';
20
20
  import { inject, injectable } from 'inversify';
21
21
  import { describeErrorWithStack } from '@hydranium/protocol';
@@ -50,6 +50,7 @@ import { DiagramStatus } from '../state/diagram-status.js';
50
50
  * URI-tagged tracer), so it carries no log-label field of its own.
51
51
  */
52
52
  let HydraniumGlspSubmissionHandler = class HydraniumGlspSubmissionHandler extends ModelSubmissionHandler {
53
+ sessionManager;
53
54
  /**
54
55
  * Document-state gate awaited before {@link submitModel} delegates to
55
56
  * `super.submitModel`. Default {@link IntegrityService.SettledState} so the
@@ -155,14 +156,27 @@ let HydraniumGlspSubmissionHandler = class HydraniumGlspSubmissionHandler extend
155
156
  * Never rejects: GLSP runs it from a debounce that drops the result, so a
156
157
  * failure here would go unhandled. A validator that throws is logged as an
157
158
  * error, markers that cannot be sent as a warning.
159
+ *
160
+ * GLSP does not cancel that debounce when the session ends, so it also runs
161
+ * for a diagram just closed: that run is skipped, and markers it could not
162
+ * send because the session ended meanwhile are logged for diagnosis only.
158
163
  */
159
164
  async performLiveValidation(validator) {
165
+ if (this.sessionEnded()) {
166
+ return;
167
+ }
160
168
  this.modelState.setStatus(DiagramStatus.VALIDATION, { message: 'Validate Model...', severity: 'INFO' });
161
169
  try {
162
170
  const markers = await validator.validate([this.modelState.root], MarkersReason.LIVE);
163
- await this.actionDispatcher
164
- .dispatch(SetMarkersAction.create(markers, { reason: MarkersReason.LIVE }))
165
- .catch((error) => this.modelState.logger.warn(`Could not send the live-validation markers: ${describeErrorWithStack(error)}`));
171
+ await this.actionDispatcher.dispatch(SetMarkersAction.create(markers, { reason: MarkersReason.LIVE })).catch((error) => {
172
+ const message = `Could not send the live-validation markers: ${describeErrorWithStack(error)}`;
173
+ if (this.sessionEnded()) {
174
+ this.modelState.logger.debug(message);
175
+ }
176
+ else {
177
+ this.modelState.logger.warn(message);
178
+ }
179
+ });
166
180
  }
167
181
  catch (error) {
168
182
  this.modelState.logger.error(`Live validation failed: ${describeErrorWithStack(error)}`);
@@ -171,6 +185,14 @@ let HydraniumGlspSubmissionHandler = class HydraniumGlspSubmissionHandler extend
171
185
  this.modelState.setStatus(DiagramStatus.VALIDATION, undefined);
172
186
  }
173
187
  }
188
+ /**
189
+ * Whether the client session this handler serves has ended. By its
190
+ * dispatcher rather than its id: a client that reopens a diagram under the
191
+ * same id gets a new session, which this handler does not serve.
192
+ */
193
+ sessionEnded() {
194
+ return this.sessionManager.getSession(this.modelState.clientId)?.actionDispatcher !== this.actionDispatcher;
195
+ }
174
196
  /**
175
197
  * Serialise the model-bearing actions of a submission into a comparable
176
198
  * signature.
@@ -226,6 +248,10 @@ __decorate([
226
248
  inject(ModelState),
227
249
  __metadata("design:type", Function)
228
250
  ], HydraniumGlspSubmissionHandler.prototype, "modelState", void 0);
251
+ __decorate([
252
+ inject(ClientSessionManager),
253
+ __metadata("design:type", Object)
254
+ ], HydraniumGlspSubmissionHandler.prototype, "sessionManager", void 0);
229
255
  HydraniumGlspSubmissionHandler = __decorate([
230
256
  injectable()
231
257
  ], HydraniumGlspSubmissionHandler);