diff --git a/src/queue/processors/http/process-inbox.ts b/src/queue/processors/http/process-inbox.ts index 75ff5918f6dd9105a57501cbde5efaf4f3f6d72c..dfafe64a78e1e2b3fe57c69b06105d78931ba7b2 100644 --- a/src/queue/processors/http/process-inbox.ts +++ b/src/queue/processors/http/process-inbox.ts @@ -33,6 +33,11 @@ export default async (job: kue.Job, done): Promise<void> => { } user = await User.findOne({ usernameLower: username, host: host.toLowerCase() }) as IRemoteUser; + + // アクティビティをé€ä¿¡ã—ã¦ããŸãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã¾ã Misskeyサーãƒãƒ¼ã«ç™»éŒ²ã•ã‚Œã¦ã„ãªã‹ã£ãŸã‚‰ç™»éŒ²ã™ã‚‹ + if (user === null) { + user = await resolvePerson(activity.actor); + } } else { user = await User.findOne({ host: { $ne: null }, diff --git a/src/remote/activitypub/request.ts b/src/remote/activitypub/request.ts index 85f43eb91d0bba1164c04a29963f3c7c616d1d7f..e6861fdb3e9e0a7e12d49174a06689138b7508de 100644 --- a/src/remote/activitypub/request.ts +++ b/src/remote/activitypub/request.ts @@ -40,5 +40,10 @@ export default (user: ILocalUser, url: string, object) => new Promise((resolve, keyId: `acct:${user.username}@${config.host}` }); + // Signature: Signature ... => Signature: ... + let sig = req.getHeader('Signature').toString(); + sig = sig.replace(/^Signature /, ''); + req.setHeader('Signature', sig); + req.end(JSON.stringify(object)); });