diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2018-09-15 22:15:56 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-15 22:15:56 +0900 |
| commit | 8f8c67ad6d33eb9ced1844bb372d517204df6c6f (patch) | |
| tree | bcaedee83bb5960a6b63291795dd95f9ed603a99 /src/remote | |
| parent | fix mk-media darkmode (diff) | |
| parent | 8.41.0 (diff) | |
| download | misskey-8f8c67ad6d33eb9ced1844bb372d517204df6c6f.tar.gz misskey-8f8c67ad6d33eb9ced1844bb372d517204df6c6f.tar.bz2 misskey-8f8c67ad6d33eb9ced1844bb372d517204df6c6f.zip | |
Merge branch 'develop' into improve-media
Diffstat (limited to 'src/remote')
| -rw-r--r-- | src/remote/activitypub/misc/get-note-html.ts | 3 | ||||
| -rw-r--r-- | src/remote/activitypub/models/note.ts | 8 | ||||
| -rw-r--r-- | src/remote/activitypub/renderer/announce.ts | 2 | ||||
| -rw-r--r-- | src/remote/activitypub/renderer/note.ts | 5 | ||||
| -rw-r--r-- | src/remote/activitypub/type.ts | 1 |
5 files changed, 10 insertions, 9 deletions
diff --git a/src/remote/activitypub/misc/get-note-html.ts b/src/remote/activitypub/misc/get-note-html.ts index 8df440930b..f92e91c34e 100644 --- a/src/remote/activitypub/misc/get-note-html.ts +++ b/src/remote/activitypub/misc/get-note-html.ts @@ -4,9 +4,8 @@ import parse from '../../../mfm/parse'; import config from '../../../config'; export default function(note: INote) { - if (note.text == null) return null; - let html = toHtml(parse(note.text), note.mentionedRemoteUsers); + if (html == null) html = ''; if (note.poll != null) { const url = `${config.url}/notes/${note._id}`; diff --git a/src/remote/activitypub/models/note.ts b/src/remote/activitypub/models/note.ts index 1dfeebfdf7..b4afda765a 100644 --- a/src/remote/activitypub/models/note.ts +++ b/src/remote/activitypub/models/note.ts @@ -78,11 +78,11 @@ export async function createNote(value: any, resolver?: Resolver, silent = false } //#endergion - // 添付メディア + // 添付ファイル // TODO: attachmentは必ずしもImageではない // TODO: attachmentは必ずしも配列ではない // Noteがsensitiveなら添付もsensitiveにする - const media = note.attachment + const files = note.attachment .map(attach => attach.sensitive = note.sensitive) ? await Promise.all(note.attachment.map(x => resolveImage(actor, x))) : []; @@ -91,7 +91,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false const reply = note.inReplyTo ? await resolveNote(note.inReplyTo, resolver) : null; // テキストのパース - const text = htmlToMFM(note.content); + const text = note._misskey_content ? note._misskey_content : htmlToMFM(note.content); // ユーザーの情報が古かったらついでに更新しておく if (actor.updatedAt == null || Date.now() - actor.updatedAt.getTime() > 1000 * 60 * 60 * 24) { @@ -100,7 +100,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false return await post(actor, { createdAt: new Date(note.published), - media, + files: files, reply, renote: undefined, cw: note.summary, diff --git a/src/remote/activitypub/renderer/announce.ts b/src/remote/activitypub/renderer/announce.ts index f6276ade04..18e23cc336 100644 --- a/src/remote/activitypub/renderer/announce.ts +++ b/src/remote/activitypub/renderer/announce.ts @@ -5,7 +5,7 @@ export default (object: any, note: INote) => { const attributedTo = `${config.url}/users/${note.userId}`; return { - id: `${config.url}/notes/${note._id}`, + id: `${config.url}/notes/${note._id}/activity`, actor: `${config.url}/users/${note.userId}`, type: 'Announce', published: note.createdAt.toISOString(), diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts index 1d169d3088..04e131637a 100644 --- a/src/remote/activitypub/renderer/note.ts +++ b/src/remote/activitypub/renderer/note.ts @@ -8,8 +8,8 @@ import User from '../../../models/user'; import toHtml from '../misc/get-note-html'; export default async function renderNote(note: INote, dive = true): Promise<any> { - const promisedFiles: Promise<IDriveFile[]> = note.mediaIds - ? DriveFile.find({ _id: { $in: note.mediaIds } }) + const promisedFiles: Promise<IDriveFile[]> = note.fileIds + ? DriveFile.find({ _id: { $in: note.fileIds } }) : Promise.resolve([]); let inReplyTo; @@ -87,6 +87,7 @@ export default async function renderNote(note: INote, dive = true): Promise<any> attributedTo, summary: note.cw, content: toHtml(note), + _misskey_content_: note.text, published: note.createdAt.toISOString(), to, cc, diff --git a/src/remote/activitypub/type.ts b/src/remote/activitypub/type.ts index 3d40ad48cb..28763d3e83 100644 --- a/src/remote/activitypub/type.ts +++ b/src/remote/activitypub/type.ts @@ -40,6 +40,7 @@ export interface IOrderedCollection extends IObject { export interface INote extends IObject { type: 'Note'; + _misskey_content: string; } export interface IPerson extends IObject { |