Page MenuHomePhabricator

Flow actions aren't detailed enough in CheckUser
Closed, ResolvedPublic

Description

When using the "get edits" function of CheckUser (which actually gets edits *and* log entries), any Flow edits/comments/etc don't show up and are totally ignored.


Version: unspecified
Severity: normal

Details

Reference
bz60275

Related Objects

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:51 AM
bzimport set Reference to bz60275.
bzimport added a subscriber: Unknown Object (MLST).

bingle-admin wrote:

The WMF core features team tracks this bug on Mingle card https://wikimedia.mingle.thoughtworks.com/projects/flow/cards/731, but people from the community are welcome to contribute here and in Gerrit.

Change 108653 had a related patch set uploaded by Legoktm:
Use RecentChanges::save to add RC rows

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

Patch is the first step. Right now the entries in CheckUser look like:

(diff) (hist) . . Talk:Flow . . 04:08 . . Admin (Talk | contribs | block)

IP: 10.0.2.2   Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:26.0) Gecko/20100101 Firefox/26.0

The diff and history links are broken, and there is no indication of what Flow action was taken.

Change 108653 merged by jenkins-bot:
Use RecentChanges::save to add RC rows

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

So...making the entries show up properly is complicated.

The normal place to add in handling was in CheckUser::getLinksFromRow, and call the Flow formatter there. Aside from having to do some hacky stuff to get a RecentChange object, this didn't work since the cu_changes table does not store rc_params, which Flow depends upon.

Next I looked into CheckUserHooks::updateCheckUserData, except I didn't see any way in Flow to get wikitext instead of HTML from the RecentChanges formatter.

You can convert any parsoid html to wikitext with

Flow\ParsoidUtils::convert( 'html', 'wt', $htmlContent );

That is currently inefficient, the content came in as wikitext and was converted to html. Easiest way for now would be to add an internal cache to ParsoidUtils such that after converting wt->html, asking for the wikitext of that html retrieves it from the cache.

Sorry, that's not what I meant. I'm talking about the HTML returned by \Flow\RecentChanges\Formatter::format()

Dumb question: do we still have the equivalent of the history log, such that given a page and a timestamp I can figure out what happened? Or is that also missing?

Luis, yes, you can still see all the relevant actions in the users' contributions, in page history, in recent changes, etc.

(In reply to comment #8)

Dumb question: do we still have the equivalent of the history log, such that
given a page and a timestamp I can figure out what happened? Or is that also
missing?

Yes, that should be possible with the current history view (https://www.mediawiki.org/w/index.php?title=Talk:Sandbox&action=board-history - throwing an exception which is another bug that has been fixed, just not deployed).

(In reply to comment #7)

Sorry, that's not what I meant. I'm talking about the HTML returned by
\Flow\RecentChanges\Formatter::format()

Getting wikitext out of there would be difficult, it was designed to work with the OldChangesListRecentChangesLine hook which expects a line of html. In terms of the functionality this needs, the list of links, potentially could extend the abstract \Flow\Formatter to accept a check user row and run the buildActionLinks method for it. That will get you an array of arrays, the inner arrays each containing a url and a plain text link name.

I'm not sure yet how to get the data across though, it needs a Title, action string, and one or two uuids. The title is already there, the action could potentially be stored in cuc_actiontext although i have not yet checked if that is legitimate. For the uuid's i'm really not sure though, beyond adjusting the cu_changes table.

(In reply to comment #9)

Luis, yes, you can still see all the relevant actions in the users'
contributions, in page history, in recent changes, etc.

I'm not actually seeing many of the user actions I know I took in the *page* history. Indeed, when comparing my contributions to the page history on the sandbox[2] for 27-28 January, most of my actions aren't there. Incidentally, the page title isn't included in my contributions history. This is a problem. (Is it a different bugzilla?)

[1] https://www.mediawiki.org/wiki/Special:Contributions/Risker
[2] https://www.mediawiki.org/w/index.php?title=Talk:Sandbox&action=board-history

(In reply to comment #12)

(In reply to comment #9)

Luis, yes, you can still see all the relevant actions in the users'
contributions, in page history, in recent changes, etc.

I'm not actually seeing many of the user actions I know I took in the *page*
history. Indeed, when comparing my contributions to the page history on the
sandbox[2] for 27-28 January, most of my actions aren't there.

Yep, we're working on the history section - you may want to check in "topic history" too (under the topic dropdown)

Incidentally,
the page title isn't included in my contributions history. This is a problem.
(Is it a different bugzilla?)

Yep, the lack of clarity ("Topic","Comment") is a known, and we're working on it.

Actually, I am getting nothing at all whatsoever in the self-test CU I did after making multiple Flow edits. There is no indication whatsoever that I have edited using Flow. (This is post "go live" to three talk pages on enwiki, two of which I've made posts on.)

(In reply to comment #14)

Actually, I am getting nothing at all whatsoever in the self-test CU I did
after making multiple Flow edits. There is no indication whatsoever that I
have
edited using Flow. (This is post "go live" to three talk pages on enwiki,
two
of which I've made posts on.)

Looks like Ie248485ed28538e01e898afc62395ed9a2b8aed3 only made it to 1.23wmf12, and enwiki is still on 1.23wmf11. Marking as needing a backport.

Change 111160 had a related patch set uploaded by Jalexander:
Use RecentChanges::save to add RC rows

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

(In reply to comment #15)

Looks like Ie248485ed28538e01e898afc62395ed9a2b8aed3 only made it to
1.23wmf12,
and enwiki is still on 1.23wmf11. Marking as needing a backport.

Note that if that change is backported, we will also need a backport for I8e3a42666c85920d0b50c8272f6f0db30055fd2b as that fixes some fatals that occurred with my change.

Change 111161 had a related patch set uploaded by Jalexander:
Abort email notifications coming out of RecentChange

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

Change 111161 merged by jenkins-bot:
Abort email notifications coming out of RecentChange

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

Change 111160 merged by jenkins-bot:
Use RecentChanges::save to add RC rows

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

Deployment for backports is scheduled for 1pm PST today.

Change 111249 had a related patch set uploaded by EBernhardson:
Add hook SpecialCheckUserGetLinksFromRow

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

CheckUser on enwiki shows something thanks to the backport and deploy; leaving this bug open to improve the display of that something.

Change 111354 had a related patch set uploaded by Legoktm:
Formatter for CheckUser rows

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

Change 111249 merged by jenkins-bot:
Add hook SpecialCheckUserGetLinksFromRow

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

Change 111354 merged by jenkins-bot:
Formatter for CheckUser rows

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