Page MenuHomePhabricator

Watchlist RSS feed should include diffs
Open, MediumPublicFeature

Assigned To
None
Authored By
bzimport
Jun 15 2007, 8:50 AM
Referenced Files
F4124: ApiFeedWatchlist.php.patch
Nov 21 2014, 9:51 PM
F4123: Diff.png
Nov 21 2014, 9:51 PM
F4122: watchlistfeed.png
Nov 21 2014, 9:51 PM
F4121: ScreenShotRSS.png
Nov 21 2014, 9:51 PM
Tokens
"Like" token, awarded by Kozuch.

Description

Author: nick222

Description:
Hello!

When I read my watchlist - I see long list with many entries and full text.

But when I open it ( http://ru.wikipedia.org/w/api.php?action=feedwatchlist ) in RSS-agregator (for example Abilon) I see very short list of messages - with entry name, author and date only.

How can I see RSS-feed the same watchlist as it is in browser?

Or it is a bug of RSS-feed http://ru.wikipedia.org/w/api.php?action=feedwatchlist ?

Thank You! :)


Version: unspecified
Severity: enhancement
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=41085

Details

Reference
bz10268

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 9:51 PM
bzimport set Reference to bz10268.
bzimport added a subscriber: Unknown Object (MLST).

By default, action=feedwatchlist only returns entries changed in the last 24 hours. You can set this to 72 (maximum) using:

http://ru.wikipedia.org/w/api.php?action=feedwatchlist&hours=72

nick222 wrote:

Screenshot RSS-client

Attached:

ScreenShotRSS.png (1×1 px, 42 KB)

nick222 wrote:

But what I see in RSS-client:

See attachment - that is all ("white" field right down corner) - only title, name and date ??

And where is content of message?

Created attachment 3779
Screenshot of the watchlist feed in Firefox

This is what I get from
http://www.mediawiki.org/w/api.php?action=feedwatchlist&hours=72

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://www.mediawiki.org/skins-1.5/common/feed.css?76"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>

		<title>MediaWiki - My watchlist [en]</title>
		<link>http://www.mediawiki.org/wiki/Special:Watchlist</link>
		<description>My watchlist</description>
		<language>en</language>

		<generator>MediaWiki 1.11alpha</generator>
		<lastBuildDate>Fri, 15 Jun 2007 14:06:45 GMT</lastBuildDate>
		<item>
			<title>Talk:API</title>
			<link>http://www.mediawiki.org/wiki/Talk:API</link>
			<description>/* Page watched ? */ no need (Catrope)</description>

			<pubDate>Thu, 14 Jun 2007 19:42:00 GMT</pubDate>			<dc:creator>Catrope</dc:creator>					</item>
		<item>
			<title>API</title>
			<link>http://www.mediawiki.org/wiki/API</link>
			<description>/* siteinfo / si (done) */ updating (Catrope)</description>

			<pubDate>Thu, 14 Jun 2007 17:03:14 GMT</pubDate>			<dc:creator>Catrope</dc:creator>					</item>

</channel>
</rss>

All this shows is the name of the page, a link to it, and the user, summary and timestamp of the last edit. I also attached a screenshot of how Firefox displays this feed.

I'm diving into the code right now and will try to implement returning the diff since your last visit in the feed.

Attached:

watchlistfeed.png (768×1 px, 88 KB)

nick222 wrote:

Hm... Summary - but where in this screenshot is "summary"?
Diff - Oh, yes, if I right understand You :)

The content of the page isn't supplied with the RSS feed, a link to the page is. We could change that link to point to the associated diff if you want to. IIRC, there are RSS readers (Mozilla Thunderbird's built-in RSS readers) that do show the content of the page. Unfortunately, action=feedwatchlist doesn't seem to work with Thunderbird (gives me the not logged in error). How did you configure Abilon to log in automatically?

nick222 wrote:

  1. As I know, RSS 2 supply content - or not?
  2. About diff: for example, RSS of history of Wikipedia page show diff OK.
  3. Abilon and FeedReader 3 have fileds "login" and "password" in options of each RSS-feed. Abilon show RSS-feed OK. But FeedReader 3 cannot show this RSS-feed. You can use link http://LOGIN:PASSWORD@ru.wikipedia.org/w/api.php?action=feedwatchlist&amp;hours=72 instead of fileds "login" and "password".

