From 68aa051f0cec3ffa150ce4fa22af6a81a53ac0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CGiems=E2=80=9D?= <“hubert.wabia@gmail.com”> Date: Thu, 15 Feb 2024 11:00:11 +0100 Subject: [PATCH] apply fix for persistent sessions --- server/src/ws/app_handler/handler.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/server/src/ws/app_handler/handler.rs b/server/src/ws/app_handler/handler.rs index 04b9dcb3..fc4ea072 100644 --- a/server/src/ws/app_handler/handler.rs +++ b/server/src/ws/app_handler/handler.rs @@ -2,7 +2,9 @@ use super::methods::{ disconnect_session::disconnect_session, initialize_session::initialize_session_connection, }; use crate::{ - state::{ClientSockets, ClientToSessions, SendToClient, SessionToAppMap, Sessions}, + state::{ + ClientSockets, ClientToSessions, SendToClient, SessionToApp, SessionToAppMap, Sessions, + }, structs::{ app_messages::app_messages::AppToServer, client_messages::{client_messages::ServerToClient, new_payload_event::NewPayloadEvent}, @@ -81,7 +83,16 @@ pub async fn app_handler( match app_msg { AppToServer::InitializeRequest(init_data) => { // TEMP FIX - let app_id = uuid7::uuid7().to_string(); + let app_id = match &init_data.persistent_session_id { + Some(session_id) => session_to_app_map + .get_app_id(&session_id) + .await + .unwrap_or_else(|| { + warn!("No app_id found for session: {}", session_id); + uuid7::uuid7().to_string() + }), + None => uuid7::uuid7().to_string(), + }; let session_id = initialize_session_connection( &app_id,