using set instead of array for search (#7126)
* Resolve #6905 * Resolve #6905 * Resolve #6905
This commit is contained in:
@@ -19,10 +19,10 @@ export default class extends Channel {
|
||||
@autobind
|
||||
private async onNote(note: PackedNote) {
|
||||
if (note.channelId) {
|
||||
if (!this.followingChannels.includes(note.channelId)) return;
|
||||
if (!this.followingChannels.has(note.channelId)) return;
|
||||
} else {
|
||||
// その投稿のユーザーをフォローしていなかったら弾く
|
||||
if ((this.user!.id !== note.userId) && !this.following.includes(note.userId)) return;
|
||||
if ((this.user!.id !== note.userId) && !this.following.has(note.userId)) return;
|
||||
}
|
||||
|
||||
if (['followers', 'specified'].includes(note.visibility)) {
|
||||
|
@@ -29,9 +29,9 @@ export default class extends Channel {
|
||||
// フォローしているチャンネルの投稿 の場合だけ
|
||||
if (!(
|
||||
(note.channelId == null && this.user!.id === note.userId) ||
|
||||
(note.channelId == null && this.following.includes(note.userId)) ||
|
||||
(note.channelId == null && this.following.has(note.userId)) ||
|
||||
(note.channelId == null && ((note.user as PackedUser).host == null && note.visibility === 'public')) ||
|
||||
(note.channelId != null && this.followingChannels.includes(note.channelId))
|
||||
(note.channelId != null && this.followingChannels.has(note.channelId))
|
||||
)) return;
|
||||
|
||||
if (['followers', 'specified'].includes(note.visibility)) {
|
||||
|
@@ -27,7 +27,7 @@ export default class extends Channel {
|
||||
private async onNote(note: PackedNote) {
|
||||
if ((note.user as PackedUser).host !== null) return;
|
||||
if (note.visibility !== 'public') return;
|
||||
if (note.channelId != null && !this.followingChannels.includes(note.channelId)) return;
|
||||
if (note.channelId != null && !this.followingChannels.has(note.channelId)) return;
|
||||
|
||||
// リプライなら再pack
|
||||
if (note.replyId != null) {
|
||||
|
@@ -16,7 +16,7 @@ export default class extends Channel {
|
||||
|
||||
switch (type) {
|
||||
case 'notification': {
|
||||
if (this.muting.includes(body.userId)) return;
|
||||
if (this.muting.has(body.userId)) return;
|
||||
if (body.note && body.note.isHidden) {
|
||||
body.note = await Notes.pack(body.note.id, this.user, {
|
||||
detail: true
|
||||
@@ -25,7 +25,7 @@ export default class extends Channel {
|
||||
break;
|
||||
}
|
||||
case 'mention': {
|
||||
if (this.muting.includes(body.userId)) return;
|
||||
if (this.muting.has(body.userId)) return;
|
||||
if (body.isHidden) {
|
||||
body = await Notes.pack(body.id, this.user, {
|
||||
detail: true
|
||||
|
Reference in New Issue
Block a user