Last modified: 2014-10-05 19:58:36 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T52829, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 50829 - Echo notifications show [No page] instead of pagename if the page was deleted
Echo notifications show [No page] instead of pagename if the page was deleted
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
Echo (Other open bugs)
unspecified
All All
: High major with 2 votes (vote)
: ---
Assigned To: Nobody - You can work on this!
:
: 54525 58759 61426 70384 (view as bug list)
Depends on:
Blocks: 62435
  Show dependency treegraph
 
Reported: 2013-07-05 19:53 UTC by Eduard Braun
Modified: 2014-10-05 19:58 UTC (History)
19 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Screenshot of the notification (2.19 KB, image/png)
2013-07-05 19:53 UTC, Eduard Braun
Details
Screenshot of notification in oversighted edit (5.26 KB, image/png)
2014-07-06 23:26 UTC, Molly White
Details

Description Eduard Braun 2013-07-05 19:53:12 UTC
Created attachment 12764 [details]
Screenshot of the notification

- I recently posted a deletion request to [[:en:File:SCAS Logo 2006.svg]].
- The deletion request was reverted, therefore I recevied a notificationvia Echo.
- The request was accepted later (since it actually was valid) and the image was deleted.

Now Echo shows
> Your edit on [[:[No page]]] has been reverted by Magog the Ogre (A/Com-A) [No page]
instead of the correct message with
a) a correctly linked page (which would be a redlink now, but that shouldn't matter) and
b) the edit summary given on revert (which might be harder though, since it's not publicly visible anymore after page deletion)
Comment 1 Bartosz Dziewoński 2013-08-26 23:46:06 UTC
This affects other notifications as well, I've seen it happen to link notifs.
Comment 2 spage 2013-09-23 20:44:56 UTC
Prioritization and scheduling of this bug is tracked on Mingle card https://mingle.corp.wikimedia.org/projects/flow/cards/223
Comment 3 Quiddity 2013-10-06 18:16:01 UTC
*** Bug 54525 has been marked as a duplicate of this bug. ***
Comment 4 Kunal Mehta (Legoktm) 2013-12-20 22:05:20 UTC
*** Bug 58759 has been marked as a duplicate of this bug. ***
Comment 5 Tomasz W. Kozlowski 2014-01-26 14:11:25 UTC
Changing priority to normal, lowering severity to normal since that's not that annoying a bug (though I've just experienced it).
Comment 6 MZMcBride 2014-02-02 20:04:30 UTC
I just noticed this on the English Wikipedia ("Salinger (film) was linked from [No page].").
Comment 7 John Mark Vandenberg 2014-02-03 04:29:55 UTC
(In reply to comment #5)
> Changing priority to normal, lowering severity to normal since that's not
> that
> annoying a bug (though I've just experienced it).

I disagree.  I see this regularly, and it is infuriating to know there is a deleted page, but need to go poking around in the watchlist of days ago to find it.  In the case of Wikidata, after finding which Q it was from the watchlist, you need to use whatlinkshere to guess what the Q's label was.
Comment 8 Sage Ross 2014-02-14 02:42:01 UTC
I'm bumping this up to High again, because Echo's inability to handle deleted pages is a potential problem for every other extension that tries to implement Notifications.

As I understand it, Echo typically stores the pageID rather than the plain title of a page when it records a Notification, and if a page gets deleted then it doesn't have permission to access the properties of the deleted page, such as the title. Finding a way to let Echo access the titles for deleted pageIDs might be a solution.
Comment 9 Andrew Green 2014-02-14 07:38:50 UTC
Just to elaborate a bit on what Sage said ^ , this issue came up with regard to a notification in the Education Program extension.

See: https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FEducationProgram/520430baeb85384bab46442ef654ec043a4c0b5b/includes%2Fnotifications%2FCourseTalkNotification.php and https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FEducationProgram/520430baeb85384bab46442ef654ec043a4c0b5b/includes%2Fnotifications%2FCourseTalkFormatter.php

In a nutshell, when the notification is triggered, the extension *does* send a revid in the 'extras' parameter. Maybe I'm missing something, but the only place I see in core to get to the title of a deleted article from the revid is ApiQueryDeletedrevs.

We could call that API using DerivativeRequest, but in addition that API checks for the "deletedhistory" user right, not something a notification should try to hack around.

We could also just access the archive table directly, but doing that in a notification formatter would be ugly.

As far as I can see, there are two real options:
- Implement in core a simple interface for getting the last title of a deleted article from the pageId. (Apologies if it's already there and I didn't see it.)  Then add code to Echo for fetching a title object or title text if the page represented by the 'title' parameter has been deleted.
- Make Echo store the title text somewhere in the notification, so that it can be retrieved by a formatter if the page has been deleted.

These options have different implications with regard to performance and what the user sees if a page is moved.

It's true we could implement workarounds, but I think a proper fix is Echo's domain, with changes possibly needed in core depending on the approach.
Comment 10 Matthew Flaschen 2014-02-14 18:45:41 UTC
(In reply to Andrew Green from comment #9)
> - Implement in core a simple interface for getting the last title of a
> deleted article from the pageId. (Apologies if it's already there and I
> didn't see it.)  Then add code to Echo for fetching a title object or title
> text if the page represented by the 'title' parameter has been deleted.

Also note that this may have security ramifications.  RevisionDelete allows suppressing log entries (which I believe, but am not positive), includes the deletion log.  See https://www.mediawiki.org/wiki/RevisionDelete

You should talk to someone familiar with RevisionDelete and oversight to make sure any solution to this does not cause any undesired data leaks.
Comment 11 Kunal Mehta (Legoktm) 2014-02-14 19:45:53 UTC
(In reply to Andrew Green from comment #9)
> 
> We could also just access the archive table directly, but doing that in a
> notification formatter would be ugly.

The formatter wouldn't need to do it, it would be done by EchoEvent::getTitle()

(In reply to Matthew Flaschen from comment #10)

> Also note that this may have security ramifications.  RevisionDelete allows
> suppressing log entries (which I believe, but am not positive), includes the
> deletion log.  See https://www.mediawiki.org/wiki/RevisionDelete

It does. Though what's most common is to just delete the page at a suppression level which doesn't create a delete log entry/

--

I think Echo should just store the page title+namespace along with page id, and fallback upon that if the page no longer exists. We would need to implement something to ensure the page wasn't suppressed, but I don't think that would be super difficult.

This would handle deletion and undeletion gracefully as well as the general case of the page was just deleted.
Comment 12 Kunal Mehta (Legoktm) 2014-02-15 22:03:11 UTC
*** Bug 61426 has been marked as a duplicate of this bug. ***
Comment 13 Redrose64 2014-05-22 20:29:41 UTC
This problem also occurs if the page was deleted, and selected revisions undeleted. If you have admin rights on en.wp, have a look at [1] which is shown in notifications as "Your edit on [No page] has been reverted by Thecounciloflions. [No page]". The page concerned was [[en:Cat Creek]]
[1] http://en.wikipedia.org/w/index.php?title=Special:Undelete&target=Cat+Creek&timestamp=20140522185355&diff=prev
Comment 14 Kunal Mehta (Legoktm) 2014-05-22 20:35:07 UTC
(In reply to Redrose64 from comment #13)
> This problem also occurs if the page was deleted, and selected revisions
> undeleted. 

This is because whenever you delete a page and undelete it the page id changes, which is what Echo stores internally, so it thinks the page no longer exists.
Comment 15 Molly White 2014-07-06 23:26:10 UTC
Created attachment 15853 [details]
Screenshot of notification in oversighted edit

Just noting that this also affects oversighted edits on pages that have not been deleted. It does not appear that any data is leaking, at least not when only the edit summary/edit itself are oversighted, but it is pretty ugly. I'm not sure what would happen if the username is also suppressed.
Comment 16 bsitu 2014-07-24 17:48:18 UTC
It would say 'username removed' for deleted/suppressed users.  We could just hide the notifications completely in these two cases
Comment 17 Kunal Mehta (Legoktm) 2014-09-04 07:11:55 UTC
*** Bug 70384 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links