Compare commits

...

14 Commits

Author SHA1 Message Date
手瓜一十雪
8d9ef851ba fix: linux arm64 2024-11-05 22:45:00 +08:00
手瓜一十雪
b070bc59bc fix: MoeHoo-Linux Amd64 2024-11-05 22:36:47 +08:00
Mlikiowa
8d663946e1 release: v3.5.0 2024-11-05 14:13:33 +00:00
pk5ls20
2a2328b029 feat: better edge case handling 2024-11-05 22:11:01 +08:00
pk5ls20
efc9064abb fix: better log 2024-11-05 21:54:52 +08:00
Mlikiowa
dd70adf071 release: v3.4.11 2024-11-05 13:52:22 +00:00
pk5ls20
0f427375cb fix: sendCommand 2024-11-05 21:48:39 +08:00
Mlikiowa
4001270b93 release: v3.4.10 2024-11-05 13:34:25 +00:00
手瓜一十雪
e7f5ed3bcc Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-11-05 21:33:51 +08:00
手瓜一十雪
05cdc37d0a fix: qqnt 29271 最新版兼容问题 2024-11-05 21:33:36 +08:00
Mlikiowa
27920e0bee release: v3.4.9 2024-11-05 13:22:43 +00:00
手瓜一十雪
ae409b7249 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-11-05 21:22:10 +08:00
手瓜一十雪
8276258348 fix: Once 2024-11-05 21:21:59 +08:00
Mlikiowa
1bf96a97a5 release: v3.4.8 2024-11-05 13:18:35 +00:00
10 changed files with 30 additions and 19 deletions

Binary file not shown.

View File

@@ -4,7 +4,7 @@
"name": "NapCatQQ",
"slug": "NapCat.Framework",
"description": "高性能的 OneBot 11 协议实现",
"version": "3.4.7",
"version": "3.5.0",
"icon": "./logo.png",
"authors": [
{

View File

@@ -2,7 +2,7 @@
"name": "napcat",
"private": true,
"type": "module",
"version": "3.4.7",
"version": "3.5.0",
"scripts": {
"build:framework": "vite build --mode framework",
"build:shell": "vite build --mode shell",

View File

@@ -1 +1 @@
export const napCatVersion = '3.4.7';
export const napCatVersion = '3.5.0';

View File

@@ -58,12 +58,9 @@ export abstract class PacketClient {
private async sendCommand(cmd: string, data: string, trace_id: string, rsp: boolean = false, timeout: number = 20000, sendcb: (json: RecvPacketData) => void = () => {
}): Promise<RecvPacketData> {
return new Promise<RecvPacketData>((resolve, reject) => {
if (rsp) {
this.registerCallback(trace_id, 'recv', async (json: RecvPacketData) => {
clearTimeout(timeoutHandle);
resolve(json);
});
}
const timeoutHandle = setTimeout(() => {
reject(new Error(`sendCommand timed out after ${timeout} ms for ${cmd} with trace_id ${trace_id}`));
}, timeout);
this.registerCallback(trace_id, 'send', async (json: RecvPacketData) => {
sendcb(json);
if (!rsp) {
@@ -71,10 +68,13 @@ export abstract class PacketClient {
resolve(json);
}
});
if (rsp) {
this.registerCallback(trace_id, 'recv', async (json: RecvPacketData) => {
clearTimeout(timeoutHandle);
resolve(json);
});
}
this.sendCommandImpl(cmd, data, trace_id);
const timeoutHandle = setTimeout(() => {
reject(new Error(`sendCommand timed out after ${timeout} ms for ${cmd} with trace_id ${trace_id}`));
}, timeout);
});
}

View File

@@ -51,7 +51,7 @@ export class NativePacketClient extends PacketClient {
//此时为recv 调用callback
const trace_id = this.sendEvent.get(seq);
const callback = this.cb.get(trace_id + 'recv');
console.log('callback:', callback, trace_id);
// console.log('callback:', callback, trace_id);
callback?.({ seq, cmd, hex_data });
}

View File

@@ -17,7 +17,7 @@ const clientPriority: clientPriority = {
export class PacketSession {
readonly logger: LogWrapper;
readonly client: PacketClient;
readonly client: PacketClient ;
readonly packer: PacketPacker;
readonly highwaySession: PacketHighwaySession;
@@ -30,17 +30,28 @@ export class PacketSession {
private newClient(core: NapCatCore): PacketClient {
const prefer = core.configLoader.configData.packetBackend;
let client: PacketClient | null;
switch (prefer) {
case "native":
return new NativePacketClient(core);
this.logger.log("[Core] [Packet] 使用指定的 NativePacketClient 作为后端");
client = new NativePacketClient(core);
break;
case "frida":
return new wsPacketClient(core);
this.logger.log("[Core] [Packet] 使用指定的 FridaPacketClient 作为后端");
client = new wsPacketClient(core);
break;
case "auto":
case undefined:
return this.judgeClient(core);
client = this.judgeClient(core);
break;
default:
throw new Error(`[Core] [Packet] 未知的Packet后端类型 ${prefer},请检查配置文件!`);
this.logger.logError(`[Core] [Packet] 未知的Packet后端类型 ${prefer},请检查配置文件!`);
client = null;
}
if (!(client && client.check(core))) {
throw new Error("[Core] [Packet] 无可用的后端NapCat.Packet将不会加载");
}
return client;
}
private judgeClient(core: NapCatCore): PacketClient {

View File

@@ -164,7 +164,7 @@ async function onSettingWindowCreated(view) {
SettingItem(
'<span id="napcat-update-title">Napcat</span>',
void 0,
SettingButton("V3.4.7", "napcat-update-button", "secondary")
SettingButton("V3.5.0", "napcat-update-button", "secondary")
)
]),
SettingList([