Skip to content

Commit

Permalink
Likeを第3インスタンスにdeliverするように
Browse files Browse the repository at this point in the history
  • Loading branch information
mei23 committed Feb 2, 2020
1 parent 8d968cc commit 2e06af1
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
12 changes: 7 additions & 5 deletions src/services/note/reaction/create.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { IUser, isLocalUser, isRemoteUser } from '../../../models/user';
import { IUser, isLocalUser, IRemoteUser } from '../../../models/user';
import Note, { INote } from '../../../models/note';
import NoteReaction from '../../../models/note-reaction';
import { publishNoteStream } from '../../stream';
import notify from '../../create-notification';
import NoteWatching from '../../../models/note-watching';
import watch from '../watch';
import renderLike from '../../../remote/activitypub/renderer/like';
import { deliver } from '../../../queue';
import DeliverManager from '../../../remote/activitypub/deliver-manager';
import { renderActivity } from '../../../remote/activitypub/renderer';
import perUserReactionsChart from '../../../services/chart/per-user-reactions';
import { toDbReaction } from '../../../misc/reaction-lib';
Expand Down Expand Up @@ -86,10 +86,12 @@ export default async (user: IUser, note: INote, reaction: string) => {
}

//#region 配信
// リアクターがローカルユーザーかつリアクション対象がリモートユーザーの投稿なら配送
if (isLocalUser(user) && isRemoteUser(note._user) && !user.noFederation) {
if (isLocalUser(user) && !note.localOnly && !user.noFederation) {
const content = renderActivity(renderLike(user, note, reaction));
deliver(user, content, note._user.inbox);
const dm = new DeliverManager(user, content);
dm.addDirectRecipe(note._user as IRemoteUser);
dm.addFollowersRecipe();
dm.execute();
}
//#endregion

Expand Down
12 changes: 7 additions & 5 deletions src/services/note/reaction/delete.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { IUser, isLocalUser, isRemoteUser } from '../../../models/user';
import { IUser, isLocalUser, IRemoteUser } from '../../../models/user';
import Note, { INote } from '../../../models/note';
import NoteReaction from '../../../models/note-reaction';
import { publishNoteStream } from '../../stream';
import renderLike from '../../../remote/activitypub/renderer/like';
import renderUndo from '../../../remote/activitypub/renderer/undo';
import { renderActivity } from '../../../remote/activitypub/renderer';
import { deliver } from '../../../queue';
import DeliverManager from '../../../remote/activitypub/deliver-manager';
import { IdentifiableError } from '../../../misc/identifiable-error';

export default async (user: IUser, note: INote) => {
Expand Down Expand Up @@ -39,10 +39,12 @@ export default async (user: IUser, note: INote) => {
});

//#region 配信
// リアクターがローカルユーザーかつリアクション対象がリモートユーザーの投稿なら配送
if (isLocalUser(user) && isRemoteUser(note._user)) {
if (isLocalUser(user) && !note.localOnly && !user.noFederation) {
const content = renderActivity(renderUndo(renderLike(user, note, exist.reaction), user));
deliver(user, content, note._user.inbox);
const dm = new DeliverManager(user, content);
dm.addDirectRecipe(note._user as IRemoteUser);
dm.addFollowersRecipe();
dm.execute();
}
//#endregion

Expand Down

0 comments on commit 2e06af1

Please sign in to comment.