autoWatch機能を削除

This commit is contained in:
syuilo 2020-11-08 16:49:23 +09:00
parent a6985d7dc7
commit 9d1fa3f202
10 changed files with 17 additions and 72 deletions

View file

@ -373,8 +373,6 @@ unregister: "登録を解除"
passwordLessLogin: "パスワード無しログイン" passwordLessLogin: "パスワード無しログイン"
resetPassword: "パスワードをリセット" resetPassword: "パスワードをリセット"
newPasswordIs: "新しいパスワードは「{password}」です" newPasswordIs: "新しいパスワードは「{password}」です"
autoNoteWatch: "ノートの自動ウォッチ"
autoNoteWatchDescription: "あなたがリアクションしたり返信したりした他のユーザーのノートに関する通知を受け取るようにします。"
reduceUiAnimation: "UIのアニメーションを減らす" reduceUiAnimation: "UIのアニメーションを減らす"
share: "共有" share: "共有"
notFound: "見つかりません" notFound: "見つかりません"

View file

@ -0,0 +1,14 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class deleteAutoWatch1604821689616 implements MigrationInterface {
name = 'deleteAutoWatch1604821689616'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "autoWatch"`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "autoWatch" boolean NOT NULL DEFAULT false`);
}
}

View file

@ -3,15 +3,6 @@
<div class="_section"> <div class="_section">
<MkButton full primary @click="configure"><Fa :icon="faCog"/> {{ $t('notificationSetting') }}</MkButton> <MkButton full primary @click="configure"><Fa :icon="faCog"/> {{ $t('notificationSetting') }}</MkButton>
</div> </div>
<div class="_section">
<div class="_card">
<div class="_content">
<MkSwitch v-model:value="$store.state.i.autoWatch" @update:value="onChangeAutoWatch">
{{ $t('autoNoteWatch') }}<template #desc>{{ $t('autoNoteWatchDescription') }}</template>
</MkSwitch>
</div>
</div>
</div>
<div class="_section"> <div class="_section">
<MkButton full @click="readAllNotifications">{{ $t('markAsReadAllNotifications') }}</MkButton> <MkButton full @click="readAllNotifications">{{ $t('markAsReadAllNotifications') }}</MkButton>
<MkButton full @click="readAllUnreadNotes">{{ $t('markAsReadAllUnreadNotes') }}</MkButton> <MkButton full @click="readAllUnreadNotes">{{ $t('markAsReadAllUnreadNotes') }}</MkButton>
@ -52,12 +43,6 @@ export default defineComponent({
}, },
methods: { methods: {
onChangeAutoWatch(v) {
os.api('i/update', {
autoWatch: v
});
},
readAllUnreadNotes() { readAllUnreadNotes() {
os.api('i/read-all-unread-notes'); os.api('i/read-all-unread-notes');
}, },

View file

@ -106,11 +106,6 @@ export class UserProfile {
}) })
public room: Record<string, any>; public room: Record<string, any>;
@Column('boolean', {
default: false,
})
public autoWatch: boolean;
@Column('boolean', { @Column('boolean', {
default: false, default: false,
}) })

View file

