summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/kernel
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-12-15 03:32:48 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-12-15 03:32:48 +0900
commite9360ac892aff8ae9147453644f30361968c403b (patch)
tree194e67db264c1a2cca98be1ea96c0e2208998b78 /src/remote/activitypub/kernel
parentFix #4800 (#5622) (diff)
downloadsharkey-e9360ac892aff8ae9147453644f30361968c403b.tar.gz
sharkey-e9360ac892aff8ae9147453644f30361968c403b.tar.bz2
sharkey-e9360ac892aff8ae9147453644f30361968c403b.zip
Fix AP inbox Announce (#5641)
Diffstat (limited to 'src/remote/activitypub/kernel')
-rw-r--r--src/remote/activitypub/kernel/announce/index.ts13
-rw-r--r--src/remote/activitypub/kernel/announce/note.ts10
2 files changed, 8 insertions, 15 deletions
diff --git a/src/remote/activitypub/kernel/announce/index.ts b/src/remote/activitypub/kernel/announce/index.ts
index dfccde3f9d..28ad2fbcc1 100644
--- a/src/remote/activitypub/kernel/announce/index.ts
+++ b/src/remote/activitypub/kernel/announce/index.ts
@@ -1,7 +1,7 @@
import Resolver from '../../resolver';
import { IRemoteUser } from '../../../../models/entities/user';
import announceNote from './note';
-import { IAnnounce, validPost, getApId } from '../../type';
+import { IAnnounce, getApId } from '../../type';
import { apLogger } from '../../logger';
const logger = apLogger;
@@ -13,14 +13,7 @@ export default async (actor: IRemoteUser, activity: IAnnounce): Promise<void> =>
const resolver = new Resolver();
- const object = await resolver.resolve(activity.object).catch(e => {
- logger.error(`Resolution failed: ${e}`);
- throw e;
- });
+ const targetUri = getApId(activity.object);
- if (validPost.includes(object.type)) {
- announceNote(resolver, actor, activity, object);
- } else {
- logger.warn(`Unknown announce type: ${object.type}`);
- }
+ announceNote(resolver, actor, activity, targetUri);
};
diff --git a/src/remote/activitypub/kernel/announce/note.ts b/src/remote/activitypub/kernel/announce/note.ts
index a5db5b8ca7..f22ed77d45 100644
--- a/src/remote/activitypub/kernel/announce/note.ts
+++ b/src/remote/activitypub/kernel/announce/note.ts
@@ -1,7 +1,7 @@
import Resolver from '../../resolver';
import post from '../../../../services/note/create';
import { IRemoteUser, User } from '../../../../models/entities/user';
-import { IAnnounce, IObject, getApId, getApIds } from '../../type';
+import { IAnnounce, getApId, getApIds } from '../../type';
import { fetchNote, resolveNote } from '../../models/note';
import { resolvePerson } from '../../models/person';
import { apLogger } from '../../logger';
@@ -14,7 +14,7 @@ const logger = apLogger;
/**
* アナウンスアクティビティを捌きます
*/
-export default async function(resolver: Resolver, actor: IRemoteUser, activity: IAnnounce, note: IObject): Promise<void> {
+export default async function(resolver: Resolver, actor: IRemoteUser, activity: IAnnounce, targetUri: string): Promise<void> {
const uri = getApId(activity);
// アナウンサーが凍結されていたらスキップ
@@ -38,14 +38,14 @@ export default async function(resolver: Resolver, actor: IRemoteUser, activity:
// Announce対象をresolve
let renote;
try {
- renote = await resolveNote(note);
+ renote = await resolveNote(targetUri);
} catch (e) {
// 対象が4xxならスキップ
if (e.statusCode >= 400 && e.statusCode < 500) {
- logger.warn(`Ignored announce target ${note.inReplyTo} - ${e.statusCode}`);
+ logger.warn(`Ignored announce target ${targetUri} - ${e.statusCode}`);
return;
}
- logger.warn(`Error in announce target ${note.inReplyTo} - ${e.statusCode || e}`);
+ logger.warn(`Error in announce target ${targetUri} - ${e.statusCode || e}`);
throw e;
}