# トピック削除後の無限スクロールリクエスト

**URL:** https://meta.discourse.org/t/infinite-scrolling-requests-after-topic-deletion/387045
**Category:** Bug
**Created:** [2025 年 10 月 29 日午前 11:41 UTC](https://meta.discourse.org/t/infinite-scrolling-requests-after-topic-deletion/387045 "2025-10-29T11:41:28Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![TethysPlex](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tethysplex/32/520869_2.png) [@TethysPlex](https://meta.discourse.org/u/TethysPlex)
#### Post date: [2025 年 10 月 29 日午前 11:41 UTC](https://meta.discourse.org/t/infinite-scrolling-requests-after-topic-deletion/387045/1 "2025-10-29T11:41:28Z")

</div>

[Allow members to remove restricted tags / categories from tracking preferences](https://meta.discourse.org/t/allow-members-to-remove-restricted-tags-categories-from-tracking-preferences/383004) の議論を継続します。

### 概要

ユーザーが現在表示しているトピックが削除された場合、連続スクロール（上下）を行うと `posts.json` API呼び出しの無限ループが発生します。これらの呼び出しは一貫して `403 Forbidden` エラーを返しますが、アプリケーションは削除を認識せず、存在しないコンテンツの読み込みを停止しようとしないため、継続的なバックグラウンドネットワークアクティビティが発生し、ユーザーエクスペリエンスが損なわれます。

### 再現手順

1. **準備（管理者/モデレーターユーザー）：**
  - トピック削除権限を持つユーザー（例：管理者またはモデレーター）でログインします。
  - スクロールできるコンテンツがあることを確認するために、いくつかの投稿を含む新しいトピックを作成します。
  - このトピックのページURLをすぐに使えるようにしておきます。

2. **ユーザーエクスペリエンス（一般ユーザー）：**
  - 一般ユーザー（削除権限なし）でログインします。
  - 新しいブラウザタブまたはウィンドウを開きます。
  - ステップ1で作成したトピックに移動します。
  - ブラウザの開発者ツールを開き、「ネットワーク」タブに移動します。クリーンな表示のために、既存のリクエストをクリアします。

3. **同時削除と操作：**
  - 一般ユーザーがトピックページにいる間に（ステップ2）、管理者/モデレーターアカウント（ステップ1）を使用して **トピックを削除** します。
  - トピックが削除された直後に、一般ユーザーは削除されたトピックのページで **上下にスクロール** しようとします。

4. **観察：**
  - 一般ユーザーのブラウザのネットワークタブで、`https://discourse-url/t/xxxxx/posts.json?` （`xxxxx` は削除されたトピックID）への継続的なGETリクエストが送信されていることを確認します。
  - これらのリクエストがすべて一貫して **`403 Forbidden`** HTTPステータスコードを返していることに注意してください。
  - アプリケーションは、トピックが削除されたことを示すメッセージを表示せず、これらの失敗したスクロールリクエストの送信を停止しません。

### 考えられる結果

- 私のコミュニティでは、サイバー攻撃を防ぐためにCloudflareを使用していますが、このバグにより一部のユーザーがリクエストを送信しすぎ、レート制限を受けました。

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [2025 年 10 月 29 日午前 11:46 UTC](https://meta.discourse.org/t/infinite-scrolling-requests-after-topic-deletion/387045/2 "2025-10-29T11:46:47Z")

</div>

現在のDiscourseのバージョンは何ですか？

最近、同様の報告があり、修正につながりました。

> [@A loading loop will occur when user try to fetch the former/latter page of a removed topic](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665):
>
> For these steps: Login as a user, and read a topic; The admin/moderator removes the topic; Go up/down and trigger the fetch of the former/latter page. Then the page will stuck in an infinite loading, with the console showing 403 forbidden getting /t/${this.topic.id}/posts.json. And if the website is protected by a waf, then the user will be banned from visiting it.
