Page MenuHomePhabricator

Ghost notification count that can't be seen or marked as read
Closed, ResolvedPublic

Assigned To
Authored By
Krinkle
Oct 25 2019, 2:51 PM
Referenced Files
F31619532: image.png
Feb 17 2020, 1:58 PM
F30880079: Screenshot 2019-10-25 at 15.54.57 2.png
Oct 25 2019, 2:57 PM
F30880081: Screenshot 2019-10-25 at 15.52.17.png
Oct 25 2019, 2:57 PM
F30880061: Screenshot 2019-10-25 at 15.51.56.png
Oct 25 2019, 2:57 PM
F30880063: Screenshot 2019-10-25 at 15.51.59.png
Oct 25 2019, 2:57 PM
F30880074: Screenshot 2019-10-25 at 15.52.07.png
Oct 25 2019, 2:57 PM
F30880056: Screenshot 2019-10-25 at 15.46.51.png
Oct 25 2019, 2:51 PM
Tokens
"Orange Medal" token, awarded by Krinkle.

Description

I was notified from three different wikis in the past day. When I opened the menu for the first time (from a blue number badge), the messages were shown. On later page views, the number badge was grey. I don't quite remember what this means, but I think it means I've seen them but not marked as read.

When opening it from the grey badge, I no longer see the messages. It only shows the names of the wikis they are from, but the message that used to be there is missing. Looks like some state is inconsistent? Either the messages should be gone or be there with both the wiki section and the message itself.

Screenshot 2019-10-25 at 15.46.51.png (1×2 px, 540 KB)

This bug seems to have another nasty side-effect. I cannot mark them as read. When I click the blue dot to mark them as read, they briefly disappear (which I guess is JavaScript pre-rendering the assumed outcome of this action). But then moments later the grey number badge re-appears informing me of the same three notifications, which then re-appear on re-opening.

Full sequence:

1. Click on number badge2. Click "View 3 notices"
Screenshot 2019-10-25 at 15.51.56.png (630×1 px, 109 KB)
Screenshot 2019-10-25 at 15.51.59.png (754×1 px, 99 KB)

Problem: The three notices are missing.

3. Click blue dot for "Mark as read"
Screenshot 2019-10-25 at 15.52.07.png (731×1 px, 125 KB)
4. The three notifications go away (as expected), and the number badge goes away (as expected)
Screenshot 2019-10-25 at 15.54.57 2.png (439×1 px, 74 KB)
5. Number badge came back (Problem)6. Notifications came back unread (Problem)
Screenshot 2019-10-25 at 15.52.17.png (429×1 px, 73 KB)
Screenshot 2019-10-25 at 15.51.56.png (630×1 px, 109 KB)

At this point, one can resume from step 1 and go through the same loop again.

Event Timeline

Krinkle updated the task description. (Show Details)

The issue is present from time to time (especially around the time(s) of deployment or network slowness), sometime it's present on betalabs too. The issue seems not to be too persistent, it goes away with re-opening the panel or reloading the page and the issue usually happens when opening the notification panel is the very first thing after log in.

@Krinkle - I checked it yesterday (checking the cross-wiki notifications is done with every deployment group) and I did not notice anything unusual. I'm surprised to hear that the issue was so noticeable, so I'll keep an eye on it.

I am still seeing "3 notifications" grey badge on all wikis - and I cannot clear it.

Krinkle renamed this task from Notification expand sometimes shows empty sections to Ghost notification count that can't be seen or marked as read.EditedNov 8 2019, 10:15 PM

This is still an issue. I see a badge with "3 notifications". Expanding it show three empty sections. Pressing "Mark as read" does not make it go away.

Screenshot 2019-10-25 at 15.52.07.png (731×1 px, 125 KB)

