@hexclave/js 1.0.51 → 1.0.52

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 (116) hide show
  1. package/dist/{admin-app-impl-Cz9Ub_C8.d.ts → admin-app-impl-DHs4il4z.d.ts} +11 -8
  2. package/dist/{admin-app-impl-Cz9Ub_C8.d.ts.map → admin-app-impl-DHs4il4z.d.ts.map} +1 -1
  3. package/dist/clickmap/clickmap-core.d.ts +1 -1
  4. package/dist/clickmap/index.d.ts +1 -1
  5. package/dist/{client-app-BgdvwktS.d.ts → client-app-BoOM8rxo.d.ts} +2 -1
  6. package/dist/{client-app-BgdvwktS.d.ts.map → client-app-BoOM8rxo.d.ts.map} +1 -1
  7. package/dist/common-CRu2FsO9.d.ts.map +1 -1
  8. package/dist/dev-tool/dev-tool-core.d.ts +1 -1
  9. package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
  10. package/dist/dev-tool/dev-tool-core.js +58 -28
  11. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  12. package/dist/dev-tool/dev-tool-styles.js +35 -0
  13. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  14. package/dist/dev-tool/index.d.ts +1 -1
  15. package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
  16. package/dist/esm/dev-tool/dev-tool-core.js +58 -28
  17. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  18. package/dist/esm/dev-tool/dev-tool-styles.js +35 -0
  19. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  20. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +5 -4
  21. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
  22. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +97 -0
  23. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  24. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +3 -2
  25. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
  26. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +26 -1
  27. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  28. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -1
  29. package/dist/esm/lib/hexclave-app/apps/implementations/common.js +21 -4
  30. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  31. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts +37 -0
  32. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts.map +1 -0
  33. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.js +89 -0
  34. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.js.map +1 -0
  35. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.test.d.ts +1 -0
  36. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.test.js +134 -0
  37. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-back-state.test.js.map +1 -0
  38. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.d.ts +8 -0
  39. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.d.ts.map +1 -0
  40. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.js +73 -0
  41. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.js.map +1 -0
  42. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.d.ts +1 -0
  43. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.js +92 -0
  44. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.js.map +1 -0
  45. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +1 -0
  46. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -1
  47. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js +24 -3
  48. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  49. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts +1 -0
  50. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -1
  51. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  52. package/dist/esm/pushed-config-error-overlay/index.js +1 -1
  53. package/dist/esm/pushed-config-error-overlay/index.js.map +1 -1
  54. package/dist/esm/pushed-config-error-overlay/index.test.js +1 -1
  55. package/dist/esm/utils/session-storage.d.ts +12 -0
  56. package/dist/esm/utils/session-storage.d.ts.map +1 -0
  57. package/dist/esm/utils/session-storage.js +30 -0
  58. package/dist/esm/utils/session-storage.js.map +1 -0
  59. package/dist/index.d.ts +1 -1
  60. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +1 -1
  61. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +97 -0
  62. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  63. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +1 -1
  64. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +26 -1
  65. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  66. package/dist/lib/hexclave-app/apps/implementations/common.js +21 -4
  67. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  68. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +1 -1
  69. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts +37 -0
  70. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.d.ts.map +1 -0
  71. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.js +92 -0
  72. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.js.map +1 -0
  73. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.test.d.ts +1 -0
  74. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.test.js +133 -0
  75. package/dist/lib/hexclave-app/apps/implementations/redirect-back-state.test.js.map +1 -0
  76. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.d.ts +8 -0
  77. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.d.ts.map +1 -0
  78. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.js +74 -0
  79. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.js.map +1 -0
  80. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.d.ts +1 -0
  81. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.js +91 -0
  82. package/dist/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.js.map +1 -0
  83. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +1 -1
  84. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js +24 -3
  85. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  86. package/dist/lib/hexclave-app/apps/index.d.ts +1 -1
  87. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts +1 -1
  88. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts +1 -1
  89. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  90. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts +1 -1
  91. package/dist/lib/hexclave-app/index.d.ts +1 -1
  92. package/dist/lib/hexclave-app/projects/index.d.ts +1 -1
  93. package/dist/lib/hexclave-app/teams/index.d.ts +1 -1
  94. package/dist/lib/hexclave-app/users/index.d.ts +1 -1
  95. package/dist/pushed-config-error-overlay/index.d.ts +1 -1
  96. package/dist/pushed-config-error-overlay/index.js +1 -1
  97. package/dist/pushed-config-error-overlay/index.js.map +1 -1
  98. package/dist/pushed-config-error-overlay/index.test.js +1 -1
  99. package/dist/utils/session-storage.d.ts +12 -0
  100. package/dist/utils/session-storage.d.ts.map +1 -0
  101. package/dist/utils/session-storage.js +33 -0
  102. package/dist/utils/session-storage.js.map +1 -0
  103. package/package.json +2 -2
  104. package/src/dev-tool/dev-tool-core.ts +100 -35
  105. package/src/dev-tool/dev-tool-styles.ts +35 -0
  106. package/src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts +127 -0
  107. package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +34 -1
  108. package/src/lib/hexclave-app/apps/implementations/common.ts +18 -1
  109. package/src/lib/hexclave-app/apps/implementations/redirect-back-state.test.ts +134 -0
  110. package/src/lib/hexclave-app/apps/implementations/redirect-back-state.ts +140 -0
  111. package/src/lib/hexclave-app/apps/implementations/redirect-loop-breaker.test.ts +127 -0
  112. package/src/lib/hexclave-app/apps/implementations/redirect-loop-breaker.ts +117 -0
  113. package/src/lib/hexclave-app/apps/implementations/server-app-impl.ts +27 -2
  114. package/src/lib/hexclave-app/apps/interfaces/client-app.ts +1 -0
  115. package/src/pushed-config-error-overlay/index.ts +1 -1
  116. package/src/utils/session-storage.ts +45 -0
