From 80ba94e84ed4f402862725bff3569e5bc563f5ea Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Thu, 13 Mar 2025 18:54:47 +0800 Subject: feat(session): resume history for new client or rejoin --- src/session.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/session.cpp') diff --git a/src/session.cpp b/src/session.cpp index 2a25db2..8991b52 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -91,7 +91,13 @@ CSession::SRecvData CSession::read(const std::string &msg) { void CSession::run() { onConnect(); - registerSession() ? recvLoop() : log(LOG, "Client {} exited without even registering", m_ip); + if (registerSession()) { + // g_pSessionManager->broadcast(g_pChatManager->getChat()); + for (const auto &chat : g_pChatManager->getChat()) + write(g_pChatManager->fmtBroadcastMessage(chat)); + recvLoop(); + } else + log(LOG, "Client {} exited without even registering", m_ip); g_pSessionManager->removeSession(self); } -- cgit v1.2.3