This commit is contained in:
Il Harper 2024-07-03 23:00:03 +08:00
parent 7aba764c05
commit 2a8a2855c0
No known key found for this signature in database
GPG Key ID: 4B71FCA698E7E8EC
2 changed files with 19 additions and 4 deletions

View File

@ -39,7 +39,7 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
if (!d.length) return
const e = d[0]
if (!e || !('cmdName' in e)) return
void responseDispatcher(ctx, e.cmdName, e.payload)
void responseDispatcher(ctx, data.channel, e.cmdName, e.payload)
return
}
@ -48,7 +48,7 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
const method = req[0]
requestMethodMap[data.id] = method
void requestDispatcher(ctx, method, req.slice(1))
void requestDispatcher(ctx, data.channel, method, req.slice(1))
return
}
@ -62,6 +62,7 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
delete requestMethodMap[data.id]
void responseDispatcher(
ctx,
data.channel,
method,
data.args[1] /* RedIpcDataResponse */,
)
@ -74,6 +75,7 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
const requestDispatcher = async (
ctx: ChronocatContext,
_channel: string,
method: string,
payload: unknown,
) => {
@ -103,6 +105,7 @@ const requestDispatcher = async (
const responseDispatcher = async (
ctx: ChronocatContext,
_channel: string,
method: string,
payload: unknown,
) => {

View File

@ -34,7 +34,7 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
if (!d.length) return
const e = d[0]
if (!e || !('cmdName' in e)) return
void dispatcher(ctx, e.cmdName, e.payload)
void dispatcher(ctx, data.channel, e.cmdName, e.payload)
return
}
@ -47,7 +47,12 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
const method = requestMethodMap[data.id]
if (!method) return
delete requestMethodMap[data.id]
void dispatcher(ctx, method, data.args[1] /* RedIpcDataResponse */)
void dispatcher(
ctx,
data.channel,
method,
data.args[1] /* RedIpcDataResponse */,
)
return
}
}
@ -55,12 +60,15 @@ export const buildHandler = (ctx: ChronocatContext) => (data: IpcManData) => {
const dispatcher = async (
ctx: ChronocatContext,
channel: string,
method: string,
payload: unknown,
) => {
switch (method) {
case 'nodeIKernelMsgListener/onRecvActiveMsg':
case 'nodeIKernelMsgListener/onRecvMsg': {
if (channel !== 'IPC_DOWN_2') return
const { msgList } = payload as OnRecvMsg
for (const msg of msgList) {
@ -198,6 +206,8 @@ const dispatcher = async (
}
case 'nodeIKernelBuddyListener/onBuddyReqChange': {
if (channel !== 'IPC_DOWN_2') return
const { buddyReqs } = payload as OnBuddyReqChange
buddyReqs.forEach((x) => {
@ -233,6 +243,8 @@ const dispatcher = async (
ctx.chronocat.uix.add(msg.peerUid, msg.peerUin)
}
if (channel !== 'IPC_DOWN_2') return
msgList
.filter((x) => x.sendStatus > 1 && sendQueue.find((y) => x.msgId === y))
.forEach((x) => {