From 1a2a90faa9b3381545db739891892e14ddad0770 Mon Sep 17 00:00:00 2001 From: juliandroske <15262433197@139.com> Date: Fri, 24 Mar 2023 09:39:33 +0800 Subject: [PATCH] fix: relative path for data_dir client.ts uses "require()" for config loading and "fs.writeFile()" for writing. Two functions use different basepaths ("require()" searches files under the parent dir of the current .js file while another one uses cwd), so they may not be the same path. This may cause oicq to refresh user data every time it boot, since it cannot find the original config file. --- lib/client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/client.ts b/lib/client.ts index 9acc7d80..2b24c11c 100644 --- a/lib/client.ts +++ b/lib/client.ts @@ -135,7 +135,7 @@ export class Client extends BaseClient { const dir = createDataDir(config.data_dir, uin) const file = path.join(dir, `device-${uin}.json`) try { - var device = require(file) as ShortDevice + var device = JSON.parse(fs.readFileSync(file)) as ShortDevice var _ = false } catch { var device = generateShortDevice(uin)