From 8df799a6e41eca4914ca3cc7113644192b79b2e3 Mon Sep 17 00:00:00 2001 From: WhiteChi Date: Mon, 1 Jan 2024 00:37:12 +0800 Subject: [PATCH] `Shamrock`: fix #180 --- .../shamrock/remote/action/handlers/FavAddImageMsg.kt | 2 ++ .../remote/service/api/WebSocketClientServlet.kt | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddImageMsg.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddImageMsg.kt index 14b768b..2de21aa 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddImageMsg.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddImageMsg.kt @@ -131,6 +131,8 @@ internal object FavAddImageMsg: IActionHandler() { val pb = ProtoUtils.decodeFromByteArray(data) itemId = pb[2, 20009, 1].asUtf8String } + + System.gc() } return ok(PicInfo( diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/WebSocketClientServlet.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/WebSocketClientServlet.kt index c39a52a..cf04ea2 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/WebSocketClientServlet.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/WebSocketClientServlet.kt @@ -37,7 +37,7 @@ import kotlin.concurrent.timer internal abstract class WebSocketClientServlet( url: String, private val heartbeatInterval: Long, - wsHeaders: Map + private val wsHeaders: Map ) : BaseTransmitServlet, WebSocketClient(URI(url), wsHeaders) { private val sendLock = Mutex() @@ -85,6 +85,14 @@ internal abstract class WebSocketClientServlet( } override fun onClose(code: Int, reason: String?, remote: Boolean) { + if (code == 403) { + if (wsHeaders.containsKey("authorization")) { + val token = wsHeaders["authorization"]!!.substring(7) + LogCenter.log("WebSocketClient连接被拒绝, token: $token 失效", Level.WARN) + } else { + LogCenter.log("WebSocketClient连接被拒绝, 未设置token", Level.WARN) + } + } LogCenter.log("WebSocketClient onClose: $code, $reason, $remote") cancelFlowJobs() }