Longer window for 'Consider topics new when'?


(Kevin P. Fleming) #1

Since we don’t yet have the ability to bulk-change topics (so I can’t mute all 1426 topics that I’ve never viewed), I’d like to have the ability to have topics considered ‘new’ when they were posted in the last 2, or even 4, weeks. When I’m away for 8-9 days, I’m concerned I’ll miss something relevant to recent discussion because it won’t show up in my “New” page.


(Jeff Atwood) #2

Sure seems fine @zogstrip can you add a 7 days option? Let’s creep this back slowly rather than adding a ton of ranges.


(Régis Hanol) #3

@codinghorror We already have “last week”.

@kpfleming any reason why you don’t use “since I was here last”?


(Kevin P. Fleming) #4

@codinghorror: We already have 7 days (‘a week’).

@zogstrip: I don’t use ‘since I was here last’ because I don’t have any control over that. If I open my browser and see 50 new topics (when I’ve been gone for 10 days), I cannot be positive what might trigger Discourse to think I’ve ‘been here’. For example, if I close and reopen the tab, or close and reopen the browser, or something else… I don’t want anything I can do to make those 50 new topics disappear except explicit action on those topics. Implicit behavior bothers me, in case you couldn’t tell :smile:


(Jeff Atwood) #5

“When I was here last” would work fine, provided you actually close the tab on the browser at some point. It doesn’t sound like you do, though.

(Personally, I don’t do the “infinity of tabs” thing, I always close sites when I am done with them, then re-open to come back.)

@zogstrip we can probably add a “14 days” setting, but again, I want to move this back slowly. Too many settings is daunting.


(Kevin P. Fleming) #6

On the machine where I read meta, I have four tabs permanently open, and others open when needed. Pretty far from infinity, but yeah… I never close the Discourse tab.

However, let’s say I used that setting. I am gone for a week, and during that time 50 new topics are posted. When I return, I open a tab and navigate to meta, and it shows me that I have 50 new topics. Life is good.

I start reading some of the topics, then go off and do something else, and when I come back I accidentally close the Discourse tab. When I open a new tab and head over to meta again, what will happen? I really don’t want to be obligated to process all new topics in a single session without making any mistakes, because I am human (others may disagree).

I think that having a reasonable length window for topics to be considered new will solve this problem, and 7 days has been working well for most situations (weekends, even long ones, or really busy times at work where I can’t visit meta for a few days, even though the tab is open). It’s just that occasionally I’m away for a longer period of time. I do agree that going beyond 2 weeks would likely be wasteful, as if I’m gone that long the new topic volume would likely be overwhelming… but on a less busy site, it could be manageable.

In the interests of trying to help solve the real problem, how about if we had a setting that required explicit action by the user to indicate ‘here’/‘not here’ status to Discourse? If Discourse assumed I was ‘here’ until I logged out, whether I close tabs or not, that could also solve the problem, because then ‘topics created since I last went away’ would be perfect. It’s slightly different from ‘when I was last here’, but close.


(Jeff Atwood) #7

I think adding 14 days is simpler and preferable to that.


(Kane York) #8

Have you tried this option:


(Jeff Atwood) #9

Didn’t we cover that at length above? Granted we used different words than the exact copy…


(Régis Hanol) #10

This is now done & deployed :wink:

https://github.com/discourse/discourse/commit/01cd63fff71bca2fbc070c632fa490a7ff1849dc


(Kevin P. Fleming) #11

I’ll probably switch to ‘if i havent viewed them yet’ once I can mark all the topics I don’t care about as ‘mute’.


(Jeff Atwood) #12

There are other topics on the implied time bomb here, but I am having trouble finding them because they relate to really generic concepts. We just ran into this with an enterprise customer and a specific user. It is a little insane that new (since I joined) and returning (since my last visit) dates are not capped.

In other words, imagine the user who is active on a site for five years, then suddenly changes their user preference for New from its default of “topics created in the last two days” to “consider topics new if I have not visited them.” After five years there could be thousands, possibly tens of thousands of topics they have not visited! Same logic applies to “created since I was here last” if your last visit happened to be a year ago…

So @sam is adding the following logic:

  • Use john date unless join date was more than (x) days ago, then use (x) days ago
  • Use last visited date unless last visit date was more than (x) days ago, then use (x) days ago

(Your join date was already an effective cap here, since clearly topics created before you joined the site cannot be considered “new” to you, can they?)

Where (x) days ago is a site setting we will add, defaulting to 60 days as a fail safe. On low volume sites this might make sense to be a year, even.

I am surprised it took us this long for a user to fall into the pit of despair we created with these settings, from the user’s perspective this starts to be a dumb behavior after just a few weeks on a busy site… do you really want 1,426 topics to be considered new to you??