using set instead of array for search (#7126)

* Resolve #6905

* Resolve #6905

* Resolve #6905
This commit is contained in:
Ehsan Javadynia
2021-01-30 05:39:46 +03:30
committed by GitHub
parent 100a131913
commit ff67fb337e
7 changed files with 18 additions and 18 deletions

View File

@@ -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)) {

View File

@@ -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)) {

View File

@@ -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) {

View File

@@ -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