nick222 wrote:

Abilon show diff - history of Wikipedia page

Attached:

Diff.png (1×1 px, 71 KB)

Somehow that doesn't work with Thunderbird. Your screenshot must be of a Recent Changes feed, it's true that they do show the diffs. I'll see how the RC feed is modelled and try to make the watchlist feed the same (showing the diffs since last view, or the last diff if you've seen the last revision already).

I've tried to get the diff of the last revision into the feed, but I couldn't get it working. It should be easy (in theory) with the patch attached to bug 10297: query api.php?action=query&generator=watchlist&prop=revisions&rvprop=ids|user|comment internally and put the diff between the last two revisions in the <description> field (if the showdiff parameter is set of course). It doesn't sound difficult, but I couldn't get it done.

cannon.danielc wrote:

Seeing as nothing's been done on this since June, I'm marking it for LATER.

ville.stadista wrote:

add diffs parameter to feedwatchlist that implements this feature

I doesn't change getVersion() string, which should probably be changed if this is committed to SVN.

Patch is against the latest SVN snapshot.

Attached:

Bryan.TongMinh wrote:

The parameter "diffs" is ambiguous. I am going to change that to something like "linktodiff"

Bryan.TongMinh wrote:

I've been rereading this thread, but it seems that your patch does not address the issue raised in this bug. This bug is about including the contents of the diff, not about the diff link itself.

ville.stadista wrote:

Sorry, I should have read the bug description more carefully; the title seemed to match what I had in mind.

Can you still commit the patch? I think it is a very useful feature and I tested it by installing MediaWiki on my own computer and it should work fine. Meanwhile, I could research if I can help with the exact concern raised in this bug.

Bryan.TongMinh wrote:

Done in r77366.

Unassigning for the actual feature request on this bug.

I wonder if it would be considered unacceptable for performance reasons to include the diff of every entry?

ville.stadista wrote:

After quickly looking through the MW database layout, it seems like implementing this feature in the way originally meant would require a query to the "text" table to produce the diff output; something that is not needed in my solution. AFAIK this would reduce the performance of the feedwatchlist feature, and would requrie much more extensive testing to be safe for commiting to high-traffic sites like Wikipedia. I would dare to say that without some elaborate diff caching solution the performance hit might be just too hard.

In my solution the comment and the contributor are visible in the RSS/Atom feed item, and the user only has to open the item's link in a browser to see the diff. This does not require any additional database queries when the feedwatchlist is generated unless the user opens the link, much like by opening the "diff" link in Special:Watchlist.

Bryan.TongMinh wrote:

All the caching is done by the DifferenceEngine in includes/diff. There is a good chance that most (especially recent) diffs are cached. Also I see that the RC feed includes diffs. On the other hand RC is the same for all users and for a high traffic site it is pretty much guaranteed that the recent diffs are cached, whereas the watchlist feed may contain much older items. That said, I see that it is limited to 72 hours.

Conclusion: most diffs are probably cached, so including all diffs is not a too big issue. Any comments on this?

ville.stadista wrote:

Well, in that case the relevant diffs would get cached when the user first time loads his feedwatchlist in opening his browser/aggregator, and subsequent queries would either concern new recent changes or already cached diffs. Sounds doable and performance could remain acceptable.

*Bulk BZ Change: +Patch to open bugs with patches attached that are missing the keyword*

sumanah wrote:

(Adding the "reviewed" keyword since the patch has been reviewed, and in fact committed. Thanks, Ville Stadista!)

rd232 wrote:

*** Bug 23349 has been marked as a duplicate of this bug. ***

See also gerrit change 132589 (to use the diff link in the equivalent contributions feed) and gerrit change 132590 (to always link to the diff in the watchlist feed).

This bug is equivalent to bug 41085 (concerning the contributions feed). These two bugs should probably be fixed in the same way.

Change 150271 had a related patch set uploaded by Rohan013:
Include diffs in Watchlist feed

https://gerrit.wikimedia.org/r/150271

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 12:24 PM