diff --git a/packages/bridge/src/qq-hook-client.ts b/packages/bridge/src/qq-hook-client.ts index c763eba0..cf34f58f 100644 --- a/packages/bridge/src/qq-hook-client.ts +++ b/packages/bridge/src/qq-hook-client.ts @@ -1378,9 +1378,10 @@ export class QqHookClient extends EventEmitter { runtimeLog.debug('Client private-message reporting is available: PID=%d', this.pid); } else { runtimeLog.warn( - 'Client private-message reporting is unavailable: PID=%d status=%d', + 'Client private-message reporting is unavailable: PID=%d status=%d%s', this.pid, frame.status, + frame.value0 === 0n ? '' : ` reason=${frame.value0}`, ); } diff --git a/packages/bridge/tests/qq-hook-client.test.ts b/packages/bridge/tests/qq-hook-client.test.ts index 36e35384..b142fc7c 100644 --- a/packages/bridge/tests/qq-hook-client.test.ts +++ b/packages/bridge/tests/qq-hook-client.test.ts @@ -218,6 +218,15 @@ describe('QqHookClient client message receipts', () => { await client.startRecv(onPacket); const socket = sockets.mock.results[0]!.value; socket.emit('data', pipeFrame({ op: PipeOp.clientMessageState, status: -1 })); + socket.emit( + 'data', + pipeFrame({ op: PipeOp.clientMessageState, status: -1, value0: 42n }), + ); + const warning = 'Client private-message reporting is unavailable: PID=12345 status=-1'; + expect(entries.map((entry) => entry.message)).toEqual([ + warning, + `${warning} reason=42`, + ]); for (const patch of [ { value0: 0n }, @@ -242,7 +251,7 @@ describe('QqHookClient client message receipts', () => { entries.filter( (entry) => entry.scope === 'QQHook.Runtime' && entry.level === 'warn', ), - ).toHaveLength(6); + ).toHaveLength(7); socket.emit( 'data', pipeFrame({ op: PipeOp.recvPacket, cmd: 'normal', message: '10001', value0: 44n }),