@@ -30,6 +30,8 @@ let ______api_keys_index_js = require("../../api-keys/index.js");
30
30
  let ______contact_channels_index_js = require("../../contact-channels/index.js");
31
31
  let ______teams_index_js = require("../../teams/index.js");
32
32
  let ______url_targets_js = require("../../url-targets.js");
33
+ let __redirect_back_state_js = require("./redirect-back-state.js");
34
+ let __redirect_loop_breaker_js = require("./redirect-loop-breaker.js");
33
35
  let ______users_index_js = require("../../users/index.js");
34
36
  let __event_tracker_js = require("./event-tracker.js");
35
37
  let __redirect_page_urls_js = require("./redirect-page-urls.js");
@@ -427,6 +429,10 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
427
429
  this._trackPendingAuthResolution(async () => {
428
430
  await this._maybeHandleNestedCrossDomainAuth(urlAtConstructionTime);
429
431
  });
432
+ (0, __redirect_back_state_js.saveRedirectBackStateFromUrl)({
433
+ url: urlAtConstructionTime,
434
+ projectId: this.projectId
435
+ });
430
436
  }
431
437
  if ((0, _hexclave_shared_dist_utils_env.isBrowserLike)() && resolvedOptions.devTool !== false) (0, ____________dev_tool_index_js.mountDevTool)(this, resolvedOptions.devTool);
432
438
  if ((0, _hexclave_shared_dist_utils_env.isBrowserLike)()) {
@@ -1881,6 +1887,18 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
1881
1887
  return new URL(window.location.href);
1882
1888
  }
1883
1889
  async _redirectTo(options) {
1890
+ if (this._redirectMethod !== "none" && (0, _hexclave_shared_dist_utils_env.isBrowserLike)()) {
1891
+ const currentUrl = new URL(window.location.href);
1892
+ const targetUrl = new URL(options.url, currentUrl);
1893
+ (0, __redirect_loop_breaker_js.recordRedirectAndThrowIfLoopDetected)({
1894
+ currentUrl,
1895
+ targetUrl
1896
+ });
1897
+ (0, __redirect_back_state_js.saveRedirectBackStateFromUrl)({
1898
+ url: targetUrl,
1899
+ projectId: this.projectId
1900
+ });
1901
+ }
1884
1902
  if (this._redirectMethod === "none") return;
1885
1903
  else if (typeof this._redirectMethod === "object" && this._redirectMethod.navigate) this._redirectMethod.navigate(options.url.toString());
1886
1904
  else if (options.replace) window.location.replace(options.url);
@@ -1903,7 +1921,11 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
1903
1921
  async _getRedirectToHandlerUrl(handlerName, options, internalOptions) {
1904
1922
  const rawHandlerUrl = (0, __common_js.getUrls)(this._urlOptions, { projectId: this.projectId })[handlerName];
1905
1923
  if (!rawHandlerUrl) throw new Error(`No URL for handler name ${handlerName}`);
1906
- const currentUrl = typeof window === "undefined" ? null : new URL(window.location.href);
1924
+ let currentUrl = typeof window === "undefined" ? null : new URL(window.location.href);
1925
+ if (currentUrl != null && options?.noRedirectBack !== true && (handlerName === "afterSignIn" || handlerName === "afterSignUp")) currentUrl = (0, __redirect_back_state_js.augmentUrlWithPersistedRedirectBackState)({
1926
+ currentUrl,
1927
+ projectId: this.projectId
1928
+ });
1907
1929
  const plan = await (0, __redirect_page_urls_js.planRedirectToHandler)({
1908
1930
  handlerName,
1909
1931
  rawHandlerUrl,
@@ -2590,6 +2612,9 @@ var _HexclaveClientAppImplIncomplete = class _HexclaveClientAppImplIncomplete {
2590
2612
  },
2591
2613
  awaitPendingAuthResolutions: async () => {
2592
2614
  await this._awaitPendingAuthResolutions();
2615
+ },
2616
+ isTrustedRedirectUrl: async (url) => {
2617
+ return await this._isTrusted(url);
2593
2618
  }
2594
2619
  };
2595
2620
  }