@gobolt/genesis 0.3.3 → 0.3.4
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/components/Chat/Chat.d.ts +1 -0
- package/dist/components/Chat/__stories__/Chat.stories.d.ts +3 -1
- package/dist/index.cjs +120 -92
- package/dist/index.js +120 -92
- package/package.json +1 -1
|
@@ -14,6 +14,8 @@ declare const meta: {
|
|
|
14
14
|
};
|
|
15
15
|
export default meta;
|
|
16
16
|
type Story = StoryObj<typeof meta>;
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const local: Story;
|
|
18
|
+
export declare const remote: Story;
|
|
18
19
|
export declare const WithMessageHistory: Story;
|
|
19
20
|
export declare const WithTitle: Story;
|
|
21
|
+
export declare const Remote: Story;
|
package/dist/index.cjs
CHANGED
|
@@ -75386,7 +75386,8 @@ const Chat = ({
|
|
|
75386
75386
|
isOpen = false,
|
|
75387
75387
|
messageHistory = [],
|
|
75388
75388
|
title = null,
|
|
75389
|
-
isSimulated = false
|
|
75389
|
+
isSimulated = false,
|
|
75390
|
+
authToken
|
|
75390
75391
|
}) => {
|
|
75391
75392
|
const [isChatOpen, setIsChatOpen] = React.useState(isOpen);
|
|
75392
75393
|
const [message2, setMessage] = React.useState("");
|
|
@@ -75402,104 +75403,131 @@ const Chat = ({
|
|
|
75402
75403
|
if (isSimulated) return;
|
|
75403
75404
|
const socketUrlToUse = window.location.hostname === "localhost" && window.location.port === "6006" ? "http://localhost:3000" : socketUrl;
|
|
75404
75405
|
console.log("Connecting to socket server at:", socketUrlToUse);
|
|
75405
|
-
|
|
75406
|
-
|
|
75407
|
-
|
|
75408
|
-
|
|
75409
|
-
|
|
75410
|
-
|
|
75411
|
-
|
|
75412
|
-
autoConnect: true,
|
|
75413
|
-
timeout: 1e4
|
|
75414
|
-
});
|
|
75415
|
-
const socket = socketRef.current;
|
|
75416
|
-
socket.on("connect", () => {
|
|
75417
|
-
console.log("Socket connected successfully");
|
|
75418
|
-
setServerError("");
|
|
75419
|
-
setServerStatus("ready");
|
|
75420
|
-
serverReadyRef.current = true;
|
|
75421
|
-
});
|
|
75422
|
-
socket.on("connect_error", (error2) => {
|
|
75423
|
-
console.error("Socket connection error:", error2);
|
|
75424
|
-
setServerError(`Connection error: ${error2.message}`);
|
|
75425
|
-
setServerStatus("error");
|
|
75426
|
-
serverReadyRef.current = false;
|
|
75427
|
-
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75428
|
-
setIsLocked(false);
|
|
75429
|
-
});
|
|
75430
|
-
socket.on("disconnect", (reason) => {
|
|
75431
|
-
console.log("Socket disconnected:", reason);
|
|
75432
|
-
setServerError(`Disconnected: ${reason}`);
|
|
75433
|
-
setServerStatus("error");
|
|
75434
|
-
serverReadyRef.current = false;
|
|
75435
|
-
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75436
|
-
setIsLocked(false);
|
|
75437
|
-
});
|
|
75438
|
-
socket.on("new connection", () => {
|
|
75439
|
-
console.log("New connection established");
|
|
75440
|
-
});
|
|
75441
|
-
socket.on("server-ready", () => {
|
|
75442
|
-
console.log("Server is ready");
|
|
75443
|
-
setServerError("");
|
|
75444
|
-
setServerStatus("ready");
|
|
75445
|
-
serverReadyRef.current = true;
|
|
75446
|
-
});
|
|
75447
|
-
socket.on("message", (newMessage) => {
|
|
75448
|
-
setMessages((prev2) => {
|
|
75449
|
-
if (newMessage.sender === "bot") {
|
|
75450
|
-
if (newMessage.content === "Processing your message...") {
|
|
75451
|
-
const hasThinkingMessage = prev2.some((msg) => msg.isThinking);
|
|
75452
|
-
if (hasThinkingMessage) {
|
|
75453
|
-
return prev2;
|
|
75406
|
+
const validateToken = async () => {
|
|
75407
|
+
try {
|
|
75408
|
+
const response = await fetch(
|
|
75409
|
+
"https://www.googleapis.com/oauth2/v2/userinfo",
|
|
75410
|
+
{
|
|
75411
|
+
headers: {
|
|
75412
|
+
Authorization: `Bearer ${authToken}`
|
|
75454
75413
|
}
|
|
75455
|
-
return [...prev2, { ...newMessage, isThinking: true }];
|
|
75456
75414
|
}
|
|
75457
|
-
|
|
75458
|
-
|
|
75459
|
-
|
|
75460
|
-
|
|
75415
|
+
);
|
|
75416
|
+
if (!response.ok) {
|
|
75417
|
+
throw new Error("Invalid token");
|
|
75418
|
+
}
|
|
75419
|
+
socketRef.current = lookup(socketUrlToUse, {
|
|
75420
|
+
transports: ["polling", "websocket"],
|
|
75421
|
+
reconnection: true,
|
|
75422
|
+
reconnectionAttempts: 5,
|
|
75423
|
+
reconnectionDelay: 1e3,
|
|
75424
|
+
withCredentials: true,
|
|
75425
|
+
forceNew: true,
|
|
75426
|
+
autoConnect: true,
|
|
75427
|
+
timeout: 1e4,
|
|
75428
|
+
auth: {
|
|
75429
|
+
token: authToken,
|
|
75430
|
+
type: "Bearer"
|
|
75431
|
+
}
|
|
75432
|
+
});
|
|
75433
|
+
const socket = socketRef.current;
|
|
75434
|
+
socket.on("connect", () => {
|
|
75435
|
+
console.log("Socket connected successfully");
|
|
75436
|
+
setServerError("");
|
|
75437
|
+
setServerStatus("ready");
|
|
75438
|
+
serverReadyRef.current = true;
|
|
75439
|
+
});
|
|
75440
|
+
socket.on("connect_error", (error2) => {
|
|
75441
|
+
console.error("Socket connection error:", error2);
|
|
75442
|
+
setServerError(`Connection error: ${error2.message}`);
|
|
75443
|
+
setServerStatus("error");
|
|
75444
|
+
serverReadyRef.current = false;
|
|
75445
|
+
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75446
|
+
setIsLocked(false);
|
|
75447
|
+
});
|
|
75448
|
+
socket.on("disconnect", (reason) => {
|
|
75449
|
+
console.log("Socket disconnected:", reason);
|
|
75450
|
+
setServerError(`Disconnected: ${reason}`);
|
|
75451
|
+
setServerStatus("error");
|
|
75452
|
+
serverReadyRef.current = false;
|
|
75453
|
+
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75454
|
+
setIsLocked(false);
|
|
75455
|
+
});
|
|
75456
|
+
socket.on("new connection", () => {
|
|
75457
|
+
console.log("New connection established");
|
|
75458
|
+
});
|
|
75459
|
+
socket.on("server-ready", () => {
|
|
75460
|
+
console.log("Server is ready");
|
|
75461
|
+
setServerError("");
|
|
75462
|
+
setServerStatus("ready");
|
|
75463
|
+
serverReadyRef.current = true;
|
|
75464
|
+
});
|
|
75465
|
+
socket.on("message", (newMessage) => {
|
|
75466
|
+
setMessages((prev2) => {
|
|
75467
|
+
if (newMessage.sender === "bot") {
|
|
75468
|
+
if (newMessage.content === "Processing your message...") {
|
|
75469
|
+
const hasThinkingMessage = prev2.some((msg) => msg.isThinking);
|
|
75470
|
+
if (hasThinkingMessage) {
|
|
75471
|
+
return prev2;
|
|
75472
|
+
}
|
|
75473
|
+
return [...prev2, { ...newMessage, isThinking: true }];
|
|
75474
|
+
}
|
|
75475
|
+
const thinkingMessage = prev2.find((msg) => msg.isThinking);
|
|
75476
|
+
if (thinkingMessage) {
|
|
75477
|
+
return prev2.map(
|
|
75478
|
+
(msg) => msg.isThinking ? { ...newMessage, isThinking: false } : msg
|
|
75479
|
+
);
|
|
75480
|
+
}
|
|
75481
|
+
return [...prev2, { ...newMessage, isThinking: false }];
|
|
75482
|
+
}
|
|
75483
|
+
const lastUserMsg = [...prev2].reverse().find((msg) => msg.sender === "user");
|
|
75484
|
+
if (lastUserMsg && lastUserMsg.content === newMessage.content) {
|
|
75485
|
+
return prev2;
|
|
75486
|
+
}
|
|
75487
|
+
return [...prev2, newMessage];
|
|
75488
|
+
});
|
|
75489
|
+
setIsLocked(false);
|
|
75490
|
+
});
|
|
75491
|
+
socket.on("update-bot-message", (updatedData) => {
|
|
75492
|
+
console.log("Received bot message update:", updatedData);
|
|
75493
|
+
setMessages(
|
|
75494
|
+
(prev2) => prev2.map(
|
|
75495
|
+
(message22) => message22.id === updatedData.id ? { ...updatedData } : message22
|
|
75496
|
+
)
|
|
75497
|
+
);
|
|
75498
|
+
});
|
|
75499
|
+
socket.on("error", (error2) => {
|
|
75500
|
+
console.error("Socket error:", error2);
|
|
75501
|
+
setServerError("Server error occurred");
|
|
75502
|
+
});
|
|
75503
|
+
socket.onAny((eventName, ...args) => {
|
|
75504
|
+
console.log(`Socket event received: ${eventName}`, args);
|
|
75505
|
+
});
|
|
75506
|
+
const timeoutId = setTimeout(() => {
|
|
75507
|
+
if (!serverReadyRef.current) {
|
|
75508
|
+
console.log("Server status check failed");
|
|
75509
|
+
setServerError(
|
|
75510
|
+
"Server status check failed - please check the server"
|
|
75461
75511
|
);
|
|
75512
|
+
setServerStatus("error");
|
|
75513
|
+
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75514
|
+
setIsLocked(false);
|
|
75462
75515
|
}
|
|
75463
|
-
|
|
75464
|
-
|
|
75465
|
-
|
|
75466
|
-
|
|
75467
|
-
|
|
75468
|
-
}
|
|
75469
|
-
|
|
75470
|
-
|
|
75471
|
-
|
|
75472
|
-
});
|
|
75473
|
-
socket.on("update-bot-message", (updatedData) => {
|
|
75474
|
-
console.log("Received bot message update:", updatedData);
|
|
75475
|
-
setMessages(
|
|
75476
|
-
(prev2) => prev2.map(
|
|
75477
|
-
(message22) => message22.id === updatedData.id ? { ...updatedData } : message22
|
|
75478
|
-
)
|
|
75479
|
-
);
|
|
75480
|
-
});
|
|
75481
|
-
socket.on("error", (error2) => {
|
|
75482
|
-
console.error("Socket error:", error2);
|
|
75483
|
-
setServerError("Server error occurred");
|
|
75484
|
-
});
|
|
75485
|
-
socket.onAny((eventName, ...args) => {
|
|
75486
|
-
console.log(`Socket event received: ${eventName}`, args);
|
|
75487
|
-
});
|
|
75488
|
-
const timeoutId = setTimeout(() => {
|
|
75489
|
-
if (!serverReadyRef.current) {
|
|
75490
|
-
console.log("Server status check failed");
|
|
75491
|
-
setServerError("Server status check failed - please check the server");
|
|
75516
|
+
}, 2e3);
|
|
75517
|
+
return () => {
|
|
75518
|
+
console.log("Disconnecting socket");
|
|
75519
|
+
socket.disconnect();
|
|
75520
|
+
clearTimeout(timeoutId);
|
|
75521
|
+
};
|
|
75522
|
+
} catch (error2) {
|
|
75523
|
+
console.error("Token validation error:", error2);
|
|
75524
|
+
setServerError("Authentication error: Invalid token");
|
|
75492
75525
|
setServerStatus("error");
|
|
75493
|
-
|
|
75494
|
-
setIsLocked(false);
|
|
75526
|
+
serverReadyRef.current = false;
|
|
75495
75527
|
}
|
|
75496
|
-
}, 2e3);
|
|
75497
|
-
return () => {
|
|
75498
|
-
console.log("Disconnecting socket");
|
|
75499
|
-
socket.disconnect();
|
|
75500
|
-
clearTimeout(timeoutId);
|
|
75501
75528
|
};
|
|
75502
|
-
|
|
75529
|
+
validateToken();
|
|
75530
|
+
}, [isSimulated, socketUrl, authToken]);
|
|
75503
75531
|
React.useEffect(() => {
|
|
75504
75532
|
if (messageListRef.current) {
|
|
75505
75533
|
messageListRef.current.scrollTo({
|
package/dist/index.js
CHANGED
|
@@ -75368,7 +75368,8 @@ const Chat = ({
|
|
|
75368
75368
|
isOpen = false,
|
|
75369
75369
|
messageHistory = [],
|
|
75370
75370
|
title = null,
|
|
75371
|
-
isSimulated = false
|
|
75371
|
+
isSimulated = false,
|
|
75372
|
+
authToken
|
|
75372
75373
|
}) => {
|
|
75373
75374
|
const [isChatOpen, setIsChatOpen] = useState(isOpen);
|
|
75374
75375
|
const [message2, setMessage] = useState("");
|
|
@@ -75384,104 +75385,131 @@ const Chat = ({
|
|
|
75384
75385
|
if (isSimulated) return;
|
|
75385
75386
|
const socketUrlToUse = window.location.hostname === "localhost" && window.location.port === "6006" ? "http://localhost:3000" : socketUrl;
|
|
75386
75387
|
console.log("Connecting to socket server at:", socketUrlToUse);
|
|
75387
|
-
|
|
75388
|
-
|
|
75389
|
-
|
|
75390
|
-
|
|
75391
|
-
|
|
75392
|
-
|
|
75393
|
-
|
|
75394
|
-
autoConnect: true,
|
|
75395
|
-
timeout: 1e4
|
|
75396
|
-
});
|
|
75397
|
-
const socket = socketRef.current;
|
|
75398
|
-
socket.on("connect", () => {
|
|
75399
|
-
console.log("Socket connected successfully");
|
|
75400
|
-
setServerError("");
|
|
75401
|
-
setServerStatus("ready");
|
|
75402
|
-
serverReadyRef.current = true;
|
|
75403
|
-
});
|
|
75404
|
-
socket.on("connect_error", (error2) => {
|
|
75405
|
-
console.error("Socket connection error:", error2);
|
|
75406
|
-
setServerError(`Connection error: ${error2.message}`);
|
|
75407
|
-
setServerStatus("error");
|
|
75408
|
-
serverReadyRef.current = false;
|
|
75409
|
-
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75410
|
-
setIsLocked(false);
|
|
75411
|
-
});
|
|
75412
|
-
socket.on("disconnect", (reason) => {
|
|
75413
|
-
console.log("Socket disconnected:", reason);
|
|
75414
|
-
setServerError(`Disconnected: ${reason}`);
|
|
75415
|
-
setServerStatus("error");
|
|
75416
|
-
serverReadyRef.current = false;
|
|
75417
|
-
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75418
|
-
setIsLocked(false);
|
|
75419
|
-
});
|
|
75420
|
-
socket.on("new connection", () => {
|
|
75421
|
-
console.log("New connection established");
|
|
75422
|
-
});
|
|
75423
|
-
socket.on("server-ready", () => {
|
|
75424
|
-
console.log("Server is ready");
|
|
75425
|
-
setServerError("");
|
|
75426
|
-
setServerStatus("ready");
|
|
75427
|
-
serverReadyRef.current = true;
|
|
75428
|
-
});
|
|
75429
|
-
socket.on("message", (newMessage) => {
|
|
75430
|
-
setMessages((prev2) => {
|
|
75431
|
-
if (newMessage.sender === "bot") {
|
|
75432
|
-
if (newMessage.content === "Processing your message...") {
|
|
75433
|
-
const hasThinkingMessage = prev2.some((msg) => msg.isThinking);
|
|
75434
|
-
if (hasThinkingMessage) {
|
|
75435
|
-
return prev2;
|
|
75388
|
+
const validateToken = async () => {
|
|
75389
|
+
try {
|
|
75390
|
+
const response = await fetch(
|
|
75391
|
+
"https://www.googleapis.com/oauth2/v2/userinfo",
|
|
75392
|
+
{
|
|
75393
|
+
headers: {
|
|
75394
|
+
Authorization: `Bearer ${authToken}`
|
|
75436
75395
|
}
|
|
75437
|
-
return [...prev2, { ...newMessage, isThinking: true }];
|
|
75438
75396
|
}
|
|
75439
|
-
|
|
75440
|
-
|
|
75441
|
-
|
|
75442
|
-
|
|
75397
|
+
);
|
|
75398
|
+
if (!response.ok) {
|
|
75399
|
+
throw new Error("Invalid token");
|
|
75400
|
+
}
|
|
75401
|
+
socketRef.current = lookup(socketUrlToUse, {
|
|
75402
|
+
transports: ["polling", "websocket"],
|
|
75403
|
+
reconnection: true,
|
|
75404
|
+
reconnectionAttempts: 5,
|
|
75405
|
+
reconnectionDelay: 1e3,
|
|
75406
|
+
withCredentials: true,
|
|
75407
|
+
forceNew: true,
|
|
75408
|
+
autoConnect: true,
|
|
75409
|
+
timeout: 1e4,
|
|
75410
|
+
auth: {
|
|
75411
|
+
token: authToken,
|
|
75412
|
+
type: "Bearer"
|
|
75413
|
+
}
|
|
75414
|
+
});
|
|
75415
|
+
const socket = socketRef.current;
|
|
75416
|
+
socket.on("connect", () => {
|
|
75417
|
+
console.log("Socket connected successfully");
|
|
75418
|
+
setServerError("");
|
|
75419
|
+
setServerStatus("ready");
|
|
75420
|
+
serverReadyRef.current = true;
|
|
75421
|
+
});
|
|
75422
|
+
socket.on("connect_error", (error2) => {
|
|
75423
|
+
console.error("Socket connection error:", error2);
|
|
75424
|
+
setServerError(`Connection error: ${error2.message}`);
|
|
75425
|
+
setServerStatus("error");
|
|
75426
|
+
serverReadyRef.current = false;
|
|
75427
|
+
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75428
|
+
setIsLocked(false);
|
|
75429
|
+
});
|
|
75430
|
+
socket.on("disconnect", (reason) => {
|
|
75431
|
+
console.log("Socket disconnected:", reason);
|
|
75432
|
+
setServerError(`Disconnected: ${reason}`);
|
|
75433
|
+
setServerStatus("error");
|
|
75434
|
+
serverReadyRef.current = false;
|
|
75435
|
+
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75436
|
+
setIsLocked(false);
|
|
75437
|
+
});
|
|
75438
|
+
socket.on("new connection", () => {
|
|
75439
|
+
console.log("New connection established");
|
|
75440
|
+
});
|
|
75441
|
+
socket.on("server-ready", () => {
|
|
75442
|
+
console.log("Server is ready");
|
|
75443
|
+
setServerError("");
|
|
75444
|
+
setServerStatus("ready");
|
|
75445
|
+
serverReadyRef.current = true;
|
|
75446
|
+
});
|
|
75447
|
+
socket.on("message", (newMessage) => {
|
|
75448
|
+
setMessages((prev2) => {
|
|
75449
|
+
if (newMessage.sender === "bot") {
|
|
75450
|
+
if (newMessage.content === "Processing your message...") {
|
|
75451
|
+
const hasThinkingMessage = prev2.some((msg) => msg.isThinking);
|
|
75452
|
+
if (hasThinkingMessage) {
|
|
75453
|
+
return prev2;
|
|
75454
|
+
}
|
|
75455
|
+
return [...prev2, { ...newMessage, isThinking: true }];
|
|
75456
|
+
}
|
|
75457
|
+
const thinkingMessage = prev2.find((msg) => msg.isThinking);
|
|
75458
|
+
if (thinkingMessage) {
|
|
75459
|
+
return prev2.map(
|
|
75460
|
+
(msg) => msg.isThinking ? { ...newMessage, isThinking: false } : msg
|
|
75461
|
+
);
|
|
75462
|
+
}
|
|
75463
|
+
return [...prev2, { ...newMessage, isThinking: false }];
|
|
75464
|
+
}
|
|
75465
|
+
const lastUserMsg = [...prev2].reverse().find((msg) => msg.sender === "user");
|
|
75466
|
+
if (lastUserMsg && lastUserMsg.content === newMessage.content) {
|
|
75467
|
+
return prev2;
|
|
75468
|
+
}
|
|
75469
|
+
return [...prev2, newMessage];
|
|
75470
|
+
});
|
|
75471
|
+
setIsLocked(false);
|
|
75472
|
+
});
|
|
75473
|
+
socket.on("update-bot-message", (updatedData) => {
|
|
75474
|
+
console.log("Received bot message update:", updatedData);
|
|
75475
|
+
setMessages(
|
|
75476
|
+
(prev2) => prev2.map(
|
|
75477
|
+
(message22) => message22.id === updatedData.id ? { ...updatedData } : message22
|
|
75478
|
+
)
|
|
75479
|
+
);
|
|
75480
|
+
});
|
|
75481
|
+
socket.on("error", (error2) => {
|
|
75482
|
+
console.error("Socket error:", error2);
|
|
75483
|
+
setServerError("Server error occurred");
|
|
75484
|
+
});
|
|
75485
|
+
socket.onAny((eventName, ...args) => {
|
|
75486
|
+
console.log(`Socket event received: ${eventName}`, args);
|
|
75487
|
+
});
|
|
75488
|
+
const timeoutId = setTimeout(() => {
|
|
75489
|
+
if (!serverReadyRef.current) {
|
|
75490
|
+
console.log("Server status check failed");
|
|
75491
|
+
setServerError(
|
|
75492
|
+
"Server status check failed - please check the server"
|
|
75443
75493
|
);
|
|
75494
|
+
setServerStatus("error");
|
|
75495
|
+
setMessages((prev2) => prev2.filter((msg) => !msg.isThinking));
|
|
75496
|
+
setIsLocked(false);
|
|
75444
75497
|
}
|
|
75445
|
-
|
|
75446
|
-
|
|
75447
|
-
|
|
75448
|
-
|
|
75449
|
-
|
|
75450
|
-
}
|
|
75451
|
-
|
|
75452
|
-
|
|
75453
|
-
|
|
75454
|
-
});
|
|
75455
|
-
socket.on("update-bot-message", (updatedData) => {
|
|
75456
|
-
console.log("Received bot message update:", updatedData);
|
|
75457
|
-
setMessages(
|
|
75458
|
-
(prev2) => prev2.map(
|
|
75459
|
-
(message22) => message22.id === updatedData.id ? { ...updatedData } : message22
|
|
75460
|
-
)
|
|
75461
|
-
);
|
|
75462
|
-
});
|
|
75463
|
-
socket.on("error", (error2) => {
|
|
75464
|
-
console.error("Socket error:", error2);
|
|
75465
|
-
setServerError("Server error occurred");
|
|
75466
|
-
});
|
|
75467
|
-
socket.onAny((eventName, ...args) => {
|
|
75468
|
-
console.log(`Socket event received: ${eventName}`, args);
|
|
75469
|
-
});
|
|
75470
|
-
const timeoutId = setTimeout(() => {
|
|
75471
|
-
if (!serverReadyRef.current) {
|
|
75472
|
-
console.log("Server status check failed");
|
|
75473
|
-
setServerError("Server status check failed - please check the server");
|
|
75498
|
+
}, 2e3);
|
|
75499
|
+
return () => {
|
|
75500
|
+
console.log("Disconnecting socket");
|
|
75501
|
+
socket.disconnect();
|
|
75502
|
+
clearTimeout(timeoutId);
|
|
75503
|
+
};
|
|
75504
|
+
} catch (error2) {
|
|
75505
|
+
console.error("Token validation error:", error2);
|
|
75506
|
+
setServerError("Authentication error: Invalid token");
|
|
75474
75507
|
setServerStatus("error");
|
|
75475
|
-
|
|
75476
|
-
setIsLocked(false);
|
|
75508
|
+
serverReadyRef.current = false;
|
|
75477
75509
|
}
|
|
75478
|
-
}, 2e3);
|
|
75479
|
-
return () => {
|
|
75480
|
-
console.log("Disconnecting socket");
|
|
75481
|
-
socket.disconnect();
|
|
75482
|
-
clearTimeout(timeoutId);
|
|
75483
75510
|
};
|
|
75484
|
-
|
|
75511
|
+
validateToken();
|
|
75512
|
+
}, [isSimulated, socketUrl, authToken]);
|
|
75485
75513
|
useEffect(() => {
|
|
75486
75514
|
if (messageListRef.current) {
|
|
75487
75515
|
messageListRef.current.scrollTo({
|