Page MenuHomePhabricator

D10. LQT signatures are ignored when converting topics to Flow, discarding the authorship of some comments
Closed, ResolvedPublic

Description

  • Create a new IObjectRevision field getSignatureAuthor, which returns a username or IP (just like getAuthor), but based on the signature.
  • Expose thread_signature in the LQT API as a prop
  • Use that to implement getSignatureAuthor (since it's a signature, not a username, it will need to be extracted and decoded; looking at Echo may help).
  • If signature author differs from actual author, do a synthetic revision after import to note this.
  • After merge, create the template on all Flow wikis

Maybe the migration script messed up the authorship of some comments? (e.g. first comments? edited comments?) I don't think I ever said this:
https://www.mediawiki.org/w/index.php?title=Topic:Qnwxw7d4qd7ammzf&topic_showPostId=qnwxw790mtv9icfy#flow-post-qnwxw790mtv9icfy
(e.g. I don't even use some of those words when writing in English)

Details

Related Gerrit Patches:
mediawiki/extensions/Flow : masterShow template when LQT signature user differs from author user
mediawiki/extensions/Echo : masterSeparate logic for extracting usernames from picking the right one
mediawiki/extensions/LiquidThreads : masterExpose thread_signature in API

Event Timeline

He7d3r created this task.Jun 10 2015, 1:14 PM
He7d3r raised the priority of this task from to Needs Triage.
He7d3r updated the task description. (Show Details)
He7d3r added a subscriber: He7d3r.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJun 10 2015, 1:14 PM

I don't know what's going on here.

The contributions clearly shows you creating the thread:

22:40, 21 June 2012 (diff | hist) . . (+160)‎ . . Nm Thread:VisualEditor talk:Welcome/Not here? Tch! ‎ (New thread: Not here? Tch!)

As does the LQT history: https://www.mediawiki.org/w/index.php?title=Thread:VisualEditor_talk:Welcome/Not_here%3F_Tch!&lqt_method=thread_history&redirect=no

However, going to the thread via timestamp link (https://www.mediawiki.org/w/index.php?title=Thread:VisualEditor_talk:Welcome/Not_here%3F_Tch!&oldid=552738) shows David Gerard creating the thread.

Could be a LiquidThreads bug.

Mattflaschen-WMF triaged this task as High priority.Jun 10 2015, 9:36 PM
He7d3r added a comment.EditedJun 11 2015, 3:09 AM

Now that you show those links, I think I know what happened. I was probably manually migrating a thread from wikitext to LQT, by copying the source code to the edit area, and copying the author's signature to the signature field (you can notice the duplicated timestamps, one from when I created the LQT post and another for when the author posted the comment I was copying).

So, it seems Flow is ignoring the signature field I added to the comments (which is where the real authors are shown), and using only the username of who created the LQT page (in the example, it was me). And we have many LQT topics converted from wikitext like this (at least on ptwikibooks), mostly from the transition period from wikitext --> LQT, when there were a few active threads which we didn't want to archive.

As a simple workaround, I imagine the conversion script could just copy the content of the signature field to the end of the comment (in case the signature is different from what it would be in case the author of the comment was the user creating the comment).

He7d3r renamed this task from LQT comment attributed to the wrong user after migration to Flow? to LQT signatures are ignored when converting topics to Flow, discarding the authorship of some comments.Jun 11 2015, 3:14 AM
He7d3r set Security to None.
Mattflaschen-WMF added a comment.EditedJun 11 2015, 3:39 AM

Yeah, I can probably solve this by exposing getSignatureAuthor separately from getAuthor, then implementing it for LQT using thread_signature. This is conveniently not implemented in the API, but will be easy to add.

I'm not going to go back and fix the already imported ones via script, but I'll add comments (similar to what you suggested the script did) manually.

FYI: by copying the signature to the end of the comment, it will look like some of the messages distributed through MediaWiki message delivery. E.g.:
b:pt:Tópico:Wikilivros Discussão:Portal comunitário/VisualEditor News 2—2015

Change 217706 had a related patch set uploaded (by Mattflaschen):
Expose thread_signature in API

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

Change 217706 merged by jenkins-bot:
Expose thread_signature in API

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

Change 217984 had a related patch set uploaded (by Mattflaschen):
Separate logic for extracting usernames from picking the right one

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

Change 217985 had a related patch set uploaded (by Mattflaschen):
Show template when LQT signature user differs from author user

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

Change 217984 merged by jenkins-bot:
Separate logic for extracting usernames from picking the right one

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

Change 217985 merged by jenkins-bot:
Show template when LQT signature user differs from author user

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

DannyH renamed this task from LQT signatures are ignored when converting topics to Flow, discarding the authorship of some comments to D10. LQT signatures are ignored when converting topics to Flow, discarding the authorship of some comments.Jun 16 2015, 7:25 PM

After conversion, signatures are associated with actual user names.

Two cases

  • if a user is not logged in and he edits his signature - that signature will be converted to {{LQT post imported with different signature user|authorUser=198.77.321.1|signatureUser=dragon2}}
  • If a user enters ~~~~ as his signature, upon conversion it will be displayed as his signature, e.g. zilant 18:15, 18 June 2015 (UTC)
DannyH closed this task as Resolved.Jun 19 2015, 5:37 PM
DannyH added a subscriber: DannyH.
Mattflaschen-WMF reopened this task as Open.Jun 21 2015, 4:27 AM

Going to test:

  • If a user enters ~~~~ as his signature, upon conversion it will be displayed as his signature, e.g. zilant 18:15, 18 June 2015 (UTC)

since that one sounds like a bug.

Steps to reproduce:

  1. Login
  2. Create a LQT page
  3. Click 'Start a new discussion' (using AJAX interface)
  4. Enter a Subject and body.
  5. Click 'edit signature'.
  6. Put the exact text ~~~~ in the signature field.
  7. Click 'Save page'.

Appears as:

thread_signature in the database has:

[[User:Other|Other]] ([[User talk:Other|talk]]) 02:24, 22 June 2015 (UTC)

After conversion, I don't get the signature warning. It looks like:

Did you mean if they enter ~~~~ in the body field (rather than in the 'edit signature' field)? That is not supported for LQT either; it tells you not to.

Matt, should we move this back to In Development?

Mattflaschen ,

I re-checked with the exact steps that you wrote - yes, it works fine - the edited signature(~~~~) in the signature field get converted to a proper user name upon LQT->Flow conversion.

Signatures entered as a wiki text in the body - it makes sense not to convert them.

DannyH closed this task as Resolved.Jun 22 2015, 11:19 PM