mirror of
https://codeberg.org/yeentown/barkey
synced 2024-12-01 18:47:26 +00:00
enhance(sw): If receiving a push notification issued more than a day, ignore it. (#8980)
* enhance(sw): ignore old push notification
* ✌️
* 半日
* !==
* 1日
This commit is contained in:
parent
7f808eaf42
commit
83ebe79a3f
3 changed files with 7 additions and 1 deletions
|
@ -64,6 +64,7 @@ export async function pushNotification<T extends keyof pushNotificationsTypes>(u
|
||||||
type,
|
type,
|
||||||
body: type === 'notification' ? truncateNotification(body as Packed<'Notification'>) : body,
|
body: type === 'notification' ? truncateNotification(body as Packed<'Notification'>) : body,
|
||||||
userId,
|
userId,
|
||||||
|
dateTime: (new Date()).getTime(),
|
||||||
}), {
|
}), {
|
||||||
proxy: config.proxy,
|
proxy: config.proxy,
|
||||||
}).catch((err: any) => {
|
}).catch((err: any) => {
|
||||||
|
|
|
@ -42,8 +42,12 @@ self.addEventListener('push', ev => {
|
||||||
// case 'driveFileCreated':
|
// case 'driveFileCreated':
|
||||||
case 'notification':
|
case 'notification':
|
||||||
case 'unreadMessagingMessage':
|
case 'unreadMessagingMessage':
|
||||||
|
// 1日以上経過している場合は無視
|
||||||
|
if ((new Date()).getTime() - data.dateTime > 1000 * 60 * 60 * 24) break;
|
||||||
|
|
||||||
// クライアントがあったらストリームに接続しているということなので通知しない
|
// クライアントがあったらストリームに接続しているということなので通知しない
|
||||||
if (clients.length != 0) return;
|
if (clients.length !== 0) break;
|
||||||
|
|
||||||
return createNotification(data);
|
return createNotification(data);
|
||||||
case 'readAllNotifications':
|
case 'readAllNotifications':
|
||||||
for (const n of await self.registration.getNotifications()) {
|
for (const n of await self.registration.getNotifications()) {
|
||||||
|
|
|
@ -24,6 +24,7 @@ export type pushNotificationData<K extends keyof pushNotificationDataSourceMap>
|
||||||
type: K;
|
type: K;
|
||||||
body: pushNotificationDataSourceMap[K];
|
body: pushNotificationDataSourceMap[K];
|
||||||
userId: string;
|
userId: string;
|
||||||
|
dateTime: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type pushNotificationDataMap = {
|
export type pushNotificationDataMap = {
|
||||||
|
|
Loading…
Reference in a new issue