diff options
| author | rinsuki <428rinsuki+git@gmail.com> | 2018-06-17 16:45:01 +0900 |
|---|---|---|
| committer | rinsuki <428rinsuki+git@gmail.com> | 2018-06-17 16:45:01 +0900 |
| commit | 20549bfdf0a5214dfb627a4ec07ef042e43f263b (patch) | |
| tree | 3ac4ea0c24bbc770220eec86c5767f362329512d /src/remote/activitypub | |
| parent | Improve user search (diff) | |
| download | sharkey-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.ts | 13 | ||||
| -rw-r--r-- | src/remote/activitypub/renderer/note.ts | 13 |
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}`, |