wip
This commit is contained in:
parent
314fb4bfd9
commit
29b06994a2
|
@ -100,17 +100,14 @@ class NotificationManager {
|
|||
}
|
||||
|
||||
@bindThis
|
||||
public async deliver() {
|
||||
public async notify() {
|
||||
for (const x of this.queue) {
|
||||
// ミュート情報を取得
|
||||
const mentioneeMutes = await this.mutingsRepository.findBy({
|
||||
muterId: x.target,
|
||||
});
|
||||
|
||||
const mentioneesMutedUserIds = mentioneeMutes.map(m => m.muteeId);
|
||||
|
||||
// 通知される側のユーザーが通知する側のユーザーをミュートしていない限りは通知する
|
||||
if (!mentioneesMutedUserIds.includes(this.notifier.id)) {
|
||||
if (x.reason === 'renote') {
|
||||
this.notificationService.createNotification(x.target, 'renote', {
|
||||
noteId: this.note.id,
|
||||
targetNoteId: this.note.renoteId!,
|
||||
}, this.notifier.id);
|
||||
} else {
|
||||
this.notificationService.createNotification(x.target, x.reason, {
|
||||
noteId: this.note.id,
|
||||
}, this.notifier.id);
|
||||
|
@ -642,7 +639,7 @@ export class NoteCreateService implements OnApplicationShutdown {
|
|||
}
|
||||
}
|
||||
|
||||
nm.deliver();
|
||||
nm.notify();
|
||||
|
||||
//#region AP deliver
|
||||
if (this.userEntityService.isLocalUser(user)) {
|
||||
|
|
|
@ -38,6 +38,7 @@ export type MiNotification = {
|
|||
createdAt: string;
|
||||
notifierId: MiUser['id'];
|
||||
noteId: MiNote['id'];
|
||||
targetNoteId: MiNote['id'];
|
||||
} | {
|
||||
type: 'quote';
|
||||
id: string;
|
||||
|
|
|
@ -142,15 +142,15 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||
prevGroupedNotification.id = notification.id;
|
||||
continue;
|
||||
}
|
||||
if (prev.type === 'renote' && notification.type === 'renote' && prev.noteId === notification.noteId) {
|
||||
if (prev.type === 'renote' && notification.type === 'renote' && prev.targetNoteId === notification.targetNoteId) {
|
||||
if (prevGroupedNotification.type !== 'renote:grouped') {
|
||||
groupedNotifications.push({
|
||||
groupedNotifications[groupedNotifications.length - 1] = {
|
||||
type: 'renote:grouped',
|
||||
id: '',
|
||||
createdAt: notification.createdAt,
|
||||
noteId: prev.noteId!,
|
||||
userIds: [],
|
||||
});
|
||||
};
|
||||
prevGroupedNotification = groupedNotifications.at(-1)!;
|
||||
}
|
||||
(prevGroupedNotification as FilterUnionByProperty<MiGroupedNotification, 'type', 'renote:grouped'>).userIds.push(notification.notifierId!);
|
||||
|
|
Loading…
Reference in a new issue