From 1e78ef1cb847da719be23d55c87aaac0294665db Mon Sep 17 00:00:00 2001
From: anatawa12 <anatawa12@icloud.com>
Date: Sat, 22 Jun 2024 12:44:01 +0900
Subject: [PATCH] =?UTF-8?q?fix:=20notRespondingSince=E3=81=8C=E5=AE=9F?=
 =?UTF-8?q?=E8=A3=85=E3=81=95=E3=82=8C=E3=82=8B=E5=89=8D=E3=81=AB=E4=B8=8D?=
 =?UTF-8?q?=E9=80=9A=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F=E3=82=A4=E3=83=B3?=
 =?UTF-8?q?=E3=82=B9=E3=82=BF=E3=83=B3=E3=82=B9=E3=81=8C=E8=87=AA=E5=8B=95?=
 =?UTF-8?q?=E7=9A=84=E3=81=AB=E9=85=8D=E4=BF=A1=E5=81=9C=E6=AD=A2=E3=81=AB?=
 =?UTF-8?q?=E3=81=AA=E3=82=89=E3=81=AA=E3=81=84=20(#14059)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
---
 CHANGELOG.md                                                | 1 +
 .../backend/src/queue/processors/DeliverProcessorService.ts | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8ce566370b..facc613b73 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@
 - チャート生成時にinstance.suspentionStateに置き換えられたinstance.isSuspendedが参照されてしまう問題を修正
 - Feat: レートリミット制限に引っかかったときに`Retry-After`ヘッダーを返すように (#13949)
 - Fix: アンテナ・クリップ・リスト・ウェブフックがロールポリシーの上限より一つ多く作れてしまうのを修正 (#14036)
+- Fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
 - Fix: FTT有効時、タイムライン用エンドポイントで`sinceId`にキャッシュ内最古のものより古いものを指定した場合に正しく結果が返ってこない問題を修正
 
 ## 2024.5.0
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts
index b73195afc3..d665945861 100644
--- a/packages/backend/src/queue/processors/DeliverProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts
@@ -109,6 +109,12 @@ export class DeliverProcessorService {
 							suspensionState: 'autoSuspendedForNotResponding',
 						});
 					}
+				} else {
+					// isNotRespondingがtrueでnotRespondingSinceがnullの場合はnotRespondingSinceをセット
+					// notRespondingSinceは新たな機能なので、それ以前のデータにはnotRespondingSinceがない場合がある
+					this.federatedInstanceService.update(i.id, {
+						notRespondingSince: new Date(),
+					});
 				}
 
 				this.apRequestChart.deliverFail();