From 323dc71d4e947ee09aedcb781ebc36cc85a239e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Wed, 14 Jan 2026 18:47:10 +0800 Subject: [PATCH] Improve Satori WebSocket logging and event handling Enhanced debug logging in the Satori WebSocket server for better traceability of client events and authentication. Improved handling of client identification, including more robust checks and detailed logs for token validation. Removed unused MessageUnique logic from NapCatSatoriAdapter and added additional debug logs for event emission and message processing. Added a new onNtMsgSyncContactUnread method stub in NodeIKernelMsgListener. --- .../listeners/NodeIKernelMsgListener.ts | 3 ++ packages/napcat-satori/index.ts | 15 +++--- .../napcat-satori/network/websocket-server.ts | 48 ++++++++++++++----- 3 files changed, 46 insertions(+), 20 deletions(-) diff --git a/packages/napcat-core/listeners/NodeIKernelMsgListener.ts b/packages/napcat-core/listeners/NodeIKernelMsgListener.ts index 21c79a21..26f854ee 100644 --- a/packages/napcat-core/listeners/NodeIKernelMsgListener.ts +++ b/packages/napcat-core/listeners/NodeIKernelMsgListener.ts @@ -382,5 +382,8 @@ export class NodeIKernelMsgListener { // 第一次发现于Win 9.9.9-23159 onBroadcastHelperProgerssUpdate (..._args: unknown[]): any { + } + onNtMsgSyncContactUnread (..._args: unknown[]): any { + } } diff --git a/packages/napcat-satori/index.ts b/packages/napcat-satori/index.ts index 05de6d4e..ec32b492 100644 --- a/packages/napcat-satori/index.ts +++ b/packages/napcat-satori/index.ts @@ -25,7 +25,7 @@ import { ISatoriNetworkAdapter, } from './network'; import { SatoriLoginStatus } from './types'; -import { MessageUnique } from 'napcat-common/src/message-unique'; +// import { MessageUnique } from 'napcat-common/src/message-unique'; import { proxiedListenerOf } from '@/napcat-core/helper/proxy-handler'; import { WebUiDataRuntime } from 'napcat-webui-backend/src/helper/Data'; @@ -161,14 +161,12 @@ export class NapCatSatoriAdapter { msgListener.onRecvMsg = async (msgs) => { if (!this.networkManager.hasActiveAdapters()) return; + for (const msg of msgs) { if (this.bootTime > parseInt(msg.msgTime)) { continue; } - msg.id = MessageUnique.createUniqueMsgId( - { chatType: msg.chatType, peerUid: msg.peerUid, guildId: '' }, - msg.msgId - ); + // this.context.logger.log(`[Satori] Debug: Processing message ${msg.msgId}`); await this.handleMessage(msg); } }; @@ -192,10 +190,6 @@ export class NapCatSatoriAdapter { ); const updatemsg = updatemsgs.find((e) => e.msgId === msg.msgId); if (updatemsg?.sendStatus === SendStatusType.KSEND_STATUS_SUCCESS) { - updatemsg.id = MessageUnique.createUniqueMsgId( - { chatType: updatemsg.chatType, peerUid: updatemsg.peerUid, guildId: '' }, - updatemsg.msgId - ); await this.handleMessage(updatemsg); } } @@ -298,7 +292,10 @@ export class NapCatSatoriAdapter { try { const event = await this.apis.EventApi.createMessageEvent(message); if (event) { + this.context.logger.logDebug(`[Satori] Emitting event ${event.type}`); await this.networkManager.emitEvent(event); + } else { + this.context.logger.logDebug(`[Satori] Event creation returned null for msg ${message.msgId}`); } } catch (error) { this.context.logger.logError('[Satori] 处理消息失败', error); diff --git a/packages/napcat-satori/network/websocket-server.ts b/packages/napcat-satori/network/websocket-server.ts index 9af00ba7..b2fea292 100644 --- a/packages/napcat-satori/network/websocket-server.ts +++ b/packages/napcat-satori/network/websocket-server.ts @@ -120,6 +120,7 @@ export class SatoriWebSocketServerAdapter extends ISatoriNetworkAdapter (event: T): Promise { if (!this.isEnable) return; @@ -133,14 +134,25 @@ export class SatoriWebSocketServerAdapter extends ISatoriNetworkAdapter