All three problematic notifications are thank-you-edit notifications. I checked cawikisource- I cannot thank a user for the edit. The link cannot be clicked (not sure if it's relevant to the reported problem).
I moved the task to Growth Current sprint so it can be triaged and evaluated.

MMiller_WMF moved this task from Inbox to Upcoming Work on the Growth-Team board.
MMiller_WMF added a subscriber: MMiller_WMF.

Moving off sprint board in favor of Newcomer Tasks V1.0 tasks.

Might be related: T220762.

Note that as of writing I still have a ghost badge on every page every day with "3 notifications" that I can't seem to shake off :)

@Krinkle do you see this with Minerva or another skin?

@Krinkle do you see this with Minerva or another skin?

I can see it in Vector, Monobook and Timeless. For me the bug happened with a message group in the "Notices" group (not the "Alerts" group). In Minerva I only see the badge and drawer with "Alerts" messages. Which means that "Thank you" notices are not accessible right now in Minerva. I'm not sure if that's a general issue in Minerva or something caused by this bug.

So where Vector/Monobook/Timeless show me a Notices drawer (with the ghost badge and 1 broken message group among others that work fine), on Minerva I don't see Notices in general.

Seems similar to T141816#2515083 and T140836, maybe it's an issue with the moderation state or existence of the pages where the notifications were generated from?

Indeed, it seems likely that this is due to a change in moderation state of a Flow topic which triggered the notification or the page not existing. Locally, I am able to reproduce by doing the following, with MediaWiki-Docker-Dev:

Setup

  1. ./create then ./addsite foo
  2. set $wgSharedDB = 'default'; and $wgSharedTables[] = 'actor';
  3. Follow the directions to set up Echo for cross-wiki notices

Reproduce

  1. Create user "Bar" on default.web.mw.localhost:8080, then login to foo.web.mw.localhost:8080
  2. As an anonymous user, create a topic on User_talk:Baron default.web.mw.localhost
  3. Confirm that the notification appears on both default.web.mw.localhost and foo.web.mw.localhost
  4. As an Admin, delete User_talk:Bar
  5. As user Bar, view notifications on default.web.mw.localhost. You won't see the notification for a message on your talk page.
  6. As user Bar, view notifications on foo.web.mw.localhost. You'll see "View more notices from another wiki" but when you attempt to expand it, you won't see any additional information.

So, my steps-to-reproduce above documents how to create a broken cross-wiki notification setup, since cross-wiki notifications don't actually work with $wgSharedDB (that's T243412).

Now that I have a working setup with CentralAuth, I can't reproduce the ghost notices by deleting user talk pages, Flow topics, or Flow boards.

Still plan to submit a patch for this, I need to get a correct working setup with CentralAuth and cross wiki notifications first though. My previous two attempts had part of the setup right, but not all of it.

@Krinkle can you copy the params and response from your network tab after you click "Mark as read"? You should see three requests, and I'm interested in the one that calls the echomarkread action.

Also, could you check your preferences on Commons, and check that "Edit milestone" is checked?

image.png (56×347 px, 2 KB)
Assuming it was off, please try switching it on and then going through the workflow of opening the notifications panel and attempting to mark read.

@Krinkle and I reviewed this together. We were able to eliminate the ghost notices. The three notifications were of the "You just made your tenth edit, thanks!" type. On both the wiki were this notice was generated (e.g. catalan wikisource) and the local wiki where the ghost notices were shown (e.g. commons wiki) the global preferences were set to not show these types of notifications. When viewing the wiki where the notice was generated, and setting the preference to show that type of notification, Timo was able to then view the notice and mark it as read, both on that wiki and via a secondary wiki. By going through this process eventually all ghost notices were removed. While debugging we generated a bunch of run profiles (not organized here, sorry) for future inspection:

@kostajh -- if you were able to eliminate the ghost notices, does that mean that this task should be resolved?

@kostajh -- if you were able to eliminate the ghost notices, does that mean that this task should be resolved?

For this particular instance, yes, but I think we should address the root cause which @Catrope has written up T246398: Echo does not recompute notification counts when notification subscriptions are changed through a global preference