From 9ce9a5c6f0c52539d418a6c2cfade5a710182837 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih Date: Thu, 28 Dec 2023 16:56:17 +0900 Subject: [PATCH 01/10] =?UTF-8?q?(fix)=20=E3=82=BF=E3=82=A4=E3=83=A0?= =?UTF-8?q?=E3=82=BE=E3=83=BC=E3=83=B3=E3=81=AB=E3=82=88=E3=81=A3=E3=81=A6?= =?UTF-8?q?=E3=81=AF=E8=AA=95=E7=94=9F=E6=97=A5=E3=81=AE=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E4=B8=AD=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC?= =?UTF-8?q?=E3=81=8C=E6=AD=A3=E3=81=97=E3=81=8F=E8=AA=AD=E3=81=BF=E8=BE=BC?= =?UTF-8?q?=E3=81=BE=E3=82=8C=E3=81=AA=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/src/server/api/endpoints/users/following.ts | 7 +++---- packages/frontend/src/widgets/WidgetBirthdayFollowings.vue | 5 +++-- packages/misskey-js/src/autogen/apiClientJSDoc.ts | 3 +-- packages/misskey-js/src/autogen/endpoint.ts | 2 +- packages/misskey-js/src/autogen/entities.ts | 2 +- packages/misskey-js/src/autogen/models.ts | 2 +- packages/misskey-js/src/autogen/types.ts | 4 +--- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/users/following.ts b/packages/backend/src/server/api/endpoints/users/following.ts index 794fb04f102b..5caf558cb548 100644 --- a/packages/backend/src/server/api/endpoints/users/following.ts +++ b/packages/backend/src/server/api/endpoints/users/following.ts @@ -6,6 +6,7 @@ import { IsNull } from 'typeorm'; import { Inject, Injectable } from '@nestjs/common'; import type { UsersRepository, FollowingsRepository, UserProfilesRepository } from '@/models/_.js'; +import { birthdaySchema } from '@/models/User.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { QueryService } from '@/core/QueryService.js'; import { FollowingEntityService } from '@/core/entities/FollowingEntityService.js'; @@ -66,7 +67,7 @@ export const paramDef = { description: 'The local host is represented with `null`.', }, - birthday: { type: 'string', nullable: true }, + birthday: { ...birthdaySchema, nullable: true }, }, anyOf: [ { required: ['userId'] }, @@ -127,9 +128,7 @@ export default class extends Endpoint { // eslint- if (ps.birthday) { try { - const d = new Date(ps.birthday); - d.setHours(0, 0, 0, 0); - const birthday = `${(d.getMonth() + 1).toString().padStart(2, '0')}-${d.getDate().toString().padStart(2, '0')}`; + const birthday = ps.birthday.substring(5, 10); const birthdayUserQuery = this.userProfilesRepository.createQueryBuilder('user_profile'); birthdayUserQuery.select('user_profile.userId') .where(`SUBSTR(user_profile.birthday, 6, 5) = '${birthday}'`); diff --git a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue index 7c4455516d5b..b88c577f8517 100644 --- a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue +++ b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue @@ -53,7 +53,7 @@ const { widgetProps, configure } = useWidgetPropsManager(name, emit, ); -const users = ref([]); +const users = ref([]); const fetching = ref(true); let lastFetchedAt = '1970-01-01'; @@ -70,9 +70,10 @@ const fetch = () => { now.setHours(0, 0, 0, 0); if (now > lfAtD) { + fetching.value = true; os.api('users/following', { limit: 18, - birthday: now.toISOString(), + birthday: `${now.getFullYear().toString().padStart(4, '0')}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')}`, userId: $i.id, }).then(res => { users.value = res; diff --git a/packages/misskey-js/src/autogen/apiClientJSDoc.ts b/packages/misskey-js/src/autogen/apiClientJSDoc.ts index 758beaf3a022..3c958ad60097 100644 --- a/packages/misskey-js/src/autogen/apiClientJSDoc.ts +++ b/packages/misskey-js/src/autogen/apiClientJSDoc.ts @@ -1,6 +1,6 @@ /* * version: 2023.12.0 - * generatedAt: 2023-12-26T23:35:09.494Z + * generatedAt: 2023-12-28T07:43:32.686Z */ import type { SwitchCaseResponseType } from '../api.js'; @@ -33,7 +33,6 @@ declare module '../api.js' { /** * No description provided. * - * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties. * **Credential required**: *No* */ request( diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts index 2ed76a22f964..60c7a1cbcd97 100644 --- a/packages/misskey-js/src/autogen/endpoint.ts +++ b/packages/misskey-js/src/autogen/endpoint.ts @@ -1,6 +1,6 @@ /* * version: 2023.12.0 - * generatedAt: 2023-12-26T23:35:09.491Z + * generatedAt: 2023-12-28T07:43:32.682Z */ import type { diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts index c857e8e37006..8377689bd8f5 100644 --- a/packages/misskey-js/src/autogen/entities.ts +++ b/packages/misskey-js/src/autogen/entities.ts @@ -1,6 +1,6 @@ /* * version: 2023.12.0 - * generatedAt: 2023-12-26T23:35:09.489Z + * generatedAt: 2023-12-28T07:43:32.680Z */ import { operations } from './types.js'; diff --git a/packages/misskey-js/src/autogen/models.ts b/packages/misskey-js/src/autogen/models.ts index c5b81a6b41ca..c615c8d63c6a 100644 --- a/packages/misskey-js/src/autogen/models.ts +++ b/packages/misskey-js/src/autogen/models.ts @@ -1,6 +1,6 @@ /* * version: 2023.12.0 - * generatedAt: 2023-12-26T23:35:09.485Z + * generatedAt: 2023-12-28T07:43:32.679Z */ import { components } from './types.js'; diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index 94bb2639809f..d02dd09a283c 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -3,7 +3,7 @@ /* * version: 2023.12.0 - * generatedAt: 2023-12-26T23:35:09.389Z + * generatedAt: 2023-12-28T07:43:32.546Z */ /** @@ -40,7 +40,6 @@ export type paths = { * admin/accounts/create * @description No description provided. * - * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties. * **Credential required**: *No* */ post: operations['admin/accounts/create']; @@ -4620,7 +4619,6 @@ export type operations = { * admin/accounts/create * @description No description provided. * - * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties. * **Credential required**: *No* */ 'admin/accounts/create': { From c5ab6419563cc70ec8ba758e800c74d3469131e3 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih Date: Thu, 28 Dec 2023 16:57:47 +0900 Subject: [PATCH 02/10] =?UTF-8?q?=E6=96=87=E8=A8=80=E3=82=92=E3=82=8F?= =?UTF-8?q?=E3=81=8B=E3=82=8A=E3=82=84=E3=81=99=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/ja-JP.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 3d31dcef4954..13befc44a959 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2080,7 +2080,7 @@ _widgets: _userList: chooseList: "リストを選択" clicker: "クリッカー" - birthdayFollowings: "今日誕生日のユーザー" + birthdayFollowings: "今日誕生日を迎えるフォロー中ユーザー" _cw: hide: "隠す" From 8250c758969702862d198ecf2d12c6aa6b0ffa11 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih Date: Thu, 28 Dec 2023 16:59:08 +0900 Subject: [PATCH 03/10] Update Changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e2e57b7dc3..6470f95ab0e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,11 @@ --> +## 202x.x.x (Unreleased) + +### Client +- Fix: タイムゾーンによっては、「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正 + ## 2023.12.2 ### General From 9ac510502b05e02e34e837142a7af1eb427ca0a5 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih Date: Thu, 28 Dec 2023 17:22:51 +0900 Subject: [PATCH 04/10] (add) reload button --- .../src/widgets/WidgetBirthdayFollowings.vue | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue index b88c577f8517..2253081b10d5 100644 --- a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue +++ b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue @@ -7,6 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only +
@@ -70,20 +71,35 @@ const fetch = () => { now.setHours(0, 0, 0, 0); if (now > lfAtD) { - fetching.value = true; - os.api('users/following', { - limit: 18, - birthday: `${now.getFullYear().toString().padStart(4, '0')}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')}`, - userId: $i.id, - }).then(res => { - users.value = res; - fetching.value = false; - }); + actualFetch(); lastFetchedAt = now.toISOString(); } }; +const actualFetch = () => { + if (!$i) { + users.value = []; + fetching.value = false; + return; + } + + const now = new Date(); + now.setHours(0, 0, 0, 0); + fetching.value = true; + os.api('users/following', { + limit: 18, + birthday: `${now.getFullYear().toString().padStart(4, '0')}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')}`, + userId: $i.id, + }).then(res => { + users.value = res; + setTimeout(() => { + // 早すぎるとチカチカする + fetching.value = false; + }, 100); + }); +}; + useInterval(fetch, 1000 * 60, { immediate: true, afterMounted: true, From 8f26f6e4a38355b490314fd3847c8d89d87bd480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Thu, 28 Dec 2023 17:39:07 +0900 Subject: [PATCH 05/10] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6470f95ab0e8..b42c442b5ba2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ ## 202x.x.x (Unreleased) ### Client +- Enhance: 「今日誕生日のフォロー中ユーザー」ウィジェットを手動でリロードできるように - Fix: タイムゾーンによっては、「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正 ## 2023.12.2 From b1e1e3b6ba470d6364e3961904316b4acb161020 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih Date: Wed, 24 Jan 2024 16:16:14 +0900 Subject: [PATCH 06/10] run misskey-js --- packages/misskey-js/src/autogen/apiClientJSDoc.ts | 4 ++-- packages/misskey-js/src/autogen/endpoint.ts | 4 ++-- packages/misskey-js/src/autogen/entities.ts | 4 ++-- packages/misskey-js/src/autogen/models.ts | 4 ++-- packages/misskey-js/src/autogen/types.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/misskey-js/src/autogen/apiClientJSDoc.ts b/packages/misskey-js/src/autogen/apiClientJSDoc.ts index 4fa42bb91956..d86c96d2b64a 100644 --- a/packages/misskey-js/src/autogen/apiClientJSDoc.ts +++ b/packages/misskey-js/src/autogen/apiClientJSDoc.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.4 - * generatedAt: 2024-01-24T01:14:40.901Z + * version: 2023.12.2 + * generatedAt: 2024-01-24T07:15:42.194Z */ import type { SwitchCaseResponseType } from '../api.js'; diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts index 6b330c7c116d..827caf49f7de 100644 --- a/packages/misskey-js/src/autogen/endpoint.ts +++ b/packages/misskey-js/src/autogen/endpoint.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.4 - * generatedAt: 2024-01-24T01:14:40.899Z + * version: 2023.12.2 + * generatedAt: 2024-01-24T07:15:42.190Z */ import type { diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts index 8eb284ae9ec2..aa2751a7a42c 100644 --- a/packages/misskey-js/src/autogen/entities.ts +++ b/packages/misskey-js/src/autogen/entities.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.4 - * generatedAt: 2024-01-24T01:14:40.897Z + * version: 2023.12.2 + * generatedAt: 2024-01-24T07:15:42.185Z */ import { operations } from './types.js'; diff --git a/packages/misskey-js/src/autogen/models.ts b/packages/misskey-js/src/autogen/models.ts index 0a6f534aff34..87ceebf79dfc 100644 --- a/packages/misskey-js/src/autogen/models.ts +++ b/packages/misskey-js/src/autogen/models.ts @@ -1,6 +1,6 @@ /* - * version: 2024.2.0-beta.4 - * generatedAt: 2024-01-24T01:14:40.896Z + * version: 2023.12.2 + * generatedAt: 2024-01-24T07:15:42.183Z */ import { components } from './types.js'; diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index 44421240d0da..d0103f0e1379 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -2,8 +2,8 @@ /* eslint @typescript-eslint/no-explicit-any: 0 */ /* - * version: 2024.2.0-beta.4 - * generatedAt: 2024-01-24T01:14:40.815Z + * version: 2023.12.2 + * generatedAt: 2024-01-24T07:15:42.041Z */ /** From d6c24f1a722569357737315600505ed40e0e6725 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih Date: Wed, 24 Jan 2024 16:31:36 +0900 Subject: [PATCH 07/10] fix --- packages/misskey-js/src/autogen/apiClientJSDoc.ts | 4 ++-- packages/misskey-js/src/autogen/endpoint.ts | 4 ++-- packages/misskey-js/src/autogen/entities.ts | 4 ++-- packages/misskey-js/src/autogen/models.ts | 4 ++-- packages/misskey-js/src/autogen/types.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/misskey-js/src/autogen/apiClientJSDoc.ts b/packages/misskey-js/src/autogen/apiClientJSDoc.ts index d86c96d2b64a..1531f995e95a 100644 --- a/packages/misskey-js/src/autogen/apiClientJSDoc.ts +++ b/packages/misskey-js/src/autogen/apiClientJSDoc.ts @@ -1,6 +1,6 @@ /* - * version: 2023.12.2 - * generatedAt: 2024-01-24T07:15:42.194Z + * version: 2024.2.0-beta.6 + * generatedAt: 2024-01-24T07:30:33.543Z */ import type { SwitchCaseResponseType } from '../api.js'; diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts index 827caf49f7de..f9c8fd62c674 100644 --- a/packages/misskey-js/src/autogen/endpoint.ts +++ b/packages/misskey-js/src/autogen/endpoint.ts @@ -1,6 +1,6 @@ /* - * version: 2023.12.2 - * generatedAt: 2024-01-24T07:15:42.190Z + * version: 2024.2.0-beta.6 + * generatedAt: 2024-01-24T07:30:33.538Z */ import type { diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts index aa2751a7a42c..9217df2a1c64 100644 --- a/packages/misskey-js/src/autogen/entities.ts +++ b/packages/misskey-js/src/autogen/entities.ts @@ -1,6 +1,6 @@ /* - * version: 2023.12.2 - * generatedAt: 2024-01-24T07:15:42.185Z + * version: 2024.2.0-beta.6 + * generatedAt: 2024-01-24T07:30:33.535Z */ import { operations } from './types.js'; diff --git a/packages/misskey-js/src/autogen/models.ts b/packages/misskey-js/src/autogen/models.ts index 87ceebf79dfc..d1b3311b6128 100644 --- a/packages/misskey-js/src/autogen/models.ts +++ b/packages/misskey-js/src/autogen/models.ts @@ -1,6 +1,6 @@ /* - * version: 2023.12.2 - * generatedAt: 2024-01-24T07:15:42.183Z + * version: 2024.2.0-beta.6 + * generatedAt: 2024-01-24T07:30:33.534Z */ import { components } from './types.js'; diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index d0103f0e1379..00428ea461e0 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -2,8 +2,8 @@ /* eslint @typescript-eslint/no-explicit-any: 0 */ /* - * version: 2023.12.2 - * generatedAt: 2024-01-24T07:15:42.041Z + * version: 2024.2.0-beta.6 + * generatedAt: 2024-01-24T07:30:33.387Z */ /** From 24c747b53ffca50b5d83f17a2d08f244bbd62cea Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Mon, 25 Mar 2024 18:06:13 +0900 Subject: [PATCH 08/10] =?UTF-8?q?Revert=20"=E6=96=87=E8=A8=80=E3=82=92?= =?UTF-8?q?=E3=82=8F=E3=81=8B=E3=82=8A=E3=82=84=E3=81=99=E3=81=8F"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit c5ab6419563cc70ec8ba758e800c74d3469131e3. --- locales/ja-JP.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 09a525abb301..1c4df27d92ad 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2153,7 +2153,7 @@ _widgets: _userList: chooseList: "リストを選択" clicker: "クリッカー" - birthdayFollowings: "今日誕生日を迎えるフォロー中ユーザー" + birthdayFollowings: "今日誕生日のユーザー" _cw: hide: "隠す" From 69aaa3984544a2b8e4d871503b84a9bac49f1c80 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Mon, 25 Mar 2024 18:30:33 +0900 Subject: [PATCH 09/10] Update packages/frontend/src/widgets/WidgetBirthdayFollowings.vue --- packages/frontend/src/widgets/WidgetBirthdayFollowings.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue index 18d8b15c0097..e2587430c9ce 100644 --- a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue +++ b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue @@ -78,7 +78,7 @@ const fetch = () => { }; const actualFetch = () => { - if (!$i) { + if ($i == null) { users.value = []; fetching.value = false; return; From 8363efe8978925bd5c2615078f7009bd36b0fea7 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Mon, 25 Mar 2024 18:31:16 +0900 Subject: [PATCH 10/10] Update packages/frontend/src/widgets/WidgetBirthdayFollowings.vue --- packages/frontend/src/widgets/WidgetBirthdayFollowings.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue index e2587430c9ce..49fd103d37eb 100644 --- a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue +++ b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue @@ -77,7 +77,7 @@ const fetch = () => { } }; -const actualFetch = () => { +function actualFetch() { if ($i == null) { users.value = []; fetching.value = false; @@ -93,12 +93,12 @@ const actualFetch = () => { userId: $i.id, }).then(res => { users.value = res; - setTimeout(() => { + window.setTimeout(() => { // 早すぎるとチカチカする fetching.value = false; }, 100); }); -}; +} useInterval(fetch, 1000 * 60, { immediate: true,