From 0bb59bd73b6d6ba92e0843f420bc80d830b07710 Mon Sep 17 00:00:00 2001 From: mei23 Date: Sun, 22 Apr 2018 00:41:07 +0900 Subject: Fix Misskey同士でフォローできない MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/queue/processors/http/process-inbox.ts | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/queue/processors/http') diff --git a/src/queue/processors/http/process-inbox.ts b/src/queue/processors/http/process-inbox.ts index 75ff5918f6..dfafe64a78 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 => { } 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 }, -- cgit v1.2.3-freya From 79640d686104a301abe40b20519375350699f971 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 7 May 2018 18:20:15 +0900 Subject: Fix bug --- src/queue/index.ts | 3 ++- src/queue/processors/http/deliver.ts | 1 + src/services/note/create.ts | 8 +++++--- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src/queue/processors/http') diff --git a/src/queue/index.ts b/src/queue/index.ts index 32fd043f79..3f82b30b35 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -2,6 +2,7 @@ import { createQueue } from 'kue'; import config from '../config'; import http from './processors/http'; +import { ILocalUser } from '../models/user'; const queue = createQueue({ redis: { @@ -20,7 +21,7 @@ export function createHttp(data) { .backoff({ delay: 16384, type: 'exponential' }); } -export function deliver(user, content, to) { +export function deliver(user: ILocalUser, content, to) { createHttp({ title: 'deliver', type: 'deliver', diff --git a/src/queue/processors/http/deliver.ts b/src/queue/processors/http/deliver.ts index cf843fad07..0a228c1871 100644 --- a/src/queue/processors/http/deliver.ts +++ b/src/queue/processors/http/deliver.ts @@ -7,6 +7,7 @@ export default async (job: kue.Job, done): Promise => { await request(job.data.user, job.data.to, job.data.content); done(); } catch (res) { + if (res.statusCode == null) return done(); if (res.statusCode >= 400 && res.statusCode < 500) { // HTTPステータスコード4xxはクライアントエラーであり、それはつまり // 何回再送しても成功することはないということなのでエラーにはしないでおく diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 634c2e263d..9320889c2b 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -295,9 +295,11 @@ export default async (user: IUser, data: { nm.push(u._id, 'mention'); }); - mentionedUsers.filter(u => isRemoteUser(u)).forEach(async u => { - deliver(user, await render(), (u as IRemoteUser).inbox); - }); + if (isLocalUser(user)) { + mentionedUsers.filter(u => isRemoteUser(u)).forEach(async u => { + deliver(user, await render(), (u as IRemoteUser).inbox); + }); + } // Append mentions data if (mentionedUsers.length > 0) { -- cgit v1.2.3-freya From 7af9ad9869f58b8681eccce02cd39c793c5e6ba7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 13 May 2018 16:26:11 +0900 Subject: Better error handling --- src/queue/processors/http/deliver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/queue/processors/http') diff --git a/src/queue/processors/http/deliver.ts b/src/queue/processors/http/deliver.ts index 0a228c1871..6810fa4d91 100644 --- a/src/queue/processors/http/deliver.ts +++ b/src/queue/processors/http/deliver.ts @@ -14,7 +14,7 @@ export default async (job: kue.Job, done): Promise => { done(); } else { console.warn(`deliver failed: ${res.statusMessage}`); - done(new Error(res.statusMessage)); + done(res); } } }; -- cgit v1.2.3-freya From 161bce1a426fe426e2e18d191d2acdfc309e8d7c Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 16 May 2018 17:30:00 +0900 Subject: Update deliver.ts --- src/queue/processors/http/deliver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/queue/processors/http') diff --git a/src/queue/processors/http/deliver.ts b/src/queue/processors/http/deliver.ts index 6810fa4d91..2c4bbe9bf0 100644 --- a/src/queue/processors/http/deliver.ts +++ b/src/queue/processors/http/deliver.ts @@ -14,7 +14,7 @@ export default async (job: kue.Job, done): Promise => { done(); } else { console.warn(`deliver failed: ${res.statusMessage}`); - done(res); + done(res.statusMessage); } } }; -- cgit v1.2.3-freya