# A loading loop will occur when user try to fetch the former/latter page of a removed topic

**URL:** https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665
**Category:** Bug
**Created:** [15 oktober 2025 om 08:33 UTC](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665 "2025-10-15T08:33:36Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![small-lovely-cat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/small-lovely-cat/32/553546_2.png) [@small-lovely-cat](https://meta.discourse.org/u/small-lovely-cat)
#### Post date: [15 oktober 2025 om 08:33 UTC](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665/1 "2025-10-15T08:33:36Z")

</div>

[https://github.com/discourse/discourse/pull/35409](https://github.com/discourse/discourse/pull/35409)

For these steps:

1. Login as a user, and read a topic;
2. The admin/moderator removes the topic;
3. 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.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [15 oktober 2025 om 14:28 UTC](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665/2 "2025-10-15T14:28:34Z")

</div>

This seems reasonable to me, thanks for the PR.

What does the user see once the page is reloaded, a message along the lines of “Sorry, this page is forbidden/private”?

---

<div class="post-metadata">

### Author: ![small-lovely-cat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/small-lovely-cat/32/553546_2.png) [@small-lovely-cat](https://meta.discourse.org/u/small-lovely-cat)
#### Post date: [15 oktober 2025 om 23:08 UTC](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665/3 "2025-10-15T23:08:39Z")

</div>

Yes, users will see message like this.  
Just as what is on a normal 404 page.  
(The user can’t access the topic, so I think the 404 logic is reasonable.)

> Oops! The page does not exist or is not publicly accessible.  
> [Take me home](https://meta.discourse.org)

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [16 oktober 2025 om 18:09 UTC](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665/4 "2025-10-16T18:09:32Z")

</div>

Thanks @small-lovely-cat, your PR is now merged.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [20 oktober 2025 om 12:00 UTC](https://meta.discourse.org/t/a-loading-loop-will-occur-when-user-try-to-fetch-the-former-latter-page-of-a-removed-topic/385665/5 "2025-10-20T12:00:25Z")

</div>

This topic was automatically closed after 3 days. New replies are no longer allowed.
