@darajs/core 1.25.6 → 1.26.1

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 (82) hide show
  1. package/dist/api/events.d.ts +2 -0
  2. package/dist/api/events.d.ts.map +1 -0
  3. package/dist/api/events.js +2 -0
  4. package/dist/api/events.js.map +1 -0
  5. package/dist/api/http.d.ts.map +1 -1
  6. package/dist/api/http.js +19 -20
  7. package/dist/api/http.js.map +1 -1
  8. package/dist/api/websocket.d.ts +8 -17
  9. package/dist/api/websocket.d.ts.map +1 -1
  10. package/dist/api/websocket.js +64 -48
  11. package/dist/api/websocket.js.map +1 -1
  12. package/dist/auth/auth.d.ts +4 -4
  13. package/dist/auth/auth.d.ts.map +1 -1
  14. package/dist/auth/auth.js +41 -22
  15. package/dist/auth/auth.js.map +1 -1
  16. package/dist/auth/basic/basic-auth-login.d.ts.map +1 -1
  17. package/dist/auth/basic/basic-auth-login.js +11 -19
  18. package/dist/auth/basic/basic-auth-login.js.map +1 -1
  19. package/dist/auth/basic/basic-auth-logout.js +2 -2
  20. package/dist/auth/basic/basic-auth-logout.js.map +1 -1
  21. package/dist/auth/default/default-auth-login.d.ts +1 -1
  22. package/dist/auth/default/default-auth-login.d.ts.map +1 -1
  23. package/dist/auth/default/default-auth-login.js +13 -22
  24. package/dist/auth/default/default-auth-login.js.map +1 -1
  25. package/dist/auth/index.d.ts +1 -1
  26. package/dist/auth/index.d.ts.map +1 -1
  27. package/dist/auth/index.js +1 -1
  28. package/dist/auth/index.js.map +1 -1
  29. package/dist/auth/oidc/oidc-login.d.ts.map +1 -1
  30. package/dist/auth/oidc/oidc-login.js +10 -25
  31. package/dist/auth/oidc/oidc-login.js.map +1 -1
  32. package/dist/auth/oidc/oidc-logout.js +3 -3
  33. package/dist/auth/oidc/oidc-logout.js.map +1 -1
  34. package/dist/auth/oidc/sso-callback.d.ts +3 -4
  35. package/dist/auth/oidc/sso-callback.d.ts.map +1 -1
  36. package/dist/auth/oidc/sso-callback.js +4 -8
  37. package/dist/auth/oidc/sso-callback.js.map +1 -1
  38. package/dist/auth/session-state.d.ts +44 -0
  39. package/dist/auth/session-state.d.ts.map +1 -0
  40. package/dist/auth/session-state.js +194 -0
  41. package/dist/auth/session-state.js.map +1 -0
  42. package/dist/{dara_core-1.25.6-py3-none-any.whl → dara_core-1.26.1-py3-none-any.whl} +0 -0
  43. package/dist/router/create-router.d.ts.map +1 -1
  44. package/dist/router/create-router.js +4 -5
  45. package/dist/router/create-router.js.map +1 -1
  46. package/dist/shared/interactivity/persistence.js +4 -4
  47. package/dist/shared/interactivity/persistence.js.map +1 -1
  48. package/dist/shared/interactivity/plain-variable.js +1 -1
  49. package/dist/shared/interactivity/plain-variable.js.map +1 -1
  50. package/dist/shared/root/authenticated-root.d.ts.map +1 -1
  51. package/dist/shared/root/authenticated-root.js +8 -22
  52. package/dist/shared/root/authenticated-root.js.map +1 -1
  53. package/dist/shared/utils/clean-session-cache.d.ts +2 -2
  54. package/dist/shared/utils/clean-session-cache.d.ts.map +1 -1
  55. package/dist/shared/utils/clean-session-cache.js +3 -3
  56. package/dist/shared/utils/clean-session-cache.js.map +1 -1
  57. package/dist/shared/utils/iframe.d.ts +5 -0
  58. package/dist/shared/utils/iframe.d.ts.map +1 -0
  59. package/dist/shared/utils/iframe.js +9 -0
  60. package/dist/shared/utils/iframe.js.map +1 -0
  61. package/dist/shared/utils/index.d.ts +1 -1
  62. package/dist/shared/utils/index.d.ts.map +1 -1
  63. package/dist/shared/utils/index.js +1 -1
  64. package/dist/shared/utils/index.js.map +1 -1
  65. package/dist/umd/dara.core.umd.cjs +3908 -3859
  66. package/dist/utils.js +1 -1
  67. package/dist/utils.js.map +1 -1
  68. package/dist/vitest-setup.js +88 -0
  69. package/dist/vitest-setup.js.map +1 -1
  70. package/package.json +9 -9
  71. package/dist/auth/use-session-token.d.ts +0 -19
  72. package/dist/auth/use-session-token.d.ts.map +0 -1
  73. package/dist/auth/use-session-token.js +0 -30
  74. package/dist/auth/use-session-token.js.map +0 -1
  75. package/dist/shared/global-state-store.d.ts +0 -54
  76. package/dist/shared/global-state-store.d.ts.map +0 -1
  77. package/dist/shared/global-state-store.js +0 -169
  78. package/dist/shared/global-state-store.js.map +0 -1
  79. package/dist/shared/utils/embed.d.ts +0 -22
  80. package/dist/shared/utils/embed.d.ts.map +0 -1
  81. package/dist/shared/utils/embed.js +0 -47
  82. package/dist/shared/utils/embed.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export declare const SESSION_REFRESHED_EVENT = "dara:session-refreshed";
