@hydranium/glsp-client 1.0.0-next.370 → 1.0.0-next.372

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,12 +9,9 @@ VS Code webview, or a plain browser page. It builds on `@eclipse-glsp/client`.
9
9
  ## What it gives you
10
10
 
11
11
  - Load failures reported through your logger and, unless the action
12
- dispatcher itself failed, on the diagram's status overlay, instead of
13
- vanishing as an uncaught rejection.
12
+ dispatcher itself failed, on the diagram's status overlay.
14
13
  - Action traffic and bounds measurements in your log, so a slow diagram names
15
14
  its cost.
16
- - Edge routes repaired before they go to the server while sprotty has not
17
- measured the obstacles yet.
18
15
  - sprotty's own errors, such as an element type with no view, in your log
19
16
  rather than dropped.
20
17
  - An edge whose labels keep finite bounds without bendpoints, so fit to
@@ -36,9 +33,9 @@ npm install @hydranium/glsp-client
36
33
 
37
34
  | Peer | Range |
38
35
  | ---------------------- | ------------- |
39
- | `@eclipse-glsp/client` | `^2.6.0` |
36
+ | `@eclipse-glsp/client` | `^2.7.0` |
40
37
  | `@hydranium/protocol` | `^1.0.0-next` |
41
- | `inversify` | `^6.0.0` |
38
+ | `inversify` | `^6.1.3` |
42
39
  | `snabbdom` | `~3.5.1` |
43
40
 
44
41
  ## Wiring
@@ -89,10 +89,11 @@ export declare class HydraniumGlspActionDispatcher extends GLSPActionDispatcher
89
89
  /**
90
90
  * Register the one-shot 'model initialized' timing line. Instrumentation
91
91
  * only — guarded so a tracer failure degrades logging rather than aborting
92
- * diagram init. `initialize()` runs inside `DiagramLoader.load()`, whose
93
- * caller (`GLSPDiagramWidget.onAfterAttach`) neither awaits nor catches the
94
- * returned promise; an error thrown here would therefore escape as an
95
- * uncaught rejection that blanks the diagram with no server-side signal.
92
+ * diagram init. `initialize()` runs inside `DiagramLoader.load()`, so an
93
+ * error thrown here fails the whole load over a log line.
94
+ *
95
+ * GLSP 2.7: the load's caller (`GLSPDiagramWidget.onAfterAttach`) does not
96
+ * catch it either, so the error would escape as an uncaught rejection.
96
97
  */
97
98
  protected registerInitTiming(): void;
98
99
  /** How many edits the server has not answered yet; see {@link isEdit}. */