@ -235,7 +235,6 @@ export class UserRepository extends Repository<User> {
...(opts.detail && meId === user.id ? { ...(opts.detail && meId === user.id ? {
avatarId: user.avatarId, avatarId: user.avatarId,
bannerId: user.bannerId, bannerId: user.bannerId,
autoWatch: profile!.autoWatch,
injectFeaturedNote: profile!.injectFeaturedNote, injectFeaturedNote: profile!.injectFeaturedNote,
alwaysMarkNsfw: profile!.alwaysMarkNsfw, alwaysMarkNsfw: profile!.alwaysMarkNsfw,
carefulBot: profile!.carefulBot, carefulBot: profile!.carefulBot,

View file

@ -120,13 +120,6 @@ export const meta = {
} }
}, },
autoWatch: {
validator: $.optional.bool,
desc: {
'ja-JP': '投稿の自動ウォッチをするか否か'
}
},
injectFeaturedNote: { injectFeaturedNote: {
validator: $.optional.bool, validator: $.optional.bool,
}, },
@ -212,7 +205,6 @@ export default define(meta, async (ps, user, token) => {
if (typeof ps.carefulBot === 'boolean') profileUpdates.carefulBot = ps.carefulBot; if (typeof ps.carefulBot === 'boolean') profileUpdates.carefulBot = ps.carefulBot;
if (typeof ps.autoAcceptFollowed === 'boolean') profileUpdates.autoAcceptFollowed = ps.autoAcceptFollowed; if (typeof ps.autoAcceptFollowed === 'boolean') profileUpdates.autoAcceptFollowed = ps.autoAcceptFollowed;
if (typeof ps.isCat === 'boolean') updates.isCat = ps.isCat; if (typeof ps.isCat === 'boolean') updates.isCat = ps.isCat;
if (typeof ps.autoWatch === 'boolean') profileUpdates.autoWatch = ps.autoWatch;
if (typeof ps.injectFeaturedNote === 'boolean') profileUpdates.injectFeaturedNote = ps.injectFeaturedNote; if (typeof ps.injectFeaturedNote === 'boolean') profileUpdates.injectFeaturedNote = ps.injectFeaturedNote;
if (typeof ps.alwaysMarkNsfw === 'boolean') profileUpdates.alwaysMarkNsfw = ps.alwaysMarkNsfw; if (typeof ps.alwaysMarkNsfw === 'boolean') profileUpdates.alwaysMarkNsfw = ps.alwaysMarkNsfw;

View file

@ -1,6 +1,5 @@
import $ from 'cafy'; import $ from 'cafy';
import { ID } from '../../../../../misc/cafy-id'; import { ID } from '../../../../../misc/cafy-id';
import watch from '../../../../../services/note/watch';
import { publishNoteStream } from '../../../../../services/stream'; import { publishNoteStream } from '../../../../../services/stream';
import { createNotification } from '../../../../../services/create-notification'; import { createNotification } from '../../../../../services/create-notification';
import define from '../../../define'; import define from '../../../define';
@ -10,7 +9,7 @@ import { deliver } from '../../../../../queue';
import { renderActivity } from '../../../../../remote/activitypub/renderer'; import { renderActivity } from '../../../../../remote/activitypub/renderer';
import renderVote from '../../../../../remote/activitypub/renderer/vote'; import renderVote from '../../../../../remote/activitypub/renderer/vote';
import { deliverQuestionUpdate } from '../../../../../services/note/polls/update'; import { deliverQuestionUpdate } from '../../../../../services/note/polls/update';
import { PollVotes, NoteWatchings, Users, Polls, UserProfiles } from '../../../../../models'; import { PollVotes, NoteWatchings, Users, Polls } from '../../../../../models';
import { Not } from 'typeorm'; import { Not } from 'typeorm';
import { IRemoteUser } from '../../../../../models/entities/user'; import { IRemoteUser } from '../../../../../models/entities/user';
import { genId } from '../../../../../misc/gen-id'; import { genId } from '../../../../../misc/gen-id';
@ -152,13 +151,6 @@ export default define(meta, async (ps, user) => {
} }
}); });
const profile = await UserProfiles.findOne(user.id).then(ensure);
// この投稿をWatchする
if (profile.autoWatch !== false) {
watch(user.id, note);
}
// リモート投票の場合リプライ送信 // リモート投票の場合リプライ送信
if (note.userHost != null) { if (note.userHost != null) {
const pollOwner = await Users.findOne(note.userId).then(ensure) as IRemoteUser; const pollOwner = await Users.findOne(note.userId).then(ensure) as IRemoteUser;

View file

@ -5,7 +5,6 @@ import renderNote from '../../remote/activitypub/renderer/note';
import renderCreate from '../../remote/activitypub/renderer/create'; import renderCreate from '../../remote/activitypub/renderer/create';
import renderAnnounce from '../../remote/activitypub/renderer/announce'; import renderAnnounce from '../../remote/activitypub/renderer/announce';
import { renderActivity } from '../../remote/activitypub/renderer'; import { renderActivity } from '../../remote/activitypub/renderer';
import watch from './watch';
import { parse } from '../../mfm/parse'; import { parse } from '../../mfm/parse';
import { resolveUser } from '../../remote/resolve-user'; import { resolveUser } from '../../remote/resolve-user';
import config from '../../config'; import config from '../../config';
@ -340,18 +339,11 @@ export default async (user: User, data: Option, silent = false) => new Promise<N
await createMentionedEvents(mentionedUsers, note, nm); await createMentionedEvents(mentionedUsers, note, nm);
const profile = await UserProfiles.findOne(user.id).then(ensure);
// If has in reply to note // If has in reply to note
if (data.reply) { if (data.reply) {
// Fetch watchers // Fetch watchers
nmRelatedPromises.push(notifyToWatchersOfReplyee(data.reply, user, nm)); nmRelatedPromises.push(notifyToWatchersOfReplyee(data.reply, user, nm));
// この投稿をWatchする
if (Users.isLocalUser(user) && profile.autoWatch) {
watch(user.id, data.reply);
}
// 通知 // 通知
if (data.reply.userHost === null) { if (data.reply.userHost === null) {
nm.push(data.reply.userId, 'reply'); nm.push(data.reply.userId, 'reply');
@ -371,11 +363,6 @@ export default async (user: User, data: Option, silent = false) => new Promise<N
// Fetch watchers // Fetch watchers
nmRelatedPromises.push(notifyToWatchersOfRenotee(data.renote, user, nm, type)); nmRelatedPromises.push(notifyToWatchersOfRenotee(data.renote, user, nm, type));
// この投稿をWatchする
if (Users.isLocalUser(user) && profile.autoWatch) {
watch(user.id, data.renote);
}
// Publish event // Publish event
if ((user.id !== data.renote.userId) && data.renote.userHost === null) { if ((user.id !== data.renote.userId) && data.renote.userHost === null) {
publishMainStream(data.renote.userId, 'renote', noteObj); publishMainStream(data.renote.userId, 'renote', noteObj);

View file

@ -1,8 +1,7 @@
import watch from '../../../services/note/watch';
import { publishNoteStream } from '../../stream'; import { publishNoteStream } from '../../stream';
import { User } from '../../../models/entities/user'; import { User } from '../../../models/entities/user';
import { Note } from '../../../models/entities/note'; import { Note } from '../../../models/entities/note';
import { PollVotes, Users, NoteWatchings, Polls, UserProfiles } from '../../../models'; import { PollVotes, NoteWatchings, Polls } from '../../../models';
import { Not } from 'typeorm'; import { Not } from 'typeorm';
import { genId } from '../../../misc/gen-id'; import { genId } from '../../../misc/gen-id';
import { createNotification } from '../../create-notification'; import { createNotification } from '../../create-notification';
@ -68,11 +67,4 @@ export default async function(user: User, note: Note, choice: number) {
}); });
} }
}); });
const profile = await UserProfiles.findOne(user.id);
// ローカルユーザーが投票した場合この投稿をWatchする
if (Users.isLocalUser(user) && profile!.autoWatch) {
watch(user.id, note);
}
} }

