8

The system-generated e-mails about unread notifications in the global inbox are not being sent out to some users. It seems that this is happening for users who have never checked their inboxes on the site.

Since users can configure the e-mails to be sent out once every three hours/day/week, there must be some sort of check to figure out which messages are unread and how long they've been unread for. I suspect that this check is against the last time the inbox was opened, and a null value results in the system not understanding how old any messages are.

Steps to reproduce:

  1. Create new user.
  2. Upon logging in for the first time, there will immediately be a message in the inbox, appearing as a red 1 in the top bar. DO NOT CLICK THE NUMBER, DO NOT READ THE INBOX!
  3. Go to your new user's profile, to the preferences page, and set the option to email you unread inbox messages every 3 hours:
    Email me my unread inbox messages every 3 hours
  4. Post something that'll generate a response and won't get deleted quickly.
  5. Wait for a response. The number in the top bar will increment - DO NOT CLICK IT.
  6. Wait an additional 3 hours. Maybe make it 4, just to be sure.
  7. Note that you haven't received any emails about the response you got in step #5.
  • Unless I've misread the answer, nothing was done so why status-completed and not status-bydesign here? (/cc @Marc) – Shadow Jan 14 '15 at 14:44
  • @ShadowWizard because when I posted the answer I was proposing a fix, which I have now coded. Fixed next build. – Marc Gravell Jan 14 '15 at 14:44
  • @Marc thanks, you mean "set the last-viewed pointer to "now" when enabling emails", right? – Shadow Jan 14 '15 at 14:47
  • @ShadowWizard yes; exactly that – Marc Gravell Jan 14 '15 at 15:49
5

Interesting scenario. I've checked the data, and it simply doesn't happen; there are no accounts with verified email addresses and emails enabled that haven't been viewed, and which have outstanding items. I'm slightly cautious that enabling it could cause issues with people with huge unread queues - the largest of which currently has 6658 unread items (and that user was last active 14 minutes ago, so: not dead or anything horrible).

It doesn't seem to be an actual problem, so I'm wary of jumping in and changing too much here; one option might be to simply set the last-viewed pointer to "now" when enabling emails (they can still see the older items if they choose).

Thoughts?


Edit: implemented as proposed, next build

  • 1
    Your suggestion seems reasonable... Even all else being equal, it seems weird to be sending someone old notifications that pre-date signing up for notifications. – Adam Lear Jan 13 '15 at 19:57
  • "the largest of which currently has 6658 unread items (and that user was last active 14 minutes ago" bets is a sock puppet/bot – Braiam Jan 14 '15 at 15:58
  • @Braiam nope; they were commenting, answering, etc – Marc Gravell Jan 14 '15 at 17:09
  • :O – Braiam Jan 14 '15 at 17:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .