@finos/legend-application 16.0.22 → 16.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application v16.0.22
1
+ /** @license @finos/legend-application v16.0.24
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application",
3
- "version": "16.0.22",
3
+ "version": "16.0.24",
4
4
  "description": "Legend application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -50,14 +50,14 @@
50
50
  "@types/react": "19.0.8",
51
51
  "@types/react-dom": "19.0.3",
52
52
  "@types/react-router-dom": "5.3.3",
53
- "mobx": "6.13.5",
53
+ "mobx": "6.13.6",
54
54
  "mobx-react-lite": "4.1.0",
55
55
  "react": "19.0.0",
56
56
  "react-dnd": "16.0.1",
57
57
  "react-dnd-html5-backend": "16.0.1",
58
58
  "react-dom": "19.0.0",
59
- "react-router": "7.1.3",
60
- "react-router-dom": "7.1.3",
59
+ "react-router": "7.1.5",
60
+ "react-router-dom": "7.1.5",
61
61
  "serializr": "3.0.3",
62
62
  "xterm": "5.3.0",
63
63
  "xterm-addon-fit": "0.8.0",
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserNavigator.d.ts","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserNavigator.d.ts","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"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"}
@@ -163,17 +163,29 @@ export class BrowserNavigator {
163
163
  this._isNavigationBlocked = true;
164
164
  this.onBlock = onBlock;
165
165
  this.onNativePlatformNavigationBlock = onNativePlatformNavigationBlock;
166
- // Here we attempt to cancel the effect of the back button
167
- // See https://medium.com/codex/angular-guards-disabling-browsers-back-button-for-specific-url-fdf05d9fe155#4f13
168
- // This makes the current location the last entry in the browser history and clears any forward history
169
- this.window.history.pushState(null, '', this.getCurrentAddress());
170
- // The popstate event is triggered every time the user clicks back/forward button, but the forward history
171
- // has been cleared, and now if we go back, we call `history.forward()`, which go 1 page forward,
166
+ // Attempt to cancel the effect of the back button. The mechanism is as follows:
167
+ //
168
+ // This makes the current location the last entry in the browser history and clears any forward history.
169
+ // The popstate event is triggered every time the user clicks back/forward button, but since the forward
170
+ // history has been cleared, if we call, we call `history.forward()`, which go 1 page forward,
172
171
  // but there's no page forward, so effectively, the user remains on the same page
173
- this.window.onpopstate = () => {
174
- window.history.forward();
175
- this.onNativePlatformNavigationBlock?.();
176
- };
172
+ //
173
+ // NOTE: this approach ideal in that, technically the pop state event still can happen for a brief moment,
174
+ // and thus, unecesssary renderings are not avoidable.
175
+ // e.g. we're at route A, then navigate to B
176
+ // we hit back button, we will go back to route A and then immediately go back to B
177
+ // another exploit is user can hit the back button consecutively quickly and this would also break this
178
+ // workaround we have here.
179
+ //
180
+ // All in all, this is the kind of workaround that attempts to override browser capabilities
181
+ // should be avoided
182
+ if (this.onNativePlatformNavigationBlock) {
183
+ this.window.history.pushState(null, '', this.getCurrentAddress());
184
+ this.window.onpopstate = () => {
185
+ this.window.history.forward();
186
+ this.onNativePlatformNavigationBlock?.();
187
+ };
188
+ }
177
189
  // Block browser navigation: e.g. reload, setting `window.href` directly, etc.
178
190
  this._blockCheckers = blockCheckers;
179
191
  this.window.removeEventListener('beforeunload', this._beforeUnloadListener);
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserNavigator.js","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserNavigator.js","sourceRoot":"","sources":["../../../src/stores/navigation/BrowserNavigator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application",
3
- "version": "16.0.22",
3
+ "version": "16.0.24",
4
4
  "description": "Legend application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,19 +45,19 @@
45
45
  "test:watch": "jest --watch"
46
46
  },
47
47
  "dependencies": {
48
- "@finos/legend-art": "7.1.79",
49
- "@finos/legend-shared": "11.0.1",
48
+ "@finos/legend-art": "7.1.81",
49
+ "@finos/legend-shared": "11.0.3",
50
50
  "@types/react": "19.0.8",
51
51
  "@types/react-dom": "19.0.3",
52
52
  "@types/react-router-dom": "5.3.3",
53
- "mobx": "6.13.5",
53
+ "mobx": "6.13.6",
54
54
  "mobx-react-lite": "4.1.0",
55
55
  "react": "19.0.0",
56
56
  "react-dnd": "16.0.1",
57
57
  "react-dnd-html5-backend": "16.0.1",
58
58
  "react-dom": "19.0.0",
59
- "react-router": "7.1.3",
60
- "react-router-dom": "7.1.3",
59
+ "react-router": "7.1.5",
60
+ "react-router-dom": "7.1.5",
61
61
  "serializr": "3.0.3",
62
62
  "xterm": "5.3.0",
63
63
  "xterm-addon-fit": "0.8.0",
@@ -66,7 +66,7 @@
66
66
  "xterm-addon-webgl": "0.16.0"
67
67
  },
68
68
  "devDependencies": {
69
- "@finos/legend-dev-utils": "2.1.37",
69
+ "@finos/legend-dev-utils": "2.2.0",
70
70
  "@jest/globals": "29.7.0",
71
71
  "cross-env": "7.0.3",
72
72
  "eslint": "9.19.0",
@@ -236,17 +236,29 @@ export class BrowserNavigator implements ApplicationNavigator {
236
236
  this.onBlock = onBlock;
237
237
  this.onNativePlatformNavigationBlock = onNativePlatformNavigationBlock;
238
238
 
239
- // Here we attempt to cancel the effect of the back button
240
- // See https://medium.com/codex/angular-guards-disabling-browsers-back-button-for-specific-url-fdf05d9fe155#4f13
241
- // This makes the current location the last entry in the browser history and clears any forward history
242
- this.window.history.pushState(null, '', this.getCurrentAddress());
243
- // The popstate event is triggered every time the user clicks back/forward button, but the forward history
244
- // has been cleared, and now if we go back, we call `history.forward()`, which go 1 page forward,
239
+ // Attempt to cancel the effect of the back button. The mechanism is as follows:
240
+ //
241
+ // This makes the current location the last entry in the browser history and clears any forward history.
242
+ // The popstate event is triggered every time the user clicks back/forward button, but since the forward
243
+ // history has been cleared, if we call, we call `history.forward()`, which go 1 page forward,
245
244
  // but there's no page forward, so effectively, the user remains on the same page
246
- this.window.onpopstate = () => {
247
- window.history.forward();
248
- this.onNativePlatformNavigationBlock?.();
249
- };
245
+ //
246
+ // NOTE: this approach ideal in that, technically the pop state event still can happen for a brief moment,
247
+ // and thus, unecesssary renderings are not avoidable.
248
+ // e.g. we're at route A, then navigate to B
249
+ // we hit back button, we will go back to route A and then immediately go back to B
250
+ // another exploit is user can hit the back button consecutively quickly and this would also break this
251
+ // workaround we have here.
252
+ //
253
+ // All in all, this is the kind of workaround that attempts to override browser capabilities
254
+ // should be avoided
255
+ if (this.onNativePlatformNavigationBlock) {
256
+ this.window.history.pushState(null, '', this.getCurrentAddress());
257
+ this.window.onpopstate = () => {
258
+ this.window.history.forward();
259
+ this.onNativePlatformNavigationBlock?.();
260
+ };
261
+ }
250
262
 
251
263
  // Block browser navigation: e.g. reload, setting `window.href` directly, etc.
252
264
  this._blockCheckers = blockCheckers;