summaryrefslogtreecommitdiff
path: root/src/remote/activitypub
diff options
context:
space:
mode:
authorrinsuki <428rinsuki+git@gmail.com>2018-06-17 16:45:01 +0900
committerrinsuki <428rinsuki+git@gmail.com>2018-06-17 16:45:01 +0900
commit20549bfdf0a5214dfb627a4ec07ef042e43f263b (patch)
tree3ac4ea0c24bbc770220eec86c5767f362329512d /src/remote/activitypub
parentImprove user search (diff)
downloadsharkey-20549bfdf0a5214dfb627a4ec07ef042e43f263b.tar.gz
sharkey-20549bfdf0a5214dfb627a4ec07ef042e43f263b.tar.bz2
sharkey-20549bfdf0a5214dfb627a4ec07ef042e43f263b.zip
Fix #1729
Diffstat (limited to 'src/remote/activitypub')
-rw-r--r--src/remote/activitypub/renderer/mention.ts13
-rw-r--r--src/remote/activitypub/renderer/note.ts13
2 files changed, 17 insertions, 9 deletions
diff --git a/src/remote/activitypub/renderer/mention.ts b/src/remote/activitypub/renderer/mention.ts
index 4cba7d6a94..95cae52aa2 100644
--- a/src/remote/activitypub/renderer/mention.ts
+++ b/src/remote/activitypub/renderer/mention.ts
@@ -1,9 +1,8 @@
-export default (mention: {
- uri: string;
- username: string;
- host: string;
-}) => ({
+import { IUser, isRemoteUser } from "../../../models/user";
+import config from "../../../config";
+
+export default (mention: IUser) => ({
type: 'Mention',
- href: mention.uri,
- name: `@${mention.username}@${mention.host}`
+ href: isRemoteUser(mention) ? mention.uri : `${config.url}/@${mention.username}`,
+ name: isRemoteUser(mention) ? `@${mention.username}@${mention.host}` : `@${mention.username}`,
});
diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts
index aba0dc809a..f9e559d307 100644
--- a/src/remote/activitypub/renderer/note.ts
+++ b/src/remote/activitypub/renderer/note.ts
@@ -54,9 +54,18 @@ export default async function renderNote(note: INote, dive = true) {
? [`${attributedTo}/followers`].concat(mentions)
: [];
+ const mentionUsers = await User.find({
+ _id: {
+ $in: note.mentions
+ }
+ });
+
const hashtagTags = (note.tags || []).map(renderHashtag);
- const mentionTags = (note.mentionedRemoteUsers || []).map(renderMention);
- const tag = hashtagTags.concat(mentionTags);
+ const mentionTags = mentionUsers.map(renderMention);
+ const tag = [
+ ...hashtagTags,
+ ...mentionTags,
+ ];
return {
id: `${config.url}/notes/${note._id}`,