@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.
- package/dist/api/events.d.ts +2 -0
- package/dist/api/events.d.ts.map +1 -0
- package/dist/api/events.js +2 -0
- package/dist/api/events.js.map +1 -0
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/http.js +19 -20
- package/dist/api/http.js.map +1 -1
- package/dist/api/websocket.d.ts +8 -17
- package/dist/api/websocket.d.ts.map +1 -1
- package/dist/api/websocket.js +64 -48
- package/dist/api/websocket.js.map +1 -1
- package/dist/auth/auth.d.ts +4 -4
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +41 -22
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/basic/basic-auth-login.d.ts.map +1 -1
- package/dist/auth/basic/basic-auth-login.js +11 -19
- package/dist/auth/basic/basic-auth-login.js.map +1 -1
- package/dist/auth/basic/basic-auth-logout.js +2 -2
- package/dist/auth/basic/basic-auth-logout.js.map +1 -1
- package/dist/auth/default/default-auth-login.d.ts +1 -1
- package/dist/auth/default/default-auth-login.d.ts.map +1 -1
- package/dist/auth/default/default-auth-login.js +13 -22
- package/dist/auth/default/default-auth-login.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/oidc/oidc-login.d.ts.map +1 -1
- package/dist/auth/oidc/oidc-login.js +10 -25
- package/dist/auth/oidc/oidc-login.js.map +1 -1
- package/dist/auth/oidc/oidc-logout.js +3 -3
- package/dist/auth/oidc/oidc-logout.js.map +1 -1
- package/dist/auth/oidc/sso-callback.d.ts +3 -4
- package/dist/auth/oidc/sso-callback.d.ts.map +1 -1
- package/dist/auth/oidc/sso-callback.js +4 -8
- package/dist/auth/oidc/sso-callback.js.map +1 -1
- package/dist/auth/session-state.d.ts +44 -0
- package/dist/auth/session-state.d.ts.map +1 -0
- package/dist/auth/session-state.js +194 -0
- package/dist/auth/session-state.js.map +1 -0
- package/dist/{dara_core-1.25.6-py3-none-any.whl → dara_core-1.26.1-py3-none-any.whl} +0 -0
- package/dist/router/create-router.d.ts.map +1 -1
- package/dist/router/create-router.js +4 -5
- package/dist/router/create-router.js.map +1 -1
- package/dist/shared/interactivity/persistence.js +4 -4
- package/dist/shared/interactivity/persistence.js.map +1 -1
- package/dist/shared/interactivity/plain-variable.js +1 -1
- package/dist/shared/interactivity/plain-variable.js.map +1 -1
- package/dist/shared/root/authenticated-root.d.ts.map +1 -1
- package/dist/shared/root/authenticated-root.js +8 -22
- package/dist/shared/root/authenticated-root.js.map +1 -1
- package/dist/shared/utils/clean-session-cache.d.ts +2 -2
- package/dist/shared/utils/clean-session-cache.d.ts.map +1 -1
- package/dist/shared/utils/clean-session-cache.js +3 -3
- package/dist/shared/utils/clean-session-cache.js.map +1 -1
- package/dist/shared/utils/iframe.d.ts +5 -0
- package/dist/shared/utils/iframe.d.ts.map +1 -0
- package/dist/shared/utils/iframe.js +9 -0
- package/dist/shared/utils/iframe.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -1
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/index.js +1 -1
- package/dist/shared/utils/index.js.map +1 -1
- package/dist/umd/dara.core.umd.cjs +3908 -3859
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/vitest-setup.js +88 -0
- package/dist/vitest-setup.js.map +1 -1
- package/package.json +9 -9
- package/dist/auth/use-session-token.d.ts +0 -19
- package/dist/auth/use-session-token.d.ts.map +0 -1
- package/dist/auth/use-session-token.js +0 -30
- package/dist/auth/use-session-token.js.map +0 -1
- package/dist/shared/global-state-store.d.ts +0 -54
- package/dist/shared/global-state-store.d.ts.map +0 -1
- package/dist/shared/global-state-store.js +0 -169
- package/dist/shared/global-state-store.js.map +0 -1
- package/dist/shared/utils/embed.d.ts +0 -22
- package/dist/shared/utils/embed.d.ts.map +0 -1
- package/dist/shared/utils/embed.js +0 -47
- package/dist/shared/utils/embed.js.map +0 -1
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../js/api/events.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC"}
|
package/dist/api/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"
|
|
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
|
|
25
|
-
import {
|
|
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
|
-
//
|
|
74
|
-
|
|
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
|
-
//
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
98
|
+
credentials,
|
|
99
|
+
headers: refreshHeaders,
|
|
102
100
|
method: 'POST',
|
|
103
101
|
});
|
|
104
102
|
if (refreshResponse.ok) {
|
|
105
|
-
|
|
106
|
-
return
|
|
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
|
|
112
|
-
|
|
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
|
package/dist/api/http.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"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"}
|
package/dist/api/websocket.d.ts
CHANGED
|
@@ -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 |
|
|
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,
|
|
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(
|
|
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":"AAEA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
|
package/dist/api/websocket.js
CHANGED
|
@@ -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
|
|
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,
|
|
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
|
|
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
|
|
98
|
-
const
|
|
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(
|
|
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
|
-
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
|
package/dist/auth/auth.d.ts
CHANGED
|
@@ -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
|
|
39
|
-
export declare function requestSessionToken(body?: User): Promise<
|
|
40
|
-
/** Api call to
|
|
41
|
-
export declare function useSession(body?: User): UseQueryResult<
|
|
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 {};
|
package/dist/auth/auth.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
109
|
-
|
|
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(
|
|
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
|
|
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
|
|
159
|
+
return false;
|
|
149
160
|
}
|
|
150
|
-
yield validateResponse(res, 'Failed to
|
|
151
|
-
|
|
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
|
|
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
|
-
|
|
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
|