2
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../js/api/events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const SESSION_REFRESHED_EVENT = 'dara:session-refreshed';
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../js/api/events.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC;;;GAGG;AACH,qBAAa,yBAAyB;IAClC,MAAM,EAAE,aAAa,CAAC;gBAEV,MAAM,EAAE,aAAa;IAIjC;;;OAGG;IACH,cAAc,IAAI,aAAa,GAAG,IAAI;IAoBtC;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;CAS1B;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoE7F"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC;;;GAGG;AACH,qBAAa,yBAAyB;IAClC,MAAM,EAAE,aAAa,CAAC;gBAEV,MAAM,EAAE,aAAa;IAIjC;;;OAGG;IACH,cAAc,IAAI,aAAa,GAAG,IAAI;IAoBtC;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;CAS1B;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqE7F"}
package/dist/api/http.js CHANGED
@@ -21,8 +21,8 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  /* eslint-disable import/prefer-default-export */
22
22
  import cloneDeep from 'lodash/cloneDeep';
23
23
  import { validateResponse } from '@darajs/ui-utils';
24
- import globalStore from '../shared/global-state-store';
25
- import { getTokenKey } from '../shared/utils/embed';
24
+ import { notifySessionLoggedOut, runSessionRefresh, waitForOngoingSessionRefresh } from '../auth/session-state';
25
+ import { SESSION_REFRESHED_EVENT } from './events';
26
26
  /**
27
27
  * Serializable form of RequestExtras.
28
28
  * Required to use for e.g. recoil params as they need to be serializable.
@@ -70,10 +70,12 @@ export class RequestExtrasSerializable {
70
70
  export function request(url, ...options) {
71
71
  return __awaiter(this, void 0, void 0, function* () {
72
72
  var _a, _b;
73
- // block on the token in case it's locked, i.e. being refreshed by another concurrent request
74
- const sessionToken = yield globalStore.getValue(getTokenKey());
73
+ // If another request/tab is currently refreshing the session, wait for it first
74
+ // so we don't send avoidable 401/403 requests with stale credentials.
75
+ yield waitForOngoingSessionRefresh();
75
76
  const mergedOptions = options.reduce((acc, opt) => (Object.assign(Object.assign({}, acc), opt)), {});
76
- const { headers } = mergedOptions, other = __rest(mergedOptions, ["headers"]);
77
+ const { headers, credentials: mergedCredentials } = mergedOptions, other = __rest(mergedOptions, ["headers", "credentials"]);
78
+ const credentials = mergedCredentials !== null && mergedCredentials !== void 0 ? mergedCredentials : 'include';
77
79
  const headersInterface = new Headers(headers);
78
80
  // default to json accept header
79
81
  if (!headersInterface.has('Accept')) {
@@ -83,34 +85,31 @@ export function request(url, ...options) {
83
85
  if (!headersInterface.has('Content-Type') && (mergedOptions === null || mergedOptions === void 0 ? void 0 : mergedOptions.body) && !((mergedOptions === null || mergedOptions === void 0 ? void 0 : mergedOptions.body) instanceof FormData)) {
84
86
  headersInterface.set('Content-Type', 'application/json');
85
87
  }
86
- // default auth header if token is present
87
- if (sessionToken && !headersInterface.has('Authorization')) {
88
- headersInterface.set('Authorization', `Bearer ${sessionToken}`);
89
- }
90
88
  const baseUrl = (_b = (_a = window.dara) === null || _a === void 0 ? void 0 : _a.base_url) !== null && _b !== void 0 ? _b : '';
91
89
  const urlString = url instanceof URL ? url.pathname + url.search : url;
92
- const response = yield fetch(baseUrl + urlString, Object.assign({ headers: headersInterface }, other));
90
+ const response = yield fetch(baseUrl + urlString, Object.assign({ credentials, headers: headersInterface }, other));
93
91
  // in case of an auth error, attempt to refresh the token and retry the request
94
92
  if (response.status === 401 || response.status === 403) {
95
93
  try {
96
- // Lock the token value while it's being replaced.
97
- // If it's already being replaced, this will instead wait for the replacement to complete
98
- // rather than invoking the refresh again.
99
- const refreshedToken = yield globalStore.replaceValue(getTokenKey(), () => __awaiter(this, void 0, void 0, function* () {
94
+ // Ensure only one tab refreshes at a time; others wait and reuse the refreshed token.
95
+ yield runSessionRefresh(() => __awaiter(this, void 0, void 0, function* () {
96
+ const refreshHeaders = new Headers({ Accept: 'application/json' });
100
97
  const refreshResponse = yield fetch(`${baseUrl}/api/auth/refresh-token`, {
101
- headers: headersInterface,
98
+ credentials,
99
+ headers: refreshHeaders,
102
100
  method: 'POST',
103
101
  });
104
102
  if (refreshResponse.ok) {
105
- const { token } = yield refreshResponse.json();
106
- return token;
103
+ window.dispatchEvent(new Event(SESSION_REFRESHED_EVENT));
104
+ return;
107
105
  }
106
+ notifySessionLoggedOut();
108
107
  // this will throw an error with the error content
109
108
  yield validateResponse(refreshResponse, 'Request auth error, failed to refresh the session token');
109
+ throw new Error('Request auth error, failed to refresh the session token');
110
110
  }));
111
- // retry the request with the new token
112
- headersInterface.set('Authorization', `Bearer ${refreshedToken}`);
113
- return fetch(baseUrl + urlString, Object.assign({ headers: headersInterface }, other));
111
+ // retry the request after refresh
112
+ return fetch(baseUrl + urlString, Object.assign({ credentials, headers: headersInterface }, other));
114
113
  }
115
114
  catch (e) {
116
115
  // refresh failed - return the original request, the caller is supposed to handle the error
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IAGlC,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAClD,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE3C,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,UAAgB,OAAO,CAAC,GAAiB,EAAE,GAAG,OAAsB;;;QACtE,6FAA6F;QAC7F,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAM,GAAG,GAAK,GAAG,EAAG,EAAE,EAAE,CAAC,CAAC;QAE7E,MAAM,EAAE,OAAO,KAAe,aAAa,EAAvB,KAAK,UAAK,aAAa,EAArC,WAAqB,CAAgB,CAAC;QAE5C,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9C,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACvD,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAA,IAAI,CAAC,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,aAAY,QAAQ,CAAC,EAAE,CAAC;YAC7G,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QAED,0CAA0C;QAC1C,IAAI,YAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,OAAO,GAAW,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,QAAQ,mCAAI,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,SAAS,kBAC5C,OAAO,EAAE,gBAAgB,IACtB,KAAK,EACV,CAAC;QAEH,+EAA+E;QAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC;gBACD,kDAAkD;gBAClD,yFAAyF;gBACzF,0CAA0C;gBAC1C,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,GAAS,EAAE;oBAC5E,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,yBAAyB,EAAE;wBACrE,OAAO,EAAE,gBAAgB;wBACzB,MAAM,EAAE,MAAM;qBACjB,CAAC,CAAC;oBACH,IAAI,eAAe,CAAC,EAAE,EAAE,CAAC;wBACrB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;wBAC/C,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,kDAAkD;oBAClD,MAAM,gBAAgB,CAAC,eAAe,EAAE,yDAAyD,CAAC,CAAC;gBACvG,CAAC,CAAA,CAAC,CAAC;gBAEH,uCAAuC;gBACvC,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,cAAc,EAAE,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC,OAAO,GAAG,SAAS,kBAC5B,OAAO,EAAE,gBAAgB,IACtB,KAAK,EACV,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,2FAA2F;gBAC3F,oBAAoB;gBACpB,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBAC5C,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CAAA"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"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"}
@@ -18,10 +18,6 @@ interface PingPongMessage {
18
18
  message: null;
19
19
  type: 'ping' | 'pong';
20
20
  }
21
- interface TokenUpdateMessage {
22
- message: string;
23
- type: 'token_update';
24
- }
25
21
  export declare enum TaskStatus {
26
22
  CANCELED = "CANCELED",
27
23
  COMPLETE = "COMPLETE",
@@ -122,7 +118,7 @@ export interface CustomMessage {
122
118
  };
123
119
  type: 'custom';
124
120
  }
125
- export type WebSocketMessage = InitMessage | PingPongMessage | TokenUpdateMessage | TaskNotificationMessage | ProgressNotificationMessage | ServerErrorMessage | ServerVariableMessage | VariableRequestMessage | ActionMessage | BackendStoreMessage | BackendStorePatchMessage | CustomMessage;
121
+ export type WebSocketMessage = InitMessage | PingPongMessage | TaskNotificationMessage | ProgressNotificationMessage | ServerErrorMessage | ServerVariableMessage | VariableRequestMessage | ActionMessage | BackendStoreMessage | BackendStorePatchMessage | CustomMessage;
126
122
  export declare function isInitMessage(message: WebSocketMessage): message is InitMessage;
127
123
  export declare function isTaskNotification(message: WebSocketMessage): message is TaskNotificationMessage;
128
124
  export declare function isServerVariableMessage(message: WebSocketMessage): message is ServerVariableMessage;
@@ -148,7 +144,6 @@ export interface WebSocketClientInterface {
148
144
  taskStatusUpdates$: (...task_ids: string[]) => Observable<TaskStatus>;
149
145
  variableRequests$: () => Observable<VariableRequestMessage>;
150
146
  waitForTask: (task_id: string) => Promise<any>;
151
- updateToken: (token: string) => void;
152
147
  }
153
148
  /**
154
149
  * The WebsocketClient class exposes an interface for easily dealing with the websocket connection to the Dara backend.
@@ -159,13 +154,17 @@ export declare class WebSocketClient implements WebSocketClientInterface {
159
154
  channel: Promise<string>;
160
155
  messages$: Subject<WebSocketMessage>;
161
156
  socket: WebSocket;
162
- token: string;
163
157
  liveReload: boolean;
164
158
  closeHandler: () => void;
165
159
  maxAttempts: number;
166
160
  maxAttemptsReached: boolean;
167
- constructor(_socketUrl: string, _token: string, _liveReload?: boolean);
161
+ constructor(_socketUrl: string, _liveReload?: boolean);
168
162
  initialize(isReconnect?: boolean): WebSocket;
163
+ addReconnectResumeListeners(): void;
164
+ removeReconnectResumeListeners(): void;
165
+ resumeReconnectBurst(): void;
166
+ onResumeSignal(): void;
167
+ onVisibilityResumeSignal(): void;
169
168
  /**
170
169
  * Close handler to attempt to reconnect on WS closed
171
170
  */
