From 17d8065a34c5a82ff680101e510b8e5ae0dbd1fc Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Thu, 24 Apr 2025 15:01:12 +0900 Subject: [PATCH] Fix session cleanup in WebSocket routes Add missing `finally` blocks to ensure session removal in WebSocket routes after exceptions. This prevents potential memory leaks and ensures proper resource cleanup. --- .../space/mori/chzzk_bot/webserver/routes/WSSongListRoutes.kt | 1 + .../kotlin/space/mori/chzzk_bot/webserver/routes/WSSongRoutes.kt | 1 + .../space/mori/chzzk_bot/webserver/routes/WSTimerRoutes.kt | 1 + 3 files changed, 3 insertions(+) diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongListRoutes.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongListRoutes.kt index fbab63f..01b145b 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongListRoutes.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongListRoutes.kt @@ -151,6 +151,7 @@ fun Routing.wsSongListRoutes() { } } catch (e: ClosedReceiveChannelException) { logger.error("Error in WebSocket: ${e.message}") + } finally { removeSession(uid) } } diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongRoutes.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongRoutes.kt index d43e304..111d052 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongRoutes.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSSongRoutes.kt @@ -110,6 +110,7 @@ fun Routing.wsSongRoutes() { } } catch(e: ClosedReceiveChannelException) { logger.error("Error in WebSocket: ${e.message}") + } finally { removeSession(uid, this) } } diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSTimerRoutes.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSTimerRoutes.kt index 11d8e04..243b30f 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSTimerRoutes.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/WSTimerRoutes.kt @@ -87,6 +87,7 @@ fun Routing.wsTimerRoutes() { } } catch(e: ClosedReceiveChannelException) { logger.error("Error in WebSocket: ${e.message}") + } finally { removeSession(uid, this) } }