View file

@ -1,13 +1,11 @@
import { publishNoteStream } from '../../stream'; import { publishNoteStream } from '../../stream';
import watch from '../watch';
import { renderLike } from '../../../remote/activitypub/renderer/like'; import { renderLike } from '../../../remote/activitypub/renderer/like';
import DeliverManager from '../../../remote/activitypub/deliver-manager'; import DeliverManager from '../../../remote/activitypub/deliver-manager';
import { renderActivity } from '../../../remote/activitypub/renderer'; import { renderActivity } from '../../../remote/activitypub/renderer';
import { IdentifiableError } from '../../../misc/identifiable-error';
import { toDbReaction, decodeReaction } from '../../../misc/reaction-lib'; import { toDbReaction, decodeReaction } from '../../../misc/reaction-lib';
import { User, IRemoteUser } from '../../../models/entities/user'; import { User, IRemoteUser } from '../../../models/entities/user';
import { Note } from '../../../models/entities/note'; import { Note } from '../../../models/entities/note';
import { NoteReactions, Users, NoteWatchings, Notes, UserProfiles, Emojis } from '../../../models'; import { NoteReactions, Users, NoteWatchings, Notes, Emojis } from '../../../models';
import { Not } from 'typeorm'; import { Not } from 'typeorm';
import { perUserReactionsChart } from '../../chart'; import { perUserReactionsChart } from '../../chart';
import { genId } from '../../../misc/gen-id'; import { genId } from '../../../misc/gen-id';
@ -101,13 +99,6 @@ export default async (user: User, note: Note, reaction?: string) => {
} }
}); });
const profile = await UserProfiles.findOne(user.id);
// ユーザーがローカルユーザーかつ自動ウォッチ設定がオンならばこの投稿をWatchする
if (Users.isLocalUser(user) && profile!.autoWatch) {
watch(user.id, note);
}
//#region 配信 //#region 配信
if (Users.isLocalUser(user) && !note.localOnly) { if (Users.isLocalUser(user) && !note.localOnly) {
const content = renderActivity(await renderLike(inserted, note)); const content = renderActivity(await renderLike(inserted, note));