summaryrefslogtreecommitdiff
path: root/packages/backend/src/models
diff options
context:
space:
mode:
authorromaboo <80708836+puff-fan-420@users.noreply.github.com>2021-12-09 12:38:56 +0000
committerGitHub <noreply@github.com>2021-12-09 21:38:56 +0900
commit054417354c88061cf02bb7db7f3fbb3a1eda5473 (patch)
treeb869999e56113f08e7fe9aa2dc44e9896168a443 /packages/backend/src/models
parentupdate deps (diff)
downloadmisskey-054417354c88061cf02bb7db7f3fbb3a1eda5473.tar.gz
misskey-054417354c88061cf02bb7db7f3fbb3a1eda5473.tar.bz2
misskey-054417354c88061cf02bb7db7f3fbb3a1eda5473.zip
feat: user-level instance mute (#7712)
* Update ja-JP.yml * Added settable config for muted instances * added psql query for removal of muted notes * Added filtering and trimming for instance mutes * cleaned up filtering of bad instance mutes and added a refresh at the end for the list on the client * Added notification & streaming timeline muting * Updated changelog * Added missing semicolon * Apply japanese string suggestions from robflop Co-authored-by: Robin B. <robflop98@outlook.com> * Changed Ja-JP instance mute title string to one suggested by sousuke Co-authored-by: sousuke0422 <sousuke20xx@gmail.com> * Update ja-JP instanceMuteDescription based on sousuke's suggestion Co-authored-by: sousuke0422 <sousuke20xx@gmail.com> * added notification mute * added notification and note children muting * Fixed a bug where local notifications were getting filtered on cold start * Fixed instance mute imports * Fixed not saving/loading instance mutes * removed en-US translations for instance mute * moved instance mute migration to js * changed settings index back to spaces * removed destructuring assignment from notification stream in instance mute check call Co-authored-by: tamaina <tamaina@hotmail.co.jp> * added .note accessor for checking note data instead of notification data * changed note to use Packed<'Note'> instead of any and removed usage of snake case Co-authored-by: tamaina <tamaina@hotmail.co.jp> * changed notification mute check to check specifically for notification host * changed to using single quotes * moved @click to the end for the linter * revert unnecessary changes * restored newlines * whitespace removal Co-authored-by: syuilo <syuilotan@yahoo.co.jp> Co-authored-by: Robin B. <robflop98@outlook.com> Co-authored-by: sousuke0422 <sousuke20xx@gmail.com> Co-authored-by: puffaboo <emilis@jigglypuff.club> Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Diffstat (limited to 'packages/backend/src/models')
-rw-r--r--packages/backend/src/models/entities/user-profile.ts5
-rw-r--r--packages/backend/src/models/repositories/user.ts5
2 files changed, 10 insertions, 0 deletions
diff --git a/packages/backend/src/models/entities/user-profile.ts b/packages/backend/src/models/entities/user-profile.ts
index 8a8cacfd52..60e16820f4 100644
--- a/packages/backend/src/models/entities/user-profile.ts
+++ b/packages/backend/src/models/entities/user-profile.ts
@@ -189,6 +189,11 @@ export class UserProfile {
})
public mutedWords: string[][];
+ @Column('jsonb', {
+ default: []
+ })
+ public mutedInstances: string[];
+
@Column('enum', {
enum: notificationTypes,
array: true,
diff --git a/packages/backend/src/models/repositories/user.ts b/packages/backend/src/models/repositories/user.ts
index 81468d6de2..2f6c150d39 100644
--- a/packages/backend/src/models/repositories/user.ts
+++ b/packages/backend/src/models/repositories/user.ts
@@ -288,6 +288,7 @@ export class UserRepository extends Repository<User> {
hasPendingReceivedFollowRequest: this.getHasPendingReceivedFollowRequest(user.id),
integrations: profile!.integrations,
mutedWords: profile!.mutedWords,
+ mutedInstances: profile!.mutedInstances,
mutingNotificationTypes: profile!.mutingNotificationTypes,
emailNotificationTypes: profile!.emailNotificationTypes,
} : {}),
@@ -623,6 +624,10 @@ export const packedUserSchema = {
type: 'array' as const,
nullable: false as const, optional: true as const
},
+ mutedInstances: {
+ type: 'array' as const,
+ nullable: false as const, optional: true as const
+ },
mutingNotificationTypes: {
type: 'array' as const,
nullable: false as const, optional: true as const