diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-03-11 19:51:58 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-03-11 19:51:58 +0900 |
| commit | 496f42805d97417fb85f3171db38ec77c3bb8e14 (patch) | |
| tree | abd50bb6c85e867f216353052b8ee6a598cebef6 /src/queue/processors | |
| parent | Resolve #4259 (diff) | |
| download | sharkey-496f42805d97417fb85f3171db38ec77c3bb8e14.tar.gz sharkey-496f42805d97417fb85f3171db38ec77c3bb8e14.tar.bz2 sharkey-496f42805d97417fb85f3171db38ec77c3bb8e14.zip | |
リストをインポートしたときにプロキシアカウントがフォローするように修正
Diffstat (limited to 'src/queue/processors')
| -rw-r--r-- | src/queue/processors/db/import-user-lists.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/queue/processors/db/import-user-lists.ts b/src/queue/processors/db/import-user-lists.ts index ee1468d5ae..aad11df7f2 100644 --- a/src/queue/processors/db/import-user-lists.ts +++ b/src/queue/processors/db/import-user-lists.ts @@ -6,7 +6,7 @@ import * as mongo from 'mongodb'; import * as request from 'request'; import { queueLogger } from '../../logger'; -import User from '../../../models/user'; +import User, { isRemoteUser, fetchProxyAccount } from '../../../models/user'; import config from '../../../config'; import UserList from '../../../models/user-list'; import DriveFile from '../../../models/drive-file'; @@ -14,6 +14,9 @@ import chalk from 'chalk'; import { getOriginalUrl } from '../../../misc/get-drive-file-url'; import parseAcct from '../../../misc/acct/parse'; import resolveUser from '../../../remote/resolve-user'; +import { renderActivity } from '../../../remote/activitypub/renderer'; +import renderFollow from '../../../remote/activitypub/renderer/follow'; +import { deliver } from '../..'; const logger = queueLogger.createSubLogger('import-user-lists'); @@ -132,6 +135,13 @@ export async function importUserLists(job: Bull.Job, done: any): Promise<void> { userIds: target._id } }); + + // このインスタンス内にこのリモートユーザーをフォローしているユーザーがいなくても投稿を受け取るためにダミーのユーザーがフォローしたということにする + if (isRemoteUser(target)) { + const proxy = await fetchProxyAccount(); + const content = renderActivity(renderFollow(proxy, user)); + deliver(proxy, content, target.inbox); + } } logger.succ('Imported'); |