feat: Observe notification read and fix #6406 (#6407)

* Resolve https://github.com/syuilo/misskey/pull/6406#issuecomment-633203670

* Improve typing

* Observe notification read

* capture readAllNotifications

* fix

* fix

* Refactor

* Update src/client/components/notification.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* Update src/client/components/notification.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* missing ;

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
This commit is contained in:
syuilo
2020-06-04 22:07:39 +09:00
committed by GitHub
10 changed files with 55 additions and 14 deletions

View File

@@ -4,6 +4,7 @@ import { readNotification } from '../../common/read-notification';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { Notifications, Followings, Mutings, Users } from '../../../../models';
import { notificationTypes } from '../../../../types';
export const meta = {
desc: {
@@ -42,12 +43,12 @@ export const meta = {
},
includeTypes: {
validator: $.optional.arr($.str.or(['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted'])),
validator: $.optional.arr($.str.or(notificationTypes as unknown as string[])),
default: [] as string[]
},
excludeTypes: {
validator: $.optional.arr($.str.or(['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted'])),
validator: $.optional.arr($.str.or(notificationTypes as unknown as string[])),
default: [] as string[]
}
},

View File

@@ -11,6 +11,7 @@ import { Users, DriveFiles, Notes } from '../../../../models';
import { DriveFile } from '../../../../models/entities/drive-file';
import { Note } from '../../../../models/entities/note';
import { DB_MAX_NOTE_TEXT_LENGTH } from '../../../../misc/hard-limits';
import { noteVisibilities } from '../../../../types';
let maxNoteTextLength = 500;
@@ -38,7 +39,7 @@ export const meta = {
params: {
visibility: {
validator: $.optional.str.or(['public', 'home', 'followers', 'specified']),
validator: $.optional.str.or(noteVisibilities as unknown as string[]),
default: 'public',
desc: {
'ja-JP': '投稿の公開範囲'