@@ -237,13 +236,6 @@ export declare class WebSocketClient implements WebSocketClientInterface {
237
236
  * @param chunkCount total number of chunks this message has been split into
238
237
  */
239
238
  sendMessage(value: any, channel: string, chunkCount?: number): void;
240
- /**
241
- * Send a 'token_update' message to the backend to notify the live connection
242
- * that a token for the current session has been updated (refreshed).
243
- *
244
- * @param newToken new session token
245
- */
246
- updateToken(newToken: string): void;
247
239
  /**
248
240
  * Send custom message to the backend
249
241
  *
@@ -256,9 +248,8 @@ export declare class WebSocketClient implements WebSocketClientInterface {
256
248
  /**
257
249
  * Set up websocket connection and handlers.
258
250
  *
259
- * @param sessionToken session token
260
251
  * @param liveReload whether to enable live reload
261
252
  */
262
- export declare function setupWebsocket(sessionToken: string, liveReload: boolean): WebSocketClient;
253
+ export declare function setupWebsocket(liveReload: boolean): WebSocketClient;
263
254
  export {};
264
255
  //# sourceMappingURL=websocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
@@ -9,13 +9,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _WebSocketClient_pingInterval, _WebSocketClient_socketUrl, _WebSocketClient_reconnectCount;
12
+ var _WebSocketClient_pingInterval, _WebSocketClient_socketUrl, _WebSocketClient_reconnectCount, _WebSocketClient_reconnectTimeout, _WebSocketClient_resumeSignalHandler, _WebSocketClient_visibilityResumeHandler, _WebSocketClient_resumeListenersAttached;
13
13
  /* eslint-disable max-classes-per-file */
14
14
  import { nanoid } from 'nanoid';
15
15
  import { Observable, Subject } from 'rxjs';
16
16
  import { filter, map, take } from 'rxjs/operators';
17
- import globalStore from '../shared/global-state-store';
18
- import { getTokenKey } from '../shared/utils/embed';
17
+ import { SESSION_REFRESHED_EVENT } from './events';
19
18
  const interAttemptTimeout = 500;
20
19
  const maxDisconnectedTime = 10000;
21
20
  const interPingInterval = 5000;
@@ -75,11 +74,14 @@ const pingMessage = {
75
74
  * It provides easy helpers for fetching the current channel and working with tasks.
76
75
  */
77
76
  export class WebSocketClient {
78
- constructor(_socketUrl, _token, _liveReload = false) {
77
+ constructor(_socketUrl, _liveReload = false) {
79
78
  _WebSocketClient_pingInterval.set(this, void 0);
80
79
  _WebSocketClient_socketUrl.set(this, void 0);
81
80
  _WebSocketClient_reconnectCount.set(this, void 0);
82
- this.token = _token;
81
+ _WebSocketClient_reconnectTimeout.set(this, void 0);
82
+ _WebSocketClient_resumeSignalHandler.set(this, void 0);
83
+ _WebSocketClient_visibilityResumeHandler.set(this, void 0);
84
+ _WebSocketClient_resumeListenersAttached.set(this, void 0);
83
85
  this.liveReload = _liveReload;
84
86
  this.messages$ = new Subject();
85
87
  this.closeHandler = this.onClose.bind(this);
@@ -88,19 +90,18 @@ export class WebSocketClient {
88
90
  __classPrivateFieldSet(this, _WebSocketClient_socketUrl, _socketUrl, "f");
89
91
  __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
90
92
  __classPrivateFieldSet(this, _WebSocketClient_pingInterval, null, "f");
93
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectTimeout, null, "f");
94
+ __classPrivateFieldSet(this, _WebSocketClient_resumeSignalHandler, this.onResumeSignal.bind(this), "f");
95
+ __classPrivateFieldSet(this, _WebSocketClient_visibilityResumeHandler, this.onVisibilityResumeSignal.bind(this), "f");
96
+ __classPrivateFieldSet(this, _WebSocketClient_resumeListenersAttached, false, "f");
91
97
  // Satisfy TSC, channel is set within initialize again
92
98
  this.channel = Promise.resolve('');
93
99
  // Lastly call initialize to setup the socket properly
94
100
  this.socket = this.initialize();
95
101
  }
96
102
  initialize(isReconnect = false) {
97
- // Create the underlying socket instance from the url and token
98
- const url = new URL(__classPrivateFieldGet(this, _WebSocketClient_socketUrl, "f"));
99
- // Get the latest token from the global store to ensure it's always up to date
100
- this.token = globalStore.getValueSync(getTokenKey());
101
- // Set the token on the params of the request
102
- url.searchParams.set('token', this.token);
103
- const socket = new WebSocket(url);
103
+ // Create the underlying socket instance from the url.
104
+ const socket = new WebSocket(__classPrivateFieldGet(this, _WebSocketClient_socketUrl, "f"));
104
105
  // Send heartbeat to ping every few seconds and clear it on error
105
106
  __classPrivateFieldSet(this, _WebSocketClient_pingInterval, setInterval(() => {
106
107
  if (socket.readyState === WebSocket.OPEN) {
@@ -124,6 +125,8 @@ export class WebSocketClient {
124
125
  const msg = JSON.parse(ev.data);
125
126
  if (msg.type === 'init') {
126
127
  __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
128
+ this.maxAttemptsReached = false;
129
+ this.removeReconnectResumeListeners();
127
130
  this.messages$.next(msg);
128
131
  // Remove the handler after the channel is received and then resolve the promise
129
132
  socket.removeEventListener('message', handler);
@@ -140,6 +143,43 @@ export class WebSocketClient {
140
143
  socket.addEventListener('close', this.closeHandler);
141
144
  return socket;
142
145
  }
146
+ addReconnectResumeListeners() {
147
+ if (__classPrivateFieldGet(this, _WebSocketClient_resumeListenersAttached, "f")) {
148
+ return;
149
+ }
150
+ document.addEventListener('visibilitychange', __classPrivateFieldGet(this, _WebSocketClient_visibilityResumeHandler, "f"));
151
+ window.addEventListener('focus', __classPrivateFieldGet(this, _WebSocketClient_resumeSignalHandler, "f"));
152
+ window.addEventListener('online', __classPrivateFieldGet(this, _WebSocketClient_resumeSignalHandler, "f"));
153
+ window.addEventListener(SESSION_REFRESHED_EVENT, __classPrivateFieldGet(this, _WebSocketClient_resumeSignalHandler, "f"));
154
+ __classPrivateFieldSet(this, _WebSocketClient_resumeListenersAttached, true, "f");
155
+ }
156
+ removeReconnectResumeListeners() {
157
+ if (!__classPrivateFieldGet(this, _WebSocketClient_resumeListenersAttached, "f")) {
158
+ return;
159
+ }
160
+ document.removeEventListener('visibilitychange', __classPrivateFieldGet(this, _WebSocketClient_visibilityResumeHandler, "f"));
161
+ window.removeEventListener('focus', __classPrivateFieldGet(this, _WebSocketClient_resumeSignalHandler, "f"));
162
+ window.removeEventListener('online', __classPrivateFieldGet(this, _WebSocketClient_resumeSignalHandler, "f"));
163
+ window.removeEventListener(SESSION_REFRESHED_EVENT, __classPrivateFieldGet(this, _WebSocketClient_resumeSignalHandler, "f"));
164
+ __classPrivateFieldSet(this, _WebSocketClient_resumeListenersAttached, false, "f");
165
+ }
166
+ resumeReconnectBurst() {
167
+ if (!this.maxAttemptsReached) {
168
+ return;
169
+ }
170
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
171
+ this.maxAttemptsReached = false;
172
+ this.removeReconnectResumeListeners();
173
+ this.socket = this.initialize(true);
174
+ }
175
+ onResumeSignal() {
176
+ this.resumeReconnectBurst();
177
+ }
178
+ onVisibilityResumeSignal() {
179
+ if (document.visibilityState === 'visible') {
180
+ this.resumeReconnectBurst();
181
+ }
182
+ }
143
183
  /**
144
184
  * Close handler to attempt to reconnect on WS closed
145
185
  */
@@ -147,26 +187,16 @@ export class WebSocketClient {
147
187
  if (__classPrivateFieldGet(this, _WebSocketClient_reconnectCount, "f") >= this.maxAttempts) {
148
188
  // eslint-disable-next-line no-console
149
189
  console.error('Could not reconnect the websocket to the server');
150
- // Add a visibility change listener to attempt the connection again when the tab becomes visible again
151
- const handler = () => {
152
- if (document.visibilityState === 'visible') {
153
- // Reset the retry loop and attempt to initialize the socket again
154
- __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, 0, "f");
155
- this.maxAttemptsReached = false;
156
- this.socket = this.initialize();
157
- // Remove the visibility change listener after we enter the retry loop again
158
- document.removeEventListener('visibilitychange', handler);
159
- }
160
- };
161
- document.addEventListener('visibilitychange', handler);
162
190
  this.maxAttemptsReached = true;
191
+ this.addReconnectResumeListeners();
163
192
  return;
164
193
  }
165
- setTimeout(() => {
194
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectTimeout, setTimeout(() => {
166
195
  var _a;
196
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectTimeout, null, "f");
167
197
  __classPrivateFieldSet(this, _WebSocketClient_reconnectCount, (_a = __classPrivateFieldGet(this, _WebSocketClient_reconnectCount, "f"), _a++, _a), "f");
168
198
  this.socket = this.initialize(true);
169
- }, interAttemptTimeout);
199
+ }, interAttemptTimeout), "f");
170
200
  }
171
201
  /**
172
202
  * Forcefully close the websocket connection, first clearing the closehandler
@@ -175,6 +205,11 @@ export class WebSocketClient {
175
205
  if (__classPrivateFieldGet(this, _WebSocketClient_pingInterval, "f")) {
176
206
  clearInterval(__classPrivateFieldGet(this, _WebSocketClient_pingInterval, "f"));
177
207
  }
208
+ if (__classPrivateFieldGet(this, _WebSocketClient_reconnectTimeout, "f")) {
209
+ clearTimeout(__classPrivateFieldGet(this, _WebSocketClient_reconnectTimeout, "f"));
210
+ __classPrivateFieldSet(this, _WebSocketClient_reconnectTimeout, null, "f");
211
+ }
212
+ this.removeReconnectResumeListeners();
178
213
  this.socket.removeEventListener('close', this.closeHandler);
179
214
  this.socket.close();
180
215
  }
@@ -293,21 +328,6 @@ export class WebSocketClient {
293
328
  }));
294
329
  }
295
330
  }
296
- /**
297
- * Send a 'token_update' message to the backend to notify the live connection
298
- * that a token for the current session has been updated (refreshed).
299
- *
300
- * @param newToken new session token
301
- */
302
- updateToken(newToken) {
303
- this.token = newToken;
304
- if (this.socket.readyState === WebSocket.OPEN) {
305
- this.socket.send(JSON.stringify({
306
- message: newToken,
307
- type: 'token_update',
308
- }));
309
- }
310
- }
311
331
  /**
312
332
  * Send custom message to the backend
313
333
  *
@@ -354,14 +374,13 @@ export class WebSocketClient {
354
374
  return Promise.resolve(null);
355
375
  }
356
376
  }
357
- _WebSocketClient_pingInterval = new WeakMap(), _WebSocketClient_socketUrl = new WeakMap(), _WebSocketClient_reconnectCount = new WeakMap();
377
+ _WebSocketClient_pingInterval = new WeakMap(), _WebSocketClient_socketUrl = new WeakMap(), _WebSocketClient_reconnectCount = new WeakMap(), _WebSocketClient_reconnectTimeout = new WeakMap(), _WebSocketClient_resumeSignalHandler = new WeakMap(), _WebSocketClient_visibilityResumeHandler = new WeakMap(), _WebSocketClient_resumeListenersAttached = new WeakMap();
358
378
  /**
359
379
  * Set up websocket connection and handlers.
360
380
  *
361
- * @param sessionToken session token
362
381
  * @param liveReload whether to enable live reload
363
382
  */
364
- export function setupWebsocket(sessionToken, liveReload) {
383
+ export function setupWebsocket(liveReload) {
365
384
  var _a;
366
385
  // Setup socket url
367
386
  let { host } = window.location;
@@ -374,9 +393,6 @@ export function setupWebsocket(sessionToken, liveReload) {
374
393
  host = baseUrl.host + pathname;
375
394
  }
376
395
  const socketUrl = `${window.location.protocol === 'https:' ? 'wss://' : 'ws://'}${host}/api/core/ws`;
377
- // Append session token to the WS url for authentication
378
- const url = new URL(socketUrl);
379
- url.searchParams.set('token', sessionToken);
380
- return new WebSocketClient(socketUrl, sessionToken, liveReload);
396
+ return new WebSocketClient(socketUrl, liveReload);
381
397
  }
382
398
  //# sourceMappingURL=websocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAyC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAC;AAE1E,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzC,YAAY,OAAe,EAAE,OAAe;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGhC,YAAY,OAAe,EAAE,OAAe;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAmBD,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;IACf,mCAAqB,CAAA;AACzB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AA2GD,MAAM,UAAU,aAAa,CAAC,OAAyB;IACnD,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IACxD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAyB;IAC7D,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC;AACpH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAyB;IAC1D,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAyB;IAC9D,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAyB;IACrD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAyB;IAC3D,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAyB;IAChE,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAyB;IACrD,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED,MAAM,WAAW,GAAoB;IACjC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,MAAM;CACf,CAAC;AAqBF;;;GAGG;AACH,MAAM,OAAO,eAAe;IAuBxB,YAAY,UAAkB,EAAE,MAAc,EAAE,WAAW,GAAG,KAAK;QANnE,gDAAqC;QAErC,6CAAmB;QAEnB,kDAAwB;QAGpB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,uBAAA,IAAI,8BAAc,UAAU,MAAA,CAAC;QAC7B,uBAAA,IAAI,mCAAmB,CAAC,MAAA,CAAC;QACzB,uBAAA,IAAI,iCAAiB,IAAI,MAAA,CAAC;QAE1B,sDAAsD;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnC,sDAAsD;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,WAAW,GAAG,KAAK;QAC1B,+DAA+D;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,uBAAA,IAAI,kCAAW,CAAC,CAAC;QAErC,8EAA8E;QAC9E,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,CAAE,CAAC;QAEtD,6CAA6C;QAC7C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QAElC,iEAAiE;QACjE,uBAAA,IAAI,iCAAiB,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC,EAAE,iBAAiB,CAAC,MAAA,CAAC;QACtB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,IAAI,uBAAA,IAAI,qCAAc,EAAE,CAAC;gBACrB,aAAa,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,8FAA8F;QAC9F,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAqB,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAChF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,CAAC,EAAqB,EAAQ,EAAE;;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAqB,CAAC;gBACpD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACtB,uBAAA,IAAI,mCAAmB,CAAC,MAAA,CAAC;oBACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzB,gFAAgF;oBAChF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC/C,OAAO,CAAC,MAAA,GAAG,CAAC,OAAO,0CAAE,OAAO,CAAC,CAAC;oBAE9B,6EAA6E;oBAC7E,IAAI,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;wBACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,OAAO;QACH,IAAI,uBAAA,IAAI,uCAAgB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAEjE,sGAAsG;YACtG,MAAM,OAAO,GAAG,GAAS,EAAE;gBACvB,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBACzC,kEAAkE;oBAClE,uBAAA,IAAI,mCAAmB,CAAC,MAAA,CAAC;oBACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAEhC,4EAA4E;oBAC5E,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC,CAAC;YACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,OAAO;QACX,CAAC;QACD,UAAU,CAAC,GAAG,EAAE;;YACZ,8DAAA,CAAA,uEAAoB,EAApB,IAAsB,IAAA,CAAA,MAAA,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,uBAAA,IAAI,qCAAc,EAAE,CAAC;YACrB,aAAa,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,qBAAqB,CAAC,EAC7B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAC5B,CAAC;IACN,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,0BAA0B,CAAC,EAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAC5B,CAAC;IACN,CAAC;IAED,uBAAuB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,uBAAuB,CAAC,EAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAC5B,CAAC;IACN,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EACnC,GAAG,CAAC,CAAC,GAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CACjD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,QAAkB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CACF,CAAC,GAAG,EAAkC,EAAE,CACpC,kBAAkB,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CACxE,EACD,GAAG,CAAC,CAAC,GAA4B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5D,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,QAAkB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CACF,CAAC,GAAG,EAAsC,EAAE,CACxC,kBAAkB,CAAC,GAAG,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ;YAC1C,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAC7C,CACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAmB;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,MAAM,CAAC,CAAC,GAAG,EAAwB,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,WAAW,CAAC,EAC9F,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CACnC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,SAAS;aAChB,IAAI,CACD,MAAM,CAAC,CAAC,GAAG,EAAkC,EAAE;;YAC3C,OAAO,CACH,kBAAkB,CAAC,GAAG,CAAC;gBACvB,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,OAAO,MAAK,OAAO;gBAChC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,CAC7C,CAAC,CAAC,8BAA8B;QACrC,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACR,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC7C,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAChE,CAAC;YAED,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,EACF,IAAI,CAAC,CAAC,CAAC,CACV;aACA,SAAS,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAU,EAAE,OAAe;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAU,EAAE,OAAe,EAAE,UAAmB;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;gBACX,OAAO;gBACP,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI;gBAC/B,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,SAAS;aAClB,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,QAAgB;QACxB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;gBACX,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,cAAc;aACvB,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAY,EAAE,IAAS,EAAE,gBAAyB,KAAK;QACrE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,qEAAqE;YACrE,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;gBAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE;yBACtC,IAAI,EAAE;yBACN,SAAS,CAAC;wBACP,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;4BACV,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;gCACvC,OAAO,CAAC,GAAG,CAAC,CAAC;gCACb,YAAY,CAAC,WAAW,EAAE,CAAC;4BAC/B,CAAC;wBACL,CAAC;qBACJ,CAAC,CAAC;oBAEP,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;wBACX,OAAO,EAAE;4BACL,IAAI;4BACJ,IAAI;4BACJ,OAAO,EAAE,KAAK;yBACjB;wBACD,IAAI,EAAE,QAAQ;qBACA,CAAC,CACtB,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAED,2CAA2C;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;gBACX,OAAO,EAAE;oBACL,IAAI;oBACJ,IAAI;iBACP;gBACD,IAAI,EAAE,QAAQ;aACA,CAAC,CACtB,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ;;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,UAAmB;;IACpE,mBAAmB;IACnB,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE/B,IAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE3B,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;IAErG,wDAAwD;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5C,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
@@ -35,10 +35,10 @@ export declare function handleAuthErrors(res: Response, toLogin?: boolean, ignor
35
35
  * Api call to get user data from the backend
36
36
  */
37
37
  export declare function useUser(): UseQueryResult<UserData, RequestError>;
38
- /** Api call to fetch the session token from the backend */
39
- export declare function requestSessionToken(body?: User): Promise<string | null>;
40
- /** Api call to fetch the session token from the backend */
41
- export declare function useSession(body?: User): UseQueryResult<string, RequestError>;
38
+ /** Api call to create a session with the backend */
39
+ export declare function requestSessionToken(body?: User): Promise<boolean>;
40
+ /** Api call to create a session with the backend */
41
+ export declare function useSession(body?: User): UseQueryResult<boolean, RequestError>;
42
42
  /** Api call to verify the session token from the backend */
43
43
  export declare function verifySessionToken(): Promise<boolean>;
44
44
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAe,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAK/E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,aAAK,yBAAyB;IAC1B,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,YAAY,iBAAiB;CAChC;AA2CD,UAAU,gBAAgB;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,eAAe,GAAG,IAAI,CAAC,CAgBxF;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAiBxC;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,UAAQ,EACf,YAAY,GAAE,KAAK,CAAC,yBAAyB,CAAC,GAAG,IAAW,GAC7D,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAYhE;AAED,2DAA2D;AAC3D,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,IAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBjF;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,GAAE,IAAS,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAQhF;AAED,4DAA4D;AAC5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAK3D"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAe,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAI/E,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInD,aAAK,yBAAyB;IAC1B,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,YAAY,iBAAiB;CAChC;AAqDD,UAAU,gBAAgB;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,eAAe,GAAG,IAAI,CAAC,CAgBxF;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAiBxC;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,UAAQ,EACf,YAAY,GAAE,KAAK,CAAC,yBAAyB,CAAC,GAAG,IAAW,GAC7D,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAYhE;AAED,oDAAoD;AACpD,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,IAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAe3E;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,IAAI,GAAE,IAAS,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAQjF;AAED,4DAA4D;AAC5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAkB3D"}
package/dist/auth/auth.js CHANGED
@@ -8,11 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { useQuery } from '@tanstack/react-query';
11
+ import { z } from 'zod/v4';
11
12
  import { HTTP_METHOD, RequestError, validateResponse } from '@darajs/ui-utils';
12
13
  import { request } from '../api/http';
13
14
  import { useRequestExtras } from '../shared/context/request-extras-context';
14
- import { getTokenKey } from '../shared/utils/embed';
15
15
  import {} from '../types';
16
+ import { notifySessionLoggedOut, setSessionIdentifier } from './session-state';
16
17
  var AuthenticationErrorReason;
17
18
  (function (AuthenticationErrorReason) {
18
19
  AuthenticationErrorReason["BAD_REQUEST"] = "bad_request";
@@ -22,17 +23,28 @@ var AuthenticationErrorReason;
22
23
  AuthenticationErrorReason["OTHER"] = "other";
23
24
  AuthenticationErrorReason["UNAUTHORIZED"] = "unauthorized";
24
25
  })(AuthenticationErrorReason || (AuthenticationErrorReason = {}));
26
+ const AuthenticationErrorSchema = z.object({
27
+ message: z.string(),
28
+ reason: z.enum([
29
+ AuthenticationErrorReason.BAD_REQUEST,
30
+ AuthenticationErrorReason.EXPIRED_TOKEN,
31
+ AuthenticationErrorReason.INVALID_CREDENTIALS,
32
+ AuthenticationErrorReason.INVALID_TOKEN,
33
+ AuthenticationErrorReason.OTHER,
34
+ AuthenticationErrorReason.UNAUTHORIZED,
35
+ ]),
36
+ });
25
37
  /**
26
38
  * Whether a message is an authentication error
27
39
  *
28
40
  * @param message message
29
41
  */
30
- function isAuthenticationError(message) {
31
- return (message !== null &&
32
- message !== undefined &&
33
- typeof message === 'object' &&
34
- 'reason' in message &&
35
- Object.values(AuthenticationErrorReason).includes(message.reason));
42
+ function parseAuthenticationError(message) {
43
+ const parsed = AuthenticationErrorSchema.safeParse(message);
44
+ if (!parsed.success) {
45
+ return null;
46
+ }
47
+ return parsed.data;
36
48
  }
37
49
  /**
38
50
  * Whether the error should be ignored
@@ -79,7 +91,7 @@ export function resolveReferrer() {
79
91
  if (!window.dara.base_url) {
80
92
  return encodeURIComponent(window.location.pathname + window.location.search);
81
93
  }
82
- const base_url_path = new URL(window.dara.base_url).pathname;
94
+ const base_url_path = new URL(window.dara.base_url, window.location.origin).pathname;
83
95
  const referrer = window.location.pathname;
84
96
  // Remove the matching part of the base_url from the referrer.
85
97
  let strippedReferrer = referrer.replace(base_url_path, '');
@@ -105,14 +117,13 @@ export function handleAuthErrors(res_1) {
105
117
  return false;
106
118
  }
107
119
  const content = yield res.clone().json();
108
- if (isAuthenticationError(content === null || content === void 0 ? void 0 : content.detail) && !shouldIgnoreError(content === null || content === void 0 ? void 0 : content.detail, ignoreErrors !== null && ignoreErrors !== void 0 ? ignoreErrors : [])) {
109
- localStorage.removeItem(getTokenKey());
120
+ const authError = parseAuthenticationError(content === null || content === void 0 ? void 0 : content.detail);
121
+ if (authError && !shouldIgnoreError(authError, ignoreErrors !== null && ignoreErrors !== void 0 ? ignoreErrors : [])) {
122
+ notifySessionLoggedOut();
110
123
  // use existing referrer if available in case we were already redirected because of e.g. missing token
111
124
  const queryParams = new URLSearchParams(window.location.search);
112
125
  const referrer = (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : resolveReferrer();
113
- const path = toLogin || shouldRedirectToLogin(content.detail) ?
114
- `/login?referrer=${referrer}`
115
- : `/error?code=${res.status}`;
126
+ const path = toLogin || shouldRedirectToLogin(authError) ? `/login?referrer=${referrer}` : `/error?code=${res.status}`;
116
127
  window.location.href = `${window.dara.base_url}${path}`;
117
128
  return true;
118
129
  }
@@ -135,7 +146,7 @@ export function useUser() {
135
146
  refetchOnWindowFocus: false,
136
147
  });
137
148
  }
138
- /** Api call to fetch the session token from the backend */
149
+ /** Api call to create a session with the backend */
139
150
  export function requestSessionToken() {
140
151
  return __awaiter(this, arguments, void 0, function* (body = {}) {
141
152
  const res = yield request('/api/auth/session', {
@@ -145,16 +156,13 @@ export function requestSessionToken() {
145
156
  // check auth errors, but ignore invalid credentials - these will be handled by validateResponse further
146
157
  const loggedOut = yield handleAuthErrors(res, false, [AuthenticationErrorReason.INVALID_CREDENTIALS]);
147
158
  if (loggedOut) {
148
- return null;
159
+ return false;
149
160
  }
150
- yield validateResponse(res, 'Failed to fetch the session token');
151
- const parsedResponse = yield res.json();
152
- const { token } = parsedResponse;
153
- localStorage.setItem(getTokenKey(), token);
154
- return token;
161
+ yield validateResponse(res, 'Failed to create a session');
162
+ return true;
155
163
  });
156
164
  }
157
- /** Api call to fetch the session token from the backend */
165
+ /** Api call to create a session with the backend */
158
166
  export function useSession(body = {}) {
159
167
  return useQuery({
160
168
  queryFn: () => __awaiter(this, void 0, void 0, function* () {
@@ -170,7 +178,18 @@ export function verifySessionToken() {
170
178
  const res = yield request('/api/auth/verify-session', {
171
179
  method: HTTP_METHOD.POST,
172
180
  });
173
- return res.ok;
181
+ if (!res.ok) {
182
+ setSessionIdentifier(null);
183
+ return false;
184
+ }
185
+ try {
186
+ const sessionId = yield res.json();
187
+ setSessionIdentifier(typeof sessionId === 'string' ? sessionId : null);
188
+ }
189
+ catch (_a) {
190
+ setSessionIdentifier(null);
191
+ }
192
+ return true;
174
193
  });
175
194
  }
176
195
  //# sourceMappingURL=auth.js.map