From d8941558c33b62dc99f23f19588269cb4eb7c61d Mon Sep 17 00:00:00 2001
From: anatawa12 <anatawa12@icloud.com>
Date: Sat, 22 Jun 2024 13:40:23 +0900
Subject: [PATCH] =?UTF-8?q?fix:=20=E3=83=AC=E3=83=BC=E3=83=88=E3=83=AA?=
 =?UTF-8?q?=E3=83=9F=E3=83=83=E3=83=88=E3=81=AEfactor=E3=81=8C=E4=BA=8C?=
 =?UTF-8?q?=E5=9B=9E=E9=81=A9=E7=94=A8=E3=81=95=E3=82=8C=E3=81=A6=E4=BA=8C?=
 =?UTF-8?q?=E4=B9=97=E3=81=AE=E5=8A=B9=E6=9E=9C=E3=81=8C=E3=81=82=E3=82=8B?=
 =?UTF-8?q?=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                                          | 1 +
 packages/backend/src/server/api/RateLimiterService.ts | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ab9f5f8000..8c0a82eea7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@
 - Fix: アンテナ・クリップ・リスト・ウェブフックがロールポリシーの上限より一つ多く作れてしまうのを修正 (#14036)
 - Fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
 - Fix: FTT有効時、タイムライン用エンドポイントで`sinceId`にキャッシュ内最古のものより古いものを指定した場合に正しく結果が返ってこない問題を修正
+- Fix: レートリミットのfactorが二回適用されて二乗の効果がある問題を修正 (#13997)
 
 ## 2024.5.0
 
diff --git a/packages/backend/src/server/api/RateLimiterService.ts b/packages/backend/src/server/api/RateLimiterService.ts
index 9b1cef8155..54fc8b3b66 100644
--- a/packages/backend/src/server/api/RateLimiterService.ts
+++ b/packages/backend/src/server/api/RateLimiterService.ts
@@ -77,7 +77,7 @@ export class RateLimiterService {
 		if (limitation.duration != null && limitation.max != null) {
 			const info = await this.checkLimiter({
 				id: `${actor}:${limitation.key}`,
-				duration: limitation.duration * factor,
+				duration: limitation.duration,
 				max: limitation.max / factor,
 				db: this.redisClient,
 			});