diff --git a/src/App.js b/src/App.js
index 1732ae1..8da0062 100644
--- a/src/App.js
+++ b/src/App.js
@@ -17,29 +17,6 @@ export default function App() {
const { userSession, setUserSession } = UseUserSession();
const [userData, setUserData] = useState(ClientUserDataContextPreview);
- useEffect(() => {
- if (!userSession) return;
-
- fetch(Constants.API_ADDRESS + "/user", {
- method: "GET",
-
- headers: {
- "Content-Type": "application/json",
- "X-Authorization": userSession,
- },
- })
- .then((res) => {
- if (res.status === 200) {
- return res.json();
- }
-
- setUserSession();
- return Promise.reject(res.status);
- })
- .then((data) => setUserData(data))
- .catch(console.error);
- }, []);
-
if (!userSession) {
return ;
}
@@ -47,7 +24,11 @@ export default function App() {
return (
-
+
diff --git a/src/utils.js b/src/utils.js
index 92dd28d..6fc3b6d 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -60,10 +60,16 @@ export const WebSocketTestContext = createContext(webSocketContextPreview);
// commands received from the backend server
const ReceivedMessagesCommands = {
- UpdateConnectedUsers: 1,
+ InitUserSocketConnection: 1,
+ UpdateConnectedUsers: 2,
};
-export function WebSocketProvider({ children, userSession }) {
+export function WebSocketProvider({
+ children,
+ userSession,
+ setUserSession,
+ setUserData,
+}) {
const [isReady, setIsReady] = useState(false);
const [connectionBadgeStatus, setConnectionBadgeStatus] = useState("error");
const [connectedWebSocketUsersCount, setConnectedWebSocketUsersCount] =
@@ -88,6 +94,9 @@ export function WebSocketProvider({ children, userSession }) {
const body = data.Body;
switch (cmd) {
+ case ReceivedMessagesCommands.InitUserSocketConnection:
+ setUserData(body);
+ break;
case ReceivedMessagesCommands.UpdateConnectedUsers:
setConnectedWebSocketUsersCount(body);
break;
@@ -97,7 +106,14 @@ export function WebSocketProvider({ children, userSession }) {
socket.onclose = (event) => {
setIsReady(false);
setConnectionBadgeStatus("error");
- console.log("closed", event.reason.code);
+ console.log("closed", event);
+
+ // custom code defined by the backend server
+ if (event.code === 4001) {
+ setUserSession();
+ window.location.href = "/";
+ return;
+ }
if (event.reason.code === 1005) return;