# Topic Preview Modal

**URL:** https://meta.discourse.org/t/topic-preview-modal/409712
**Category:** Theme component
**Created:** [August 10, 2026, 3:54pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712 "2026-08-10T15:54:59Z")
**Posts on this page:** 20
**Page:** 4

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [August 30, 2026, 4:55pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/61 "2026-08-30T16:55:14Z")

</div>

I’ve updated the timeline! 🎉

Now, when you click the progress bar, a dedicated modal opens with the topic timeline container (aka the mobile timeline). This makes it much easier to use on mobile too.

 ![Screenshot 2026-08-30 at 18.48.49](https://global.discourse-cdn.com/meta/original/4X/5/b/d/5bd647e33074efb21cfa6170691cfcb22f5e95e2.png)

> <https://github.com/VaperinaDEV/discourse-topic-preview-modal/pull/10>

* * *

> [@Damian\_Boon](#):
>
> There is a bug when replying (nested view) the topic attempts to reload but gets stuck

Sorry, but I’m not able to reproduce this. 😕

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [August 30, 2026, 4:59pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/62 "2026-08-30T16:59:24Z")

</div>

I whacked the update on a test site [https://forum.escooterworld.com/](https://forum.escooterworld.com/) and it happens on there, not sure why. Am on holiday till Tuesday so can’t really test further as to whats going on

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [August 30, 2026, 5:54pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/63 "2026-08-30T17:54:17Z")

</div>

Can you send me your component so I can take a look at it?

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [August 30, 2026, 5:57pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/64 "2026-08-30T17:57:46Z")

</div>

Sent, does the same though with that component turned off and has only started happening since last update

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [August 30, 2026, 9:07pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/65 "2026-08-30T21:07:16Z")

</div>

Try testing in the Duck Duck Go browser 😉

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [August 30, 2026, 9:55pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/66 "2026-08-30T21:55:58Z")

</div>

I’ve updated the swipe hint message: [DEV: Add more control over swipe hint message - Pull Request #11 - VaperinaDEV/discourse-topic-preview-modal - GitHub](https://github.com/VaperinaDEV/discourse-topic-preview-modal/pull/11)

It contains two new settings:

- **always\_show\_dismiss\_hint:**  
By default the mobile dismiss-gesture hint (“Swipe up/down or use  
the back gesture/button to close”) is shown once ever per browser,  
the first time the preview modal opens. Enable this to show it every  
time instead. Only applies when modal\_dismiss\_gesture is “gesture”.

- **dismiss\_hint\_duration\_ms:**  
How long (in milliseconds) the dismiss-gesture hint stays on screen  
before fading out. Consider lowering this if you’ve enabled  
always\_show\_dismiss\_hint, since a 10-second hint on every open can  
get repetitive. Set to -1 to disable the auto-dismiss entirely - the  
hint then stays until the modal itself is closed.

The `topic_preview.back_gesture_hint` is now htmlSafe.

---

<div class="post-metadata">

### Author: ![kddkd](https://avatars.discourse-cdn.com/v4/letter/k/df705f/32.png) [@kddkd](https://meta.discourse.org/u/kddkd)
#### Post date: [September 1, 2026, 6:19pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/67 "2026-09-01T18:19:42Z")

</div>

Hi, I really appreciate this theme component; it works perfectly for me.

Today I noticed that in the (nested reply view) theme, clicking the “one other reply” button in the comments section shows the error: “Error: The requested URL or resource was not found.”

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [September 1, 2026, 8:51pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/68 "2026-09-01T20:51:33Z")

</div>

Thanks for reporting this! I tested the nested reply view, but I wasn’t able to reproduce the issue. The reply loads correctly for me.

Could you check whether the same reply opens correctly on the regular nested topic page? If it doesn’t, it may be an issue with that particular post/topic.

If you see the issue again, please also send me the topic URL so I can investigate it further.

---

<div class="post-metadata">

### Author: ![kddkd](https://avatars.discourse-cdn.com/v4/letter/k/df705f/32.png) [@kddkd](https://meta.discourse.org/u/kddkd)
#### Post date: [September 2, 2026, 7:06am UTC](https://meta.discourse.org/t/topic-preview-modal/409712/69 "2026-09-02T07:06:27Z")

</div>

Hello,

When I click “➕2 replies” in the “Nested Replies” view,

I get the error message: “Error: The requested URL or resource was not found.”

I tested this in preview mode, on desktop Google Chrome, and on mobile Google Chrome, and the same error appears in all cases.

 ![IMG_6049](https://global.discourse-cdn.com/meta/original/4X/6/d/2/6d257eedc8b36ab13322a4e5e100a2ee66d6d547.jpeg)

 ![IMG_6050](https://global.discourse-cdn.com/meta/original/4X/f/9/9/f992074f971a024dc46194323b6241174fd3e663.jpeg)

---

<div class="post-metadata">

### Author: ![kddkd](https://avatars.discourse-cdn.com/v4/letter/k/df705f/32.png) [@kddkd](https://meta.discourse.org/u/kddkd)
#### Post date: [September 2, 2026, 7:19am UTC](https://meta.discourse.org/t/topic-preview-modal/409712/70 "2026-09-02T07:19:20Z")

</div>

Hi,

Sorry! I think I didn’t make myself clear.

What I meant to say is that when using the “topic-preview-modal” component, if you click on a topic in the “nested mode” view on the homepage to preview it, and then click the “more replies” button, the following error appears.

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [September 2, 2026, 8:05am UTC](https://meta.discourse.org/t/topic-preview-modal/409712/71 "2026-09-02T08:05:25Z")

</div>

Ah, got it, thanks! Here is the fix: [FIX: Nested view lost topic identity on pagination + dead "Continue t… · VaperinaDEV/discourse-topic-preview-modal@fa90848 · GitHub](https://github.com/VaperinaDEV/discourse-topic-preview-modal/commit/fa908487a74647a0d602e67b6228a04250c2cac1)

---

<div class="post-metadata">

### Author: ![kddkd](https://avatars.discourse-cdn.com/v4/letter/k/df705f/32.png) [@kddkd](https://meta.discourse.org/u/kddkd)
#### Post date: [September 2, 2026, 9:03am UTC](https://meta.discourse.org/t/topic-preview-modal/409712/72 "2026-09-02T09:03:48Z")

</div>

Thank you so much! I just tested it and there are no issues!

Thanks for your work on this theme component! :fonzie:

---

<div class="post-metadata">

### Author: ![Stephane\_Roy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephane_roy/32/222598_2.png) [@Stephane\_Roy](https://meta.discourse.org/u/Stephane_Roy)
#### Post date: [September 6, 2026, 2:57pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/73 "2026-09-06T14:57:06Z")

</div>

Hello,

Wow, this component looks great and offers excellent usability, especially on smartphones!

I’ve run into a blocking bug:

On a topic using the “[Post Voting plugin](https://meta.discourse.org/t/discourse-post-voting/227808)”, the modal doesn’t load.

This issue occurs on both smartphones and PCs.  
It happens with the latest versions.

If needed, I can reactivate the component on my forum and send you a link to the bug via PM.

Thanks.

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [September 6, 2026, 6:54pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/74 "2026-09-06T18:54:18Z")

</div>

Thank you @Stephane_Roy! Here is the fix: [FIX: post-voting topics crashing the topic preview modal · VaperinaDEV/discourse-topic-preview-modal@0be328e · GitHub](https://github.com/VaperinaDEV/discourse-topic-preview-modal/commit/0be328ef1d0697032a1306341735efacc51d116d)

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [September 7, 2026, 5:56am UTC](https://meta.discourse.org/t/topic-preview-modal/409712/75 "2026-09-07T05:56:21Z")

</div>

Hello 👋

I’ve refactored the theme component:

> <https://github.com/VaperinaDEV/discourse-topic-preview-modal/pull/12>
>
> The large \`topic-preview-modal\` component has been split into focused delegate c…lasses for nested topics, composer interactions, post actions, progress navigation, overlay watching, and back gesture state.
> 
> The existing component API and external contracts remain unchanged, while \`topic-preview-modal.gjs\` has been reduced from 1836 to 873 lines.
> 
> No functional changes intended.

The large `topic-preview-modal` component has been split into focused delegate classes for nested topics, composer interactions, post actions, progress navigation, overlay watching, and back gesture state.

The existing component API and external contracts remain unchanged, while `topic-preview-modal.gjs` has been reduced from 1836 to 873 lines.

No functional changes intended.

---

<div class="post-metadata">

### Author: ![satonotdead](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/satonotdead/32/447830_2.png) [@satonotdead](https://meta.discourse.org/u/satonotdead)
#### Post date: [September 14, 2026, 1:16pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/76 "2026-09-14T13:16:28Z")

</div>

Maybe the functionality exists and I couldn’t find how to set it:

It would be possible to avoid the modal in specific categories (aka Discourse Category Docs), where the modal can be counterproductive when the sidebar is intended to be shown?

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [September 14, 2026, 4:10pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/77 "2026-09-14T16:10:59Z")

</div>

There was a request for this earlier. I’m just trying to figure out the best implementation. It doesn’t seem straightforward, as it could confuse users if some topics on `/latest` open in a modal while others don’t. On the other hand, if we restrict it strictly to categories, how should topics on `/latest` behave?

> [@Don](#):
>
> > [@joo](#):
> >
> > Also, as a feature request: would it be possible to add a setting to enable this component only for specific categories?
> 
> Hmm, I’m thinking about this. How do you imagine this working? Should it work on `/latest` as well (checking the exact topic category) or only inside the selected category? Should suggested topics in that category also keep the modal?

---

<div class="post-metadata">

### Author: ![satonotdead](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/satonotdead/32/447830_2.png) [@satonotdead](https://meta.discourse.org/u/satonotdead)
#### Post date: [September 14, 2026, 5:25pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/78 "2026-09-14T17:25:58Z")

</div>

Oh, gran Don. I’m sorry, I didn’t see the previous request. I’m very glad that you’re analyzing it and taking it into account!

> [@Don](#):
>
> On the other hand, if we restrict it strictly to categories, how should topics on `/latest` behave?

In our specific case, the categories in which we would disable the modals are specifically glossary, wiki, and an online course set up on Discourse.

It occurs to me that a switch to test the use of modals in those same categories, and that they appear listed as latest topics, would be positive for truly evaluating their impact from the users’ perspective, in a real-world scenario.

In case that’s not possible, at least for us, it would be better not to enable the modals even in the latest topics view for those scoped categories. Because the course is set up to show the sidebar, just like our wikis and the glossary.

We intend for our people to actually research and read that particular information, and we are interested in providing them with direct links to it from the sidebar view.

We are fully comfortable with allowing the modal on the rest of our community. It works really well.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [September 14, 2026, 10:00pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/79 "2026-09-14T22:00:24Z")

</div>

> [@satonotdead](#):
>
> We intend for our people to actually research and read that particular information, and we are interested in providing them with direct links to it from the sidebar view.

Would they not click open full topic?

---

<div class="post-metadata">

### Author: ![satonotdead](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/satonotdead/32/447830_2.png) [@satonotdead](https://meta.discourse.org/u/satonotdead)
#### Post date: [September 14, 2026, 10:51pm UTC](https://meta.discourse.org/t/topic-preview-modal/409712/80 "2026-09-14T22:51:36Z")

</div>

> [@Damian\_Boon](#):
>
> Would they not click open full topic?

You know, all we want is less friction. Should be a music track or something 😬

[Previous page](https://meta.discourse.org/t/topic-preview-modal/409712.md?page=3)

[Next page](https://meta.discourse.org/t/topic-preview-modal/409712.md?page=5)
