Can Unified New dismiss topics after a user scrolls past them?

I’m looking at using the new Unified New view as the main feed/homepage on my Discourse site, but I’d like it to behave a bit more like X/Twitter or Facebook.

What I’m trying to achieve is:

  • A topic appears in the Unified New feed.

  • The user scrolls down and the topic has been visible in their viewport.

  • Once they’ve scrolled past it, Discourse considers that topic “seen” or dismissed for that user.

  • If they refresh or come back to /new later, that topic no longer appears.

Ideally I wouldn’t want the row to disappear immediately while scrolling, as that could cause the page to jump. I’d just want it marked as seen/dismissed in the background so it’s gone on the next load.

I’m also using Don’s Topic Preview Modal, which already prefetches topics around the viewport. Because of that, I’d want to distinguish between a topic simply being prefetched and the user actually seeing it.

For example, something along the lines of:

Topic is at least 50% visible for 200–400ms → mark as seen → user scrolls past it → dismiss it from Unified New.

Has anyone implemented something similar?

Is there an existing Discourse API or frontend method for dismissing an individual topic from Unified New for the current user, or would this require a plugin/theme component?

I’m basically trying to turn Unified New into more of a personalised “things you haven’t seen yet” scrolling feed rather than requiring the user to actually open every topic.

4 Likes

I don’t think this is currently a thing, so I’ll move this over to Contribute > Feature .

Though bulk actions exists, but that doesn’t feel very smooth just to ‘tick it off’ as you scroll past it.

1 Like

Since the topic modal already uses the pre-fetch i will see if i can make a component that dimisses once the pre-fetch takes place.

is there a way to show /new as the homepage for logged in users only? Obvs logged out users get a 404 error

Does this help?

You can change “latest” to “new” here. I tried it and I think it works.

There is also Custom Homepage for Groups, which should work using the trust_level_0 group all users are added to automatically.

2 Likes

Now I knew there was a simpler way to do it… just a matter of finding it.

1 Like

This topic can be closed or deleted, i didn’t fully understand what /new did, i assumed it showed posts from the past x amount of time. It clearly doesn’t so this shows new users an empty page.

1 Like