From d92200a6d6a81ac0c6a739f0297935bb060a974f Mon Sep 17 00:00:00 2001 From: dogcraft Date: Sun, 10 Jul 2022 10:02:46 +0800 Subject: fix: QueryFailedError when logging user's IPs (#8973) * fix QueryFailedError when logging user's IPs * use `orIgnore` to fix --- packages/backend/src/server/api/api-handler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'packages/backend/src') diff --git a/packages/backend/src/server/api/api-handler.ts b/packages/backend/src/server/api/api-handler.ts index 34ff970b4c..ec71ddd2c0 100644 --- a/packages/backend/src/server/api/api-handler.ts +++ b/packages/backend/src/server/api/api-handler.ts @@ -68,11 +68,11 @@ export default (endpoint: IEndpoint, ctx: Koa.Context) => new Promise((res } try { - UserIps.insert({ + UserIps.createQueryBuilder().insert().values({ createdAt: new Date(), userId: user.id, ip: ip, - }); + }).orIgnore(true).execute(); } catch { } } -- cgit v1.2.3-freya From 83ebe79a3fe5ddb22e80d3b47b9e8ec0701286ad Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 10 Jul 2022 15:15:21 +0900 Subject: enhance(sw): If receiving a push notification issued more than a day, ignore it. (#8980) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(sw): ignore old push notification * :v: * 半日 * !== * 1日 --- packages/backend/src/services/push-notification.ts | 1 + packages/sw/src/sw.ts | 6 +++++- packages/sw/src/types.ts | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'packages/backend/src') diff --git a/packages/backend/src/services/push-notification.ts b/packages/backend/src/services/push-notification.ts index 5c3bafbb34..393a23d050 100644 --- a/packages/backend/src/services/push-notification.ts +++ b/packages/backend/src/services/push-notification.ts @@ -64,6 +64,7 @@ export async function pushNotification(u type, body: type === 'notification' ? truncateNotification(body as Packed<'Notification'>) : body, userId, + dateTime: (new Date()).getTime(), }), { proxy: config.proxy, }).catch((err: any) => { diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts index 0ba6a6e4af..872692f903 100644 --- a/packages/sw/src/sw.ts +++ b/packages/sw/src/sw.ts @@ -42,8 +42,12 @@ self.addEventListener('push', ev => { // case 'driveFileCreated': case 'notification': 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); case 'readAllNotifications': for (const n of await self.registration.getNotifications()) { diff --git a/packages/sw/src/types.ts b/packages/sw/src/types.ts index 6aa3726eac..0404e21e57 100644 --- a/packages/sw/src/types.ts +++ b/packages/sw/src/types.ts @@ -24,6 +24,7 @@ export type pushNotificationData type: K; body: pushNotificationDataSourceMap[K]; userId: string; + dateTime: number; }; export type pushNotificationDataMap = { -- cgit v1.2.3-freya From 9107de63b42970fa309fe0a3f6214627e84d06d3 Mon Sep 17 00:00:00 2001 From: yzhe819 <68207314+yzhe819@users.noreply.github.com> Date: Sun, 10 Jul 2022 22:47:29 +1200 Subject: chore: fix lint errors (#8981) --- packages/backend/src/queue/processors/db/export-custom-emojis.ts | 2 +- packages/backend/src/remote/activitypub/models/question.ts | 2 +- packages/backend/src/remote/activitypub/renderer/like.ts | 2 +- packages/client/src/components/drive-window.vue | 2 +- packages/client/src/directives/size.ts | 4 ++-- packages/client/src/scripts/hpml/expr.ts | 2 +- packages/client/src/ui/deck/list-column.vue | 2 +- packages/client/src/widgets/activity.chart.vue | 8 ++++---- 8 files changed, 12 insertions(+), 12 deletions(-) (limited to 'packages/backend/src') diff --git a/packages/backend/src/queue/processors/db/export-custom-emojis.ts b/packages/backend/src/queue/processors/db/export-custom-emojis.ts index 8ce1d05272..3da887cda2 100644 --- a/packages/backend/src/queue/processors/db/export-custom-emojis.ts +++ b/packages/backend/src/queue/processors/db/export-custom-emojis.ts @@ -8,7 +8,7 @@ import { queueLogger } from '../../logger.js'; import { addFile } from '@/services/drive/add-file.js'; import { format as dateFormat } from 'date-fns'; import { Users, Emojis } from '@/models/index.js'; -import { } from '@/queue/types.js'; +import { } from '@/queue/types.js'; import { createTemp, createTempDir } from '@/misc/create-temp.js'; import { downloadUrl } from '@/misc/download-url.js'; import config from '@/config/index.js'; diff --git a/packages/backend/src/remote/activitypub/models/question.ts b/packages/backend/src/remote/activitypub/models/question.ts index 034501572a..f0321fdf2f 100644 --- a/packages/backend/src/remote/activitypub/models/question.ts +++ b/packages/backend/src/remote/activitypub/models/question.ts @@ -1,6 +1,6 @@ import config from '@/config/index.js'; import Resolver from '../resolver.js'; -import { IObject, IQuestion, isQuestion } from '../type.js'; +import { IObject, IQuestion, isQuestion } from '../type.js'; import { apLogger } from '../logger.js'; import { Notes, Polls } from '@/models/index.js'; import { IPoll } from '@/models/entities/poll.js'; diff --git a/packages/backend/src/remote/activitypub/renderer/like.ts b/packages/backend/src/remote/activitypub/renderer/like.ts index da1bfe6e8e..00fb72e8a3 100644 --- a/packages/backend/src/remote/activitypub/renderer/like.ts +++ b/packages/backend/src/remote/activitypub/renderer/like.ts @@ -8,7 +8,7 @@ import renderEmoji from './emoji.js'; export const renderLike = async (noteReaction: NoteReaction, note: Note) => { const reaction = noteReaction.reaction; - const object = { + const object = { type: 'Like', id: `${config.url}/likes/${noteReaction.id}`, actor: `${config.url}/users/${noteReaction.userId}`, diff --git a/packages/client/src/components/drive-window.vue b/packages/client/src/components/drive-window.vue index 5bbfca83c9..51ea2b5015 100644 --- a/packages/client/src/components/drive-window.vue +++ b/packages/client/src/components/drive-window.vue @@ -13,7 +13,7 @@