@@ -1 +1 @@
1
- {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../src/action-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../src/action-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -129,10 +129,11 @@ let HydraniumGlspActionDispatcher = class HydraniumGlspActionDispatcher extends
129
129
  /**
130
130
  * Register the one-shot 'model initialized' timing line. Instrumentation
131
131
  * only — guarded so a tracer failure degrades logging rather than aborting
132
- * diagram init. `initialize()` runs inside `DiagramLoader.load()`, whose
133
- * caller (`GLSPDiagramWidget.onAfterAttach`) neither awaits nor catches the
134
- * returned promise; an error thrown here would therefore escape as an
135
- * uncaught rejection that blanks the diagram with no server-side signal.
132
+ * diagram init. `initialize()` runs inside `DiagramLoader.load()`, so an
133
+ * error thrown here fails the whole load over a log line.
134
+ *
135
+ * GLSP 2.7: the load's caller (`GLSPDiagramWidget.onAfterAttach`) does not
136
+ * catch it either, so the error would escape as an uncaught rejection.
136
137
  */
137
138
  registerInitTiming() {
138
139
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../src/action-dispatcher.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;;;;;;;;;;;;AAElF,iDA2B8B;AAC9B,kDAW6B;AAC7B,yCAAoE;AACpE,mCAA+C;AAE/C;;;qCAGqC;AACxB,QAAA,8BAA8B,GAAwB,IAAI,GAAG,CAAS;IAChF,uBAAc,CAAC,IAAI;IACnB,0BAAiB,CAAC,IAAI;IACtB,4BAAmB,CAAC,IAAI;IACxB,6BAAoB,CAAC,IAAI;IACzB,4BAAmB,CAAC,IAAI;IACxB,0BAAiB,CAAC,IAAI;IACtB,yBAAgB,CAAC,IAAI;IACrB,2BAAkB,CAAC,IAAI;IACvB,qBAAY,CAAC,IAAI;IACjB,sBAAa,CAAC,IAAI;IAClB,qBAAY,CAAC,IAAI;IACjB,8BAAqB,CAAC,IAAI;IAC1B,2BAAkB,CAAC,IAAI;IACvB,+BAAsB,CAAC,IAAI;IAC3B,+BAAsB,CAAC,IAAI;IAC3B,8BAAqB,CAAC,IAAI;CAC5B,CAAC,CAAC;AAEH;;gEAEgE;AACnD,QAAA,4BAA4B,GAAgC,IAAI,GAAG,CAAiB;IAC9F,CAAC,2BAAkB,CAAC,IAAI,EAAE,uBAAc,CAAC,IAAI,CAAC;IAC9C,CAAC,+BAAsB,CAAC,IAAI,EAAE,2BAAkB,CAAC,IAAI,CAAC;IACtD,CAAC,4BAAmB,CAAC,IAAI,EAAE,6BAAoB,CAAC,IAAI,CAAC;CACvD,CAAC,CAAC;AAaH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,6BAAoB;IACZ,eAAe,CAAU;IACzB,MAAM,CAAU;IACxE,qGAAqG;IAClC,KAAK,GAAU,IAAI,sBAAW,EAAE,CAAC;IACpG,+FAA+F;IACf,kBAAkB,GAAY,KAAK,CAAC;IAEjG,WAAW,CAAsB;IACjC,SAAS,CAA8B;IACvC,gBAAgB,CAA8B;IAEjE,yGAAyG;IACtF,YAAY,GAAG,IAAI,6BAAkB,EAAE,CAAC;IAC3D,gFAAgF;IAC7D,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,WAAW,GAAG,CAAC,CAAC;IAC1B;;;;OAIG;IACgB,aAAa,GAAW,MAAM,CAAC;IAClD,kGAAkG;IACxF,YAAY,CAAkC;IAE9C,WAAW,GAAG,CAAC,CAAC;IAC1B,wEAAwE;IAC9D,WAAW,GAAG,IAAI,GAAG,EAAmD,CAAC;IACnF,wFAAwF;IAC9E,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;IAE5F,YAAyB,OAA8C;QACpE,KAAK,EAAE,CAAC;QACR,MAAM,WAAW,GAAG,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,QAAA,8BAA8B,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiB,CAAC,GAAG,QAAA,4BAA4B,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAiB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACtC,CAAC;IACJ,CAAC;IAEQ,UAAU;QAChB,0FAA0F;QAC1F,2FAA2F;QAC3F,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACO,kBAAkB;QACzB,IAAI,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,6DAA6D,EAAE,GAAG,CAAC,CAAC;QAClG,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,IAAI,aAAa;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACf,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,oBAAS,CAAC;IAC1G,CAAC;IAEQ,QAAQ,CAAC,MAAc;QAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACgB,KAAK,CAAC,oBAAoB,CAAC,MAAsB;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,qBAAY,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,MAAM,CAAC,UAAU,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACzG,CAAC;IAEkB,aAAa,CAAC,MAAc,EAAE,SAAsC;QACpF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,uEAAuE;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC;YACF,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACR,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QACjC,CAAC;IACJ,CAAC;IAED,gIAAgI;IACtH,MAAM,CAAC,MAAc;QAC5B,OAAO,kBAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,mBAAU,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,mBAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACO,SAAS,CAAC,MAAc;QAC/B,IACG,CAAC,IAAI,CAAC,kBAAkB;YACxB,qBAAY,CAAC,EAAE,CAAC,MAAM,CAAC;YACvB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC;YAC9B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,oCAAyB,CAAC,IAAI,EAAE,CAAC,EAC3D,CAAC;YACA,OAAO;QACV,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,oCAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACO,eAAe,CAAC,MAAc;QACrC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;gBACjB,MAAM;YACT,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACJ,CAAC;IAES,SAAS,CAAC,MAAc;QAC/B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,YAAY,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAES,QAAQ,CAAC,MAAc;QAC9B,iGAAiG;QACjG,IAAI,kCAAyB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QAC5D,CAAC;QACD,uEAAuE;QACvE,IAAI,qBAAY,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QAC5D,CAAC;QACD,kGAAkG;QAClG,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,wBAAe,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC5D,CAAC;IAED;gFAC4E;IAClE,SAAS,CAAC,MAAc;QAC/B,iBAAiB;QACjB,IAAI,uBAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACT,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;QACJ,CAAC;QACD,gBAAgB;QAChB,IAAI,sBAAa,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;YAC/E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,aAAa,KAAK,CAAC,EAAE,GAAG,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;YACtD,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,aAAa,KAAK,CAAC,EAAE,GAAG,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,CAAC;IACb,CAAC;IAES,cAAc,CAAC,KAA8C;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,cAAc,KAAK,CAAC,EAAE,KAAK,OAAO,KAAK,CAAC;IAClD,CAAC;IAES,SAAS,CAAC,MAAc;QAC/B,IAAI,uBAAc,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,0BAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,OAAO,YAAY,IAAI,EAAE,IAAI,IAAI,MAAM,aAAa,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,4BAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,aAAa,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7F,CAAC;QACD,IAAI,6BAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,4BAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,WAAW,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,0BAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,YAAY,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,yBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,qBAAY,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,sBAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,uEAAuE;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO,YAAY,MAAM,CAAC,QAAQ,aAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QAC1F,CAAC;QACD,IAAI,qBAAY,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;QACrD,CAAC;QACD,IAAI,2BAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAChF,CAAC;QACD,IAAI,8BAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,+BAAsB,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,8BAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,CAAC;IACb,CAAC;IAED,yGAAyG;IAC/F,eAAe,CAAC,MAAsD;QAC7E,MAAM,OAAO,GAAG,8BAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,YAAY,MAAM,CAAC,QAAQ,WAAW,MAAM,CAAC,eAAe,WAAW,MAAM,CAAC,eAAe,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;IAC9H,CAAC;CACH,CAAA;;AAxS0D;IAAvD,IAAA,kBAAM,EAAC,4BAAoB,CAAC,MAAM,CAAC;;sEAA6C;AACzB;IAAvD,IAAA,kBAAM,EAAC,4BAAoB,CAAC,MAAM,CAAC;;6DAAoC;AAEL;IAAlE,IAAA,kBAAM,EAAC,4BAAoB,CAAC,KAAK,CAAC;IAAE,IAAA,oBAAQ,GAAE;;4DAAqD;AAEpB;IAA/E,IAAA,kBAAM,EAAC,4BAAoB,CAAC,kBAAkB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;yEAAwD;wCAN1G,6BAA6B;IADzC,IAAA,sBAAU,GAAE;IAiCG,WAAA,IAAA,qBAAS,GAAE,CAAA;;GAhCd,6BAA6B,CAySzC"}
1
+ {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../src/action-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -44,20 +44,19 @@ export interface DiagramLoadFailure {
44
44
  * `RequestModelAction`, and the model-initialization constraint. Of these only
45
45
  * the `IDiagramStartup` hooks are wrapped by the base loader (it logs them to
46
46
  * `console.error`); the dispatcher-init / connection / request-model steps are
47
- * not. The Theia widget that drives loading
48
- * (`@eclipse-glsp/theia-integration`'s `GLSPDiagramWidget.onAfterAttach`)
49
- * calls `load()` *without awaiting or catching it*, so any rejection becomes an
50
- * uncaught promise rejection visible only in the browser devtools console —
51
- * nothing reaches the e2e output, the server log, or a Theia log sink, and the
52
- * diagram just stays blank.
47
+ * not.
53
48
  *
54
- * This subclass closes that gap: it catches every load failure, routes it to
55
- * the host's logger (in Theia the Output channel the server log and action
56
- * traffic share, so it is discoverable where a developer already looks), and
57
- * surfaces a persistent error to the user via a `severity: 'ERROR'`
58
- * {@link StatusAction} on the diagram's status overlay. It deliberately does
59
- * **not** rethrow — the caller drops the promise, so rethrowing would only
60
- * reproduce the uncaught rejection this exists to prevent.
49
+ * This subclass catches every load failure, routes it to the host's logger (in
50
+ * Theia the Output channel the server log and action traffic share, so it is
51
+ * discoverable where a developer already looks), and surfaces a persistent
52
+ * error to the user via a `severity: 'ERROR'` {@link StatusAction} on the
53
+ * diagram's status overlay. It deliberately does **not** rethrow. GLSP's Theia
54
+ * widget would render a rethrown failure a second time, in place of the
55
+ * diagram.
56
+ *
57
+ * GLSP 2.7: its Theia widget calls `load()` without catching it, so a rethrown
58
+ * failure becomes an uncaught rejection visible only in the browser devtools
59
+ * console, and the diagram stays blank.
61
60
  *
62
61
  * It also publishes the load's terminal state ({@link loadOutcome} /
63
62
  * {@link onceLoadSettled}) so a pending indicator has one authority to key on.
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-loader.d.ts","sourceRoot":"","sources":["../src/diagram-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAgB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK3E;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,sBAAuB,SAAQ,aAAa;IACjB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAG,MAAM,CAAC;IAEjF,SAAS,CAAC,QAAQ,CAAC,OAAO,+BAAsC;IAChE,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAEvC;;;+DAG2D;IAC3D,IAAI,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAEhD;IAED;uEACmE;IACnE,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAE7C;IAEc,IAAI,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAMlD;IAED;;;;;;;;;;;OAWG;IACH,UAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhE;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErC;IAED;qFACiF;IACjF,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE1C;CACH"}
1
+ {"version":3,"file":"diagram-loader.d.ts","sourceRoot":"","sources":["../src/diagram-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAgB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAiB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAK3E;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,sBAAuB,SAAQ,aAAa;IACjB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAG,MAAM,CAAC;IAEjF,SAAS,CAAC,QAAQ,CAAC,OAAO,+BAAsC;IAChE,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAEvC;;;+DAG2D;IAC3D,IAAI,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAEhD;IAED;uEACmE;IACnE,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAE7C;IAEc,IAAI,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAMlD;IAED;;;;;;;;;;;OAWG;IACH,UAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhE;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErC;IAED;qFACiF;IACjF,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE1C;CACH"}
@@ -31,20 +31,19 @@ const types_1 = require("./types");
31
31
  * `RequestModelAction`, and the model-initialization constraint. Of these only
32
32
  * the `IDiagramStartup` hooks are wrapped by the base loader (it logs them to
33
33
  * `console.error`); the dispatcher-init / connection / request-model steps are
34
- * not. The Theia widget that drives loading
35
- * (`@eclipse-glsp/theia-integration`'s `GLSPDiagramWidget.onAfterAttach`)
36
- * calls `load()` *without awaiting or catching it*, so any rejection becomes an
37
- * uncaught promise rejection visible only in the browser devtools console —
38
- * nothing reaches the e2e output, the server log, or a Theia log sink, and the
39
- * diagram just stays blank.
34
+ * not.
40
35
  *
41
- * This subclass closes that gap: it catches every load failure, routes it to
42
- * the host's logger (in Theia the Output channel the server log and action
43
- * traffic share, so it is discoverable where a developer already looks), and
44
- * surfaces a persistent error to the user via a `severity: 'ERROR'`
45
- * {@link StatusAction} on the diagram's status overlay. It deliberately does
46
- * **not** rethrow — the caller drops the promise, so rethrowing would only
47
- * reproduce the uncaught rejection this exists to prevent.
36
+ * This subclass catches every load failure, routes it to the host's logger (in
37
+ * Theia the Output channel the server log and action traffic share, so it is
38
+ * discoverable where a developer already looks), and surfaces a persistent
39
+ * error to the user via a `severity: 'ERROR'` {@link StatusAction} on the
40
+ * diagram's status overlay. It deliberately does **not** rethrow. GLSP's Theia
41
+ * widget would render a rethrown failure a second time, in place of the
42
+ * diagram.
43
+ *
44
+ * GLSP 2.7: its Theia widget calls `load()` without catching it, so a rethrown
45
+ * failure becomes an uncaught rejection visible only in the browser devtools
46
+ * console, and the diagram stays blank.
48
47
  *
49
48
  * It also publishes the load's terminal state ({@link loadOutcome} /
50
49
  * {@link onceLoadSettled}) so a pending indicator has one authority to key on.
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-loader.js","sourceRoot":"","sources":["../src/diagram-loader.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;;;;;;;;;AAElF,iDAA+F;AAC/F,kDAA2E;AAC3E,yCAA+C;AAC/C,+DAA4D;AAC5D,mCAA+C;AAiC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,sBAAa;IACE,eAAe,CAAU;IAE9D,OAAO,GAAG,IAAI,mBAAQ,EAAsB,CAAC;IACtD,OAAO,CAAsB;IAEvC;;;+DAG2D;IAC3D,IAAI,WAAW;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED;uEACmE;IACnE,eAAe;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,OAA+B;QAChD,IAAI,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACZ,oEAAoE;YACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACO,MAAM,CAAC,OAA2B;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACV,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,iBAAiB,CAAC,GAAY;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC;YACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,qBAAY,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC;QACf,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,kEAAkE,EAAE,SAAS,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC;QAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAY;QAC1B,OAAO,yCAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;qFACiF;IACvE,WAAW,CAAC,GAAY;QAC/B,OAAO,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACH,CAAA;;AA7F0D;IAAvD,IAAA,kBAAM,EAAC,4BAAoB,CAAC,MAAM,CAAC;;+DAA6C;iCADvE,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CA8FlC"}
1
+ {"version":3,"file":"diagram-loader.js","sourceRoot":"","sources":["../src/diagram-loader.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF;;;;;;;;;;;;AAElF,iDAA+F;AAC/F,kDAA2E;AAC3E,yCAA+C;AAC/C,+DAA4D;AAC5D,mCAA+C;AAiC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,sBAAa;IACE,eAAe,CAAU;IAE9D,OAAO,GAAG,IAAI,mBAAQ,EAAsB,CAAC;IACtD,OAAO,CAAsB;IAEvC;;;+DAG2D;IAC3D,IAAI,WAAW;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED;uEACmE;IACnE,eAAe;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,OAA+B;QAChD,IAAI,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACZ,oEAAoE;YACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACO,MAAM,CAAC,OAA2B;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACV,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;OAWG;IACO,KAAK,CAAC,iBAAiB,CAAC,GAAY;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC;YACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,qBAAY,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC;QACf,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,kEAAkE,EAAE,SAAS,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC;QAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAY;QAC1B,OAAO,yCAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;qFACiF;IACvE,WAAW,CAAC,GAAY;QAC/B,OAAO,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACH,CAAA;;AA7F0D;IAAvD,IAAA,kBAAM,EAAC,4BAAoB,CAAC,MAAM,CAAC;;+DAA6C;iCADvE,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CA8FlC"}
@@ -6,12 +6,14 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { type Action, type ElementAndRoutingPoints, type GModelElement, type GRoutableElement, GLSPHiddenBoundsUpdater, RequestBoundsAction } from '@eclipse-glsp/client';
9
+ import { type Action, type ElementAndRoutingPoints, type GModelElement, GLSPHiddenBoundsUpdater, RequestBoundsAction } from '@eclipse-glsp/client';
10
10
  import { type Clock, type Logger } from '@hydranium/protocol';
11
11
  import { type VNode } from 'snabbdom';
12
12
  /**
13
- * Instruments sprotty's hidden-bounds pass and repairs degenerate routes before
14
- * they go on the wire.
13
+ * Instruments sprotty's hidden-bounds pass.
14
+ *
15
+ * GLSP 2.7: it also drops short routes before they go on the wire, see
16
+ * {@link dropShortRoute}.
15
17
  *
16
18
  * **Why the framework owns this.** Every GLSP head runs the hidden-bounds pass on
17
19
  * every model update, and it is the one client-side phase that scales with the
@@ -59,28 +61,18 @@ export declare class HydraniumHiddenBoundsUpdater extends GLSPHiddenBoundsUpdate
59
61
  protected currentScope?: string;
60
62
  decorate(vnode: VNode, element: GModelElement): VNode;
61
63
  /**
62
- * Replace the routing entry the base class just pushed when it carries fewer
63
- * than two points, which is not a valid route for any edge.
64
- *
65
- * `calcElementAndRoute` already guards the case where the registered router
66
- * returns *nothing* — it falls back to source + own routing points + target.
67
- * The hole is one step further in: `calcRoute` filters duplicate points at
68
- * `Number.EPSILON`, so while obstacles still carry sprotty's unmeasured-bounds
69
- * sentinel `(100, 100, -1, -1)` the source and target coincide and a valid
70
- * two-point route collapses to a single point. That result is defined, so the
71
- * upstream truthiness guard never fires and the single point ships.
64
+ * GLSP 2.7: drop the routing entry the base class just pushed when it
65
+ * carries fewer than two points, as 2.8 does itself. A 2.7 server rejects
66
+ * the whole action over such a route, and the diagram stays blank.
72
67
  *
73
- * The substitute is deliberately upstream's own fallback shape rather than a
74
- * new invention, so a repaired route is indistinguishable from a route the
75
- * base class would have produced had it noticed. Only already-invalid payloads
76
- * are touched, so a head with a working router is unaffected.
68
+ * A router returns fewer than two points for an edge it cannot route, as
69
+ * sprotty's polyline router does when the edge's source or target is not in
70
+ * the model. The server keeps the edge's last route until a later pass
71
+ * routes it.
77
72
  */
78
- protected repairLastRoute(element: GRoutableElement): void;
79
- /** A route needs at least a start and an end point to describe an edge. */
73
+ protected dropShortRoute(): void;
74
+ /** GLSP 2.7: a route needs at least a start and an end point to describe an edge. */
80
75
  protected hasValidRoute(route: ElementAndRoutingPoints): boolean;
81
- /** Upstream's `calcElementAndRoute` no-router fallback: the element's own
82
- * bendpoints framed by its source and target anchor positions. */
83
- protected toSourceTargetRoute(element: GRoutableElement): ElementAndRoutingPoints;
84
76
  protected getBoundsFromDOM(): void;
85
77
  /** Format the per-request line. Override to change the wording. */
86
78
  protected formatBoundsRequest(scope: string, measured: number, elapsedMs: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"hidden-bounds-updater.d.ts","sourceRoot":"","sources":["../src/hidden-bounds-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,uBAAuB,EAGvB,mBAAmB,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBACa,4BAA6B,SAAQ,uBAAuB;IACjC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAG,MAAM,CAAC;IAEjF,mFAAmF;IACnC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAqB;IAEpG;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,CAM7D;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAMzD;IAED,2EAA2E;IAC3E,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAE/D;IAED;uEACmE;IACnE,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAKhF;IAED,UAAmB,gBAAgB,IAAI,IAAI,CAW1C;IAED,mEAAmE;IACnE,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExF;IAEQ,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAWxC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI3C;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAapE;CACH"}
1
+ {"version":3,"file":"hidden-bounds-updater.d.ts","sourceRoot":"","sources":["../src/hidden-bounds-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,MAAM,EACX,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,uBAAuB,EAEvB,mBAAmB,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBACa,4BAA6B,SAAQ,uBAAuB;IACjC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAG,MAAM,CAAC;IAEjF,mFAAmF;IACnC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAqB;IAEpG;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,CAM7D;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI,CAK/B;IAED,qFAAqF;IACrF,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAE/D;IAED,UAAmB,gBAAgB,IAAI,IAAI,CAW1C;IAED,mEAAmE;IACnE,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExF;IAEQ,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAWxC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI3C;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAapE;CACH"}
@@ -27,8 +27,10 @@ const types_1 = require("./types");
27
27
  * pathological caller from writing a thousand ids into the log. */
28
28
  const SCOPE_ID_CAP = 3;
29
29
  /**
30
- * Instruments sprotty's hidden-bounds pass and repairs degenerate routes before
31
- * they go on the wire.
30
+ * Instruments sprotty's hidden-bounds pass.
31
+ *
32
+ * GLSP 2.7: it also drops short routes before they go on the wire, see
33
+ * {@link dropShortRoute}.
32
34
  *
33
35
  * **Why the framework owns this.** Every GLSP head runs the hidden-bounds pass on
34
36
  * every model update, and it is the one client-side phase that scales with the
@@ -74,49 +76,34 @@ let HydraniumHiddenBoundsUpdater = class HydraniumHiddenBoundsUpdater extends cl
74
76
  * class calls with no arguments, so the cause cannot be threaded through.
75
77
  */
76
78
  currentScope;
79
+ // GLSP 2.7: overridden only to drop a short route.
77
80
  decorate(vnode, element) {
78
81
  super.decorate(vnode, element);
79
82
  if ((0, client_1.isRoutable)(element)) {
80
- this.repairLastRoute(element);
83
+ this.dropShortRoute();
81
84
  }
82
85
  return vnode;
83
86
  }
84
87
  /**
85
- * Replace the routing entry the base class just pushed when it carries fewer
86
- * than two points, which is not a valid route for any edge.
87
- *
88
- * `calcElementAndRoute` already guards the case where the registered router
89
- * returns *nothing* — it falls back to source + own routing points + target.
90
- * The hole is one step further in: `calcRoute` filters duplicate points at
91
- * `Number.EPSILON`, so while obstacles still carry sprotty's unmeasured-bounds
92
- * sentinel `(100, 100, -1, -1)` the source and target coincide and a valid
93
- * two-point route collapses to a single point. That result is defined, so the
94
- * upstream truthiness guard never fires and the single point ships.
88
+ * GLSP 2.7: drop the routing entry the base class just pushed when it
89
+ * carries fewer than two points, as 2.8 does itself. A 2.7 server rejects
90
+ * the whole action over such a route, and the diagram stays blank.
95
91
  *
96
- * The substitute is deliberately upstream's own fallback shape rather than a
97
- * new invention, so a repaired route is indistinguishable from a route the
98
- * base class would have produced had it noticed. Only already-invalid payloads
99
- * are touched, so a head with a working router is unaffected.
92
+ * A router returns fewer than two points for an edge it cannot route, as
93
+ * sprotty's polyline router does when the edge's source or target is not in
94
+ * the model. The server keeps the edge's last route until a later pass
95
+ * routes it.
100
96
  */
101
- repairLastRoute(element) {
102
- const addedRoute = this.element2route.pop();
103
- if (addedRoute === undefined) {
104
- return;
97
+ dropShortRoute() {
98
+ const lastRoute = this.element2route.at(-1);
99
+ if (lastRoute !== undefined && !this.hasValidRoute(lastRoute)) {
100
+ this.element2route.pop();
105
101
  }
106
- this.element2route.push(this.hasValidRoute(addedRoute) ? addedRoute : this.toSourceTargetRoute(element));
107
102
  }
108
- /** A route needs at least a start and an end point to describe an edge. */
103
+ /** GLSP 2.7: a route needs at least a start and an end point to describe an edge. */
109
104
  hasValidRoute(route) {
110
105
  return route.newRoutingPoints !== undefined && route.newRoutingPoints.length >= 2;
111
106
  }
112
- /** Upstream's `calcElementAndRoute` no-router fallback: the element's own
113
- * bendpoints framed by its source and target anchor positions. */
114
- toSourceTargetRoute(element) {
115
- return {
116
- elementId: element.id,
117
- newRoutingPoints: [element.source?.position ?? client_1.Point.ORIGIN, ...element.routingPoints, element.target?.position ?? client_1.Point.ORIGIN]
118
- };
119
- }
120
107
  getBoundsFromDOM() {
121
108
  if (this.currentScope === undefined) {
122
109
  // Not inside an instrumented `postUpdate` (a subclass calling directly);
@@ -1 +1 @@
1
- {"version":3,"file":"hidden-bounds-updater.js","sourceRoot":"","sources":["../src/hidden-bounds-updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hidden-bounds-updater.js","sourceRoot":"","sources":["../src/hidden-bounds-updater.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/glsp-client",
3
- "version": "1.0.0-next.370",
3
+ "version": "1.0.0-next.372",
4
4
  "description": "Host-neutral client classes for GLSP heads built on @hydranium/glsp-server, the binder that mounts them in a Theia frontend, a VS Code webview or a plain browser page, the one call that mounts a diagram in a page, and the edge whose labels keep finite bounds without bendpoints.",
5
5
  "keywords": [
6
6
  "diagram",
@@ -58,8 +58,8 @@
58
58
  "watch": "tsc -b -w --preserveWatchOutput"
59
59
  },
60
60
  "devDependencies": {
61
- "@eclipse-glsp/client": "2.7.0",
62
- "@hydranium/protocol": "1.0.0-next.370",
61
+ "@eclipse-glsp/client": "2.8.0",
62
+ "@hydranium/protocol": "1.0.0-next.372",
63
63
  "@types/node": "^22.0.0",
64
64
  "inversify": "6.2.2",
65
65
  "reflect-metadata": "0.2.2",
@@ -68,9 +68,9 @@
68
68
  "typescript": "^7.0.2"
69
69
  },
70
70
  "peerDependencies": {
71
- "@eclipse-glsp/client": "^2.6.0",
72
- "@hydranium/protocol": "1.0.0-next.370",
73
- "inversify": "^6.0.0",
71
+ "@eclipse-glsp/client": "^2.7.0",
72
+ "@hydranium/protocol": "1.0.0-next.372",
73
+ "inversify": "^6.1.3",
74
74
  "snabbdom": "~3.5.1"
75
75
  },
76
76
  "engines": {
@@ -174,10 +174,11 @@ export class HydraniumGlspActionDispatcher extends GLSPActionDispatcher {
174
174
  /**
175
175
  * Register the one-shot 'model initialized' timing line. Instrumentation
176
176
  * only — guarded so a tracer failure degrades logging rather than aborting
177
- * diagram init. `initialize()` runs inside `DiagramLoader.load()`, whose
178
- * caller (`GLSPDiagramWidget.onAfterAttach`) neither awaits nor catches the
179
- * returned promise; an error thrown here would therefore escape as an
180
- * uncaught rejection that blanks the diagram with no server-side signal.
177
+ * diagram init. `initialize()` runs inside `DiagramLoader.load()`, so an
178
+ * error thrown here fails the whole load over a log line.
179
+ *
180
+ * GLSP 2.7: the load's caller (`GLSPDiagramWidget.onAfterAttach`) does not
181
+ * catch it either, so the error would escape as an uncaught rejection.
181
182
  */
182
183
  protected registerInitTiming(): void {
183
184
  try {
@@ -52,20 +52,19 @@ export interface DiagramLoadFailure {
52
52
  * `RequestModelAction`, and the model-initialization constraint. Of these only
53
53
  * the `IDiagramStartup` hooks are wrapped by the base loader (it logs them to
54
54
  * `console.error`); the dispatcher-init / connection / request-model steps are
55
- * not. The Theia widget that drives loading
56
- * (`@eclipse-glsp/theia-integration`'s `GLSPDiagramWidget.onAfterAttach`)
57
- * calls `load()` *without awaiting or catching it*, so any rejection becomes an
58
- * uncaught promise rejection visible only in the browser devtools console —
59
- * nothing reaches the e2e output, the server log, or a Theia log sink, and the
60
- * diagram just stays blank.
55
+ * not.
61
56
  *
62
- * This subclass closes that gap: it catches every load failure, routes it to
63
- * the host's logger (in Theia the Output channel the server log and action
64
- * traffic share, so it is discoverable where a developer already looks), and
65
- * surfaces a persistent error to the user via a `severity: 'ERROR'`
66
- * {@link StatusAction} on the diagram's status overlay. It deliberately does
67
- * **not** rethrow — the caller drops the promise, so rethrowing would only
68
- * reproduce the uncaught rejection this exists to prevent.
57
+ * This subclass catches every load failure, routes it to the host's logger (in
58
+ * Theia the Output channel the server log and action traffic share, so it is
59
+ * discoverable where a developer already looks), and surfaces a persistent
60
+ * error to the user via a `severity: 'ERROR'` {@link StatusAction} on the
61
+ * diagram's status overlay. It deliberately does **not** rethrow. GLSP's Theia
62
+ * widget would render a rethrown failure a second time, in place of the
63
+ * diagram.
64
+ *
65
+ * GLSP 2.7: its Theia widget calls `load()` without catching it, so a rethrown
66
+ * failure becomes an uncaught rejection visible only in the browser devtools
67
+ * console, and the diagram stays blank.
69
68
  *
70
69
  * It also publishes the load's terminal state ({@link loadOutcome} /
71
70
  * {@link onceLoadSettled}) so a pending indicator has one authority to key on.
@@ -11,10 +11,8 @@ import {
11
11
  type Action,
12
12
  type ElementAndRoutingPoints,
13
13
  type GModelElement,
14
- type GRoutableElement,
15
14
  GLSPHiddenBoundsUpdater,
16
15
  type LocalRequestBoundsAction,
17
- Point,
18
16
  RequestBoundsAction,
19
17
  ServerAction,
20
18
  isRoutable
@@ -30,8 +28,10 @@ import { HydraniumClientTypes } from './types';
30
28
  const SCOPE_ID_CAP = 3;
31
29
 
32
30
  /**
33
- * Instruments sprotty's hidden-bounds pass and repairs degenerate routes before
34
- * they go on the wire.
31
+ * Instruments sprotty's hidden-bounds pass.
32
+ *
33
+ * GLSP 2.7: it also drops short routes before they go on the wire, see
34
+ * {@link dropShortRoute}.
35
35
  *
36
36
  * **Why the framework owns this.** Every GLSP head runs the hidden-bounds pass on
37
37
  * every model update, and it is the one client-side phase that scales with the
@@ -81,53 +81,37 @@ export class HydraniumHiddenBoundsUpdater extends GLSPHiddenBoundsUpdater {
81
81
  */
82
82
  protected currentScope?: string;
83
83
 
84
+ // GLSP 2.7: overridden only to drop a short route.
84
85
  override decorate(vnode: VNode, element: GModelElement): VNode {
85
86
  super.decorate(vnode, element);
86
87
  if (isRoutable(element)) {
87
- this.repairLastRoute(element);
88
+ this.dropShortRoute();
88
89
  }
89
90
  return vnode;
90
91
  }
91
92
 
92
93
  /**
93
- * Replace the routing entry the base class just pushed when it carries fewer
94
- * than two points, which is not a valid route for any edge.
95
- *
96
- * `calcElementAndRoute` already guards the case where the registered router
97
- * returns *nothing* — it falls back to source + own routing points + target.
98
- * The hole is one step further in: `calcRoute` filters duplicate points at
99
- * `Number.EPSILON`, so while obstacles still carry sprotty's unmeasured-bounds
100
- * sentinel `(100, 100, -1, -1)` the source and target coincide and a valid
101
- * two-point route collapses to a single point. That result is defined, so the
102
- * upstream truthiness guard never fires and the single point ships.
94
+ * GLSP 2.7: drop the routing entry the base class just pushed when it
95
+ * carries fewer than two points, as 2.8 does itself. A 2.7 server rejects
96
+ * the whole action over such a route, and the diagram stays blank.
103
97
  *
104
- * The substitute is deliberately upstream's own fallback shape rather than a
105
- * new invention, so a repaired route is indistinguishable from a route the
106
- * base class would have produced had it noticed. Only already-invalid payloads
107
- * are touched, so a head with a working router is unaffected.
98
+ * A router returns fewer than two points for an edge it cannot route, as
99
+ * sprotty's polyline router does when the edge's source or target is not in
100
+ * the model. The server keeps the edge's last route until a later pass
101
+ * routes it.
108
102
  */
109
- protected repairLastRoute(element: GRoutableElement): void {
110
- const addedRoute = this.element2route.pop();
111
- if (addedRoute === undefined) {
112
- return;
103
+ protected dropShortRoute(): void {
104
+ const lastRoute = this.element2route.at(-1);
105
+ if (lastRoute !== undefined && !this.hasValidRoute(lastRoute)) {
106
+ this.element2route.pop();
113
107
  }
114
- this.element2route.push(this.hasValidRoute(addedRoute) ? addedRoute : this.toSourceTargetRoute(element));
115
108
  }
116
109
 
117
- /** A route needs at least a start and an end point to describe an edge. */
110
+ /** GLSP 2.7: a route needs at least a start and an end point to describe an edge. */
118
111
  protected hasValidRoute(route: ElementAndRoutingPoints): boolean {
119
112
  return route.newRoutingPoints !== undefined && route.newRoutingPoints.length >= 2;
120
113
  }
121
114
 
122
- /** Upstream's `calcElementAndRoute` no-router fallback: the element's own
123
- * bendpoints framed by its source and target anchor positions. */
124
- protected toSourceTargetRoute(element: GRoutableElement): ElementAndRoutingPoints {
125
- return {
126
- elementId: element.id,
127
- newRoutingPoints: [element.source?.position ?? Point.ORIGIN, ...element.routingPoints, element.target?.position ?? Point.ORIGIN]
128
- };
129
- }
130
-
131
115
  protected override getBoundsFromDOM(): void {
132
116
  if (this.currentScope === undefined) {
133
117
  // Not inside an instrumented `postUpdate` (a subclass calling directly);