Open main menu

e·h·w·Stock post message.svg To-do:

  • Ability to remove maintenance tags from articles using the "tag" module
  • Incorporate one of the many delsort scripts into Twinkle (see WP:DELSORT).
  • Incorporate FurMe into Twinkle.
  • Redesign the tag module with a tabbed interface similar to PageTriage to enhance the user experience while searching for tags
  • Convert, which Twinkle uses for API calls, to use JSON format.


Children's personal infoEdit

The emerging consensus of this discussion at Wikipedia talk:Criteria for speedy deletion is that kids' personal information needs to be oversighted. I'm sure I'm not the only editor who has viewed this material in terms of deletion (U5, A7, G11, G10) in the past. Could we have another option on Twinkle's CSD menu to handle this properly by initiating an oversight request, Special:EmailUser/Oversight, pre-populated along the lines of "Child's personal info at articlename"? Thanks, Cabayi (talk) 10:46, 16 August 2017 (UTC)

Please, please, please! Legacypac (talk) 12:43, 16 August 2017 (UTC)

+1. Lowering the action threshold for this is a big win in terms of ensuring that issues like this get dealt with not by shining a huge spotlight on it (as there are several known cases of nominating for CSD immediately triggering bots to scrape the data and store it on one of numerous SpeedyDeletion wikis) but to make it easier to privately request oversight is a big win. Hasteur (talk) 12:59, 16 August 2017 (UTC)
  • +1 but not limited to child personal data. Twinkle should offer an "email oversight" tab that contains common reasons for oversight or allows entering a custom reason. Regards SoWhy 12:30, 17 August 2017 (UTC)
  • Support offering Twinkle-users a clear and simple way to report stuff which needs to be oversighted. If Oversighters find they are getting sent too many reports for non-oversight-worthy content, then the documentation at Twinkle can be fine-tuned to clarify what does and doesn't need to be reported. PamD 13:07, 17 August 2017 (UTC)
  • There should be language to specify content needs to be removed before oversight is contacted. I'll save everyone my rant about how much content that should be rev del'd or oversight gets through NPP, but the goal should be to hide the content from the general public as quickly as possible, which requires the editor remove it before waiting what can be hours before an oversighter responds. TonyBallioni (talk) 13:28, 17 August 2017 (UTC)
Just blank the personal details on sight, that should remove them from view and hide them from most of the general public and scrappers, who don't know enough to look in the page history, up until the Oversighter fully blocks them. Diego (talk) 14:04, 17 August 2017 (UTC)
Yes. I know: I'm saying Twinkle should make that clear. A lot of people don't know that, though, so education is key here. TonyBallioni (talk) 14:21, 17 August 2017 (UTC)
  • Support, streamlining the processing of content that needs to be removed for BLP reasons is a good thing. Diego (talk) 14:04, 17 August 2017 (UTC)
  • Support per above, but the Oversight team should be made aware of this discussion as this will probably lead to a significant increase in requests and associated decrease in response time, perhaps to unacceptable levels. We may need more oversighters. – Train2104 (t • c) 14:18, 17 August 2017 (UTC)
  • Support. This seems like a very valuable use of the developers' time, for the reasons above. Matt's talk 19:05, 17 August 2017 (UTC)
  • Support - Including Primefac's RevDel option below. - FlightTime (open channel) 01:42, 18 August 2017 (UTC)
  • Support Good idea. Chris Troutman (talk) 03:36, 18 August 2017 (UTC)
  • Support apap04 talk | contributions 22:18, 30 September 2018 (UTC)


Can we add in revdel support as well? I completely understand the importance of a subtle oversight, but revdel is just as important and Twinkle could make such a task much easier. I hate to piggyback on a somewhat-separate topic, but it's been proposed three times now with zero comments from others. Primefac (talk) 01:29, 18 August 2017 (UTC)

  • Yes. Yes. 1000x Yes. For all the reasons I noted above. TonyBallioni (talk) 03:02, 18 August 2017 (UTC)
  • Support Chris Troutman (talk) 03:36, 18 August 2017 (UTC)
  • Strong support for both - the average editor doesn't need to concern himself with the differences between oversight and revdel. I've been at this near 6 years and I'm not sure which is appropriate when, mainly because I don't need to be. Editing school articles primarily as I do, I come across "Tammy Foo is a slut" or "Bill Foo has a huge cock" almost daily. Making a revdel request easier would be a blessing. John from Idegon (talk) 15:36, 18 August 2017 (UTC)
  • Support both - I've had to mosey over to IRC I believe four times in the past two days over these types of things. TimothyJosephWood 10:46, 25 August 2017 (UTC)
  • Support both - I've had to google "copyvio revdel template" far too many times now. Gone shall be those days. 100% support from my side. Jiten Dhandha • talk • contributions • 11:21, 5 September 2017 (UTC)
    • @Timothyjosephwood and Jiten Dhandha: it's not perfect, but until the above gets implemented I've written up User:Primefac/revdel.js. Just add importScript('User:Primefac/revdel.js'); // Linkback: [[User:Primefac/revdel.js]] to your common/vector/etc. Should help with that pesky "what's the code" issue. Let me know if there are any major issues, or other ways I could improve it further. Primefac (talk) 16:21, 8 September 2017 (UTC)
There is absolutely no way I'm going to figure out how to do that without accidentally deleting my entire account. TimothyJosephWood 16:37, 8 September 2017 (UTC)
@Timothyjosephwood: Click this link: Special:Mypage/common.js > (Create the page if not already existent) > Edit page > Copy code exactly the way Primefac mentioned in the comment above > Hit "Save changes" and voila! :P Jiten Dhandha • talk • contributions • 16:51, 8 September 2017 (UTC)
Jiten Dhandha, TJW doesn't have a common.js ;) Primefac (talk) 17:16, 8 September 2017 (UTC)
@Primefac: I havent tested it yet, but I did add the code to my common.js. The prompts look simple and neat so there's no issue there (I see that only 4 ranges are allowed at max, which isnt an issue since I've never come across an article needed more than that). Now to see if it actually works when I come across an article with copyvio issues. Also, thanks for taking the time out to write the script! Jiten Dhandha • talk • contributions • 16:43, 8 September 2017 (UTC)

Implementation detailsEdit

  Doing... I'll take a shot towards implementing this - a revdel/oversight module, seeing as we have consensus for adding both. Would appreciate feedback on what all options the dialog box should contain and other stuff. SD0001 (talk) 16:10, 19 November 2018 (UTC)

Why is there no role account for administrators for revision deletion requests, like User:Oversight? In its absence, it is only possible to support copyvio-revdel requests for which we have a template. I don't see how custom revdel requests can be supported since I don't know of any easy way to send emails externally or access the IRC using javascript. SD0001 (talk) 17:15, 19 November 2018 (UTC)
I now see that User:Enterprisey/cv-revdel.js works delightfully for copyvio-revdel tagging, providing an interactive interface on the page history for selecting the oldid's that the template requires as parameters. Twinkle's form-based layout is clearly not the best way for copyvio-revdel tagging, as digging up the diffs and copying over the oldids is rather cumbersome. Enterprisey's script does the job much better. Hence I guess it'd be better to focus on a module solely for oversight requests. SD0001 (talk) 18:30, 19 November 2018 (UTC)

The initial version of Twinkle oversight module is at User:SD0001/twinkleos.js. To install, please add importScript('User:SD0001/twinkleos.js'); //[[User:SD0001/twinkleos.js]] to your common.js page (that is, until it gets added to standard Twinkle). Feedback is welcome, especially on the options menuu, and default contents of the email subject and body fields that need to improvised. SD0001 (talk) 07:46, 21 November 2018 (UTC)

@Cabayi, Legacypac, Hasteur, SoWhy, PamD, Diego Moya, TonyBallioni, Train2104, M.R.Forrester, FlightTime, Chris troutman, Apap04, Primefac, John from Idegon, Timothyjosephwood, Jiten Dhandha, and Sam Sailor: Feedback? SD0001 (talk) 07:58, 21 November 2018 (UTC)
Please note "Send email" button will send the email to Oversight team. So don't click on it if you're just testing. If you wish, you can copy the code to your userspace page, install it and set the email target to yourself for sending test mails. SD0001 (talk) 08:14, 21 November 2018 (UTC) For now, I have reset email target to mw.config.get('wgUserName'), so that any test emails you send will go to yourself. 08:50, 21 November 2018 (UTC)
@SD0001: Heya! Thanks for working on the script. I did a brief test and it appears to be working all right - the simple text fields are quite neat. The only little trouble I ran into was the "OS" option not appearing in the drop-down for Twinkle sometimes. Refreshing the page a couple of times seems to solve that. My knowledge of scripts and computer in general is quite limited, so maybe it's just a browser issue on my side? Jiten talk contribs 11:53, 21 November 2018 (UTC)
@Jiten D: You may also see that the OS option appears at different position every time. Such issues are due to the order in which JS code is invoked, which I myself don't fully understand. Such issues would automatically disappear when this gets added to the Twinkle standard installation. SD0001 (talk) 13:33, 25 November 2018 (UTC)
@SD0001: Thank for the ping. I also added a linkback for use purposes, you can remove it you want to. Thanks for doing this, I'll let you know if I have any issues. - FlightTime (open channel) 18:38, 21 November 2018 (UTC)
First pass looks nice, SD0001, but can I complicate your life a bit and suggest a different tack? Right now, the form provides the page but is otherwise blank; editors will have to manually collect and add diffs, links, etc. just as they must currently. In short, this saves a few clicks (WP:OS->email) and has a sleek Twinkle interface. What would be really neat/helpful would be one or both of two things: on diff pages, pick up the diff link and username; and on history pages, allow for selecting of multiple diffs. The former is presumably easier. What would be good to avoid would be emails with generic text ("Requesting removal of personal information from User:Amorymeltzer") without more context — that'd save follow-up emails or time spent digging through page histories. ~ Amory (utc) 20:03, 21 November 2018 (UTC)
@Amorymeltzer: On diff pages, pick up the diff link   Done (will update the script soon), but username? Of what use is the username when you have the diff link? On history pages, allow for selecting of multiple diffs -- that sounds quite difficult to me. How are you thinking of doing that? SD0001 (talk) 20:52, 21 November 2018 (UTC)
There. Now a link to the page is also provided. If module was invoked from a permalink / diff page, the link to this is also provided. If invoked from article history, with any two revisions selected (via the radio buttons), a link of a diff comparing those revisions is generated. I am quite busy for 3 weeks from now, so I plan to undertake further improvements after that. SD0001 (talk) 22:19, 21 November 2018 (UTC)
I installed the script but I see no interface for this, either on an history tab or a diff page. Please advise. Chris Troutman (talk) 18:20, 23 November 2018 (UTC)
Do you not see the "OS" tab in the Twinkle dropdown menu? SD0001 (talk) 13:33, 25 November 2018 (UTC)
Nope. Chris Troutman (talk) 00:19, 27 November 2018 (UTC)

Batch undelete problemEdit

I am running into a problem with Batch Undelete. I get this sort of result:

Undeleting pages: Done (3/15 actions completed successfully)
Undeleting page Portal:Vienna/Opentask: completed (Portal:Vienna/Opentask)
Undeleting page Portal:Vienna/Selected biography: completed (Portal:Vienna/Selected biography)
Undeleting page Portal:Vienna/Selected biography/1: [XK8JFQpAAEgAAH7VN8gAAAAY] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected biography/2: completed (Portal:Vienna/Selected biography/2)
Undeleting page Portal:Vienna/Selected biography/3: [XK8JFQpAEDcAAJ1ocK8AAACI] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected biography/4: [XK8JFQpAEDQAAEykIBcAAABY] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture: [XK8JFQpAIDoAAJkm5r0AAACR] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/1: [XK8JFQpAEMIAACVrIRwAAAAF] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/2: [XK8JFQpAEMIAACVrIRsAAAAT] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/3: [XK8JFQpAAEkAAH572TsAAABQ] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/4: [XK8JFQpAIDYAABypej4AAAAH] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/5: [XK8JFQpAIDQAAKdREK4AAADG] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/6: [XK8JFQpAMEIAACELKFwAAAAT] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Selected picture/7: [XK8JFQpAIDwAAB6JstIAAABQ] Caught exception of type Wikimedia\Rdbms\DBQueryError
Undeleting page Portal:Vienna/Topics: [XK8JFQpAEMIAACVrISMAAAAX] Caught exception of type Wikimedia\Rdbms\DBQueryError

Problem recurs when new Und-batch attempted on the remainder of the list. Eventually all are undeleted, but by random sub-batches.

Can someone explain the error message? Does anyone know what is causing this? Is there a workaround? Cheers, · · · Peter Southwood (talk): 09:41, 11 April 2019 (UTC) (please ping with reply)

Not sure, but wasn't something similar happening with deletion or moving a while ago? ~ Amory (utc) 10:52, 30 April 2019 (UTC)
(mostly) alleviated per below ~ Amory (utc) 16:55, 8 May 2019 (UTC)
Thanks, will report back if it happens again, but I don't undelete batches very often... Cheers, · · · Peter Southwood (talk): 08:15, 9 May 2019 (UTC)

Template:Db-unfree listed at RfDEdit

The redirect Template:Db-unfree to Template:Db-f9 is currently listed at Redirects for discussion. If this template is used for Twinkle's F9 speedy deletion feature, this should be fixed until the discussion is over. Thanks! Jalen D. Folf (talk) 02:39, 24 April 2019 (UTC)

It was indeed noted but thanks! ~ Amory (utc) 10:52, 24 April 2019 (UTC)
I have closed the discussion and replaced this title with a deprecation notice. See Template:Db-unfree. Deryck C. 14:21, 10 May 2019 (UTC)

AfD questionEdit

Is there an option in twinkle to put more than one article to one AfD? Govvy (talk) 11:23, 1 May 2019 (UTC)

Sadly, no. Someday maybe, it's certainly on the to-do list! ~ Amory (utc) 19:06, 6 May 2019 (UTC)

Twinkle shouldn't follow redirects when delivering warningsEdit

We noticed today that Twinkle is willing to follow redirects from the target user's talk page when issuing warnings and block messages. For example, this block resulted in this warning, because the vandal had set their talk page to redirect to User:DoRD. Twinkle probably shouldn't follow any redirects at all when issuing warnings or delivering block messages, but it definitely shouldn't be doing so cross-namespace. ST47 (talk) 23:15, 3 May 2019 (UTC)

Surely this is a rarity, and the more likely case is for alternate or bot accounts? I could imagine block templates being an exception, but I'd think most cases of usertalk redirects would be intentional. ~ Amory (utc) 18:29, 16 May 2019 (UTC)

Latest updates — 2019-05-08 (repo at 53b6bf4)Edit

Here are some of the latest changes and new features and behaviors made to Twinkle. Major improvements to WP:PROD behavior, a new "Restore this revision" link on old revisions, plus now you can delsort AfD's upon nomination! Plus a number of bug fixes as well as the usual improved handling and functionality. (changes not otherwise attributed were made by User:Amorymeltzer)

  • Add [restore this revision] link when viewing old revisions, just like on diffs (562)
  • xfd:
  • prod:
    • Add {{old prod}} to talkpage upon on nomination (567)
    • Check for old PROD templates on talkpage or an existing AfD, abort if found (566)
    • Enable BOOKPROD on userspace books in appropriate category (559)
    • Don't insert a stray comma when endorsing a PROD (585)
  • prod/csd: don't log notifications if the notification failed (e.g. the user talk page was protected) (578, User:SD0001)
  • csd:
    • Wikilink numerous extra parameters in the CSD log, such as users, XfDs, files, etc. (584)
    • Add link to log when logging files, as deleted files that existed on commons would still appear bluelinked (535)
    • Don't allow blank F9 logging (584)
    • Add plain G8 to category list (603, User:DannyS712)
  • protect:
    • When requesting protection at WP:RfPP, prompt the user to ask the protecting admin (297 & 586, User:MusikAnimal)
    • Disable pending changes dropdown on ineligible namespaces (anything other than main or project) (560)
    • Remove autoconfirmed from dropdowns when inappropriate (move protection and mainspace creation) (451)
  • batchdelete: Fix longstanding bug where the image-delinker didn't work (594, User:SD0001)
  • batchundelete:
    • Mostly alleviate/avoid database errors when restoring large pages (613)
    • Add option to restore talk pages as well (601, User:SD0001)
    • Add red color and confirmation for create-protected pages (as is done in batchdelete) (613)
  • tag:
  • welcome: Enable on every user-related page (547)
  • warn: Show signature in preview (587)
  • arv: Remove extra blank line for UAA reports (607, User:Pppery)
  • Add <nowiki> tags to twinkle preference pages (612, User:DannyS712)

This section should serve as a catching ground should anything not work properly or if any new bugs crop up, as well as for any feedback or suggestions. As always, input is welcome at the GitHub repo as well. ~ Amory (utc) 16:54, 8 May 2019 (UTC)

@Amorymeltzer: It looks like the pending changes dropdown has been disabled in mainspace. -- Scott Burley (talk) 21:06, 10 May 2019 (UTC)
Ugh, thanks. Today's software update removed a variable that I started depending on just the other day, so terrible timing. I've reverted the change, it should be fixed in the next few minutes. ~ Amory (utc) 21:23, 10 May 2019 (UTC)

Proposing to merge undefined into undefinedEdit

Note the page history of Talk:Undefined:

Proposing to merge undefined into undefined (TW)

When placing a merge tag and starting a talk-page discussion, please ensure that the parameter specifying the page to merge with is specified.

This may have been previously reported as it's a longstanding issue, but thought I'd report it in case this has fallen thru the cracks. A link to the bug report on GitHub would be appreciated. Thanks, wbm1058 (talk) 23:02, 8 May 2019 (UTC)

@Wbm1058: Has this happened recently? I was made aware of it March 10th, and thought I'd fixed it that very same day. ~ Amory (utc) 01:03, 9 May 2019 (UTC)
No, March 10 seems to have been the last time, from the page history at Talk:Undefined. It's just that today is the day that I noticed this (one that happened in December 2018 had yet to be fixed). Thanks for fixing it so promptly!   I'll leave a note at Talk:Undefined to let others know it's been resolved. wbm1058 (talk) 01:13, 9 May 2019 (UTC)

Twinkle removing editEdit

I just noticed this edit of mine done with Twinkle. As you can see it removed previous edit which placed block note (a section with heading itself). Edit like that can be easily misunderstood and I am not sure why this happened. – Ammarpad (talk) 07:03, 13 May 2019 (UTC)

What likely happened is that when you went to notify the user, Oshwah's edit took place in the instant between the time it took the API to load the page content and then modify it. It should be rare, but it's a long-standing issue. ~ Amory (utc) 18:28, 16 May 2019 (UTC)
Amorymeltzer, err... are you sure? That is what an edit conflict is, right? I thought twinkle had a mechanism for dealing with edit conflicts? SD0001 (talk) 10:27, 17 May 2019 (UTC)
Lord knows I may be wrong — looking at the brief description again I may not be exactly right — but I had thought `append` was treated somewhat differently? ~ Amory (utc) 10:37, 17 May 2019 (UTC)
Looks like `append` doesn't involve a `load` at all, or at least whenever fnCanUseMwUserToken('edit') is true - I'm not sure when all that's gonna be the case. It directly uses the API's appendtext parameter. So there's no possibility of an edit conflict. That would suggest this was a server-side error. SD0001 (talk) 14:42, 17 May 2019 (UTC)

Removal of sourced content / whitewashingEdit

It would be useful to have a warning against whitewashing behaviour. None of the options really work for that. Headbomb {t · c · p · b} 14:31, 16 May 2019 (UTC)

In my experience the "unexplained delete" option works for a deletion of sourced content, as in my experience, it's usually done without a (valid) explanation. POV may also be an option. DonIago (talk) 17:05, 16 May 2019 (UTC)
Whitewashing is often done with explanations, so 'unexplained delete' doesn't really apply. Headbomb {t · c · p · b} 17:19, 16 May 2019 (UTC)
That's why I also mentioned POV. DonIago (talk) 19:25, 16 May 2019 (UTC)

Don't open talk page on vandalism until after revert?Edit

A couple times now, I've hit the rollback (vandalism) button, the talk page has immediately popped up, I've posted a warning...then flipped back to the vandalized page and seen that someone else already reverted it. It's not a huge problem, just a little confusing to people when they see I posted a warning and didn't revert. I don't have this issue with the normal rollbacks (or at least haven't hit it yet). Would it be possible to reorder the actions here so that the talk page only opens after a successful revert? creffett (talk) 23:58, 16 May 2019 (UTC)

I actually like the way it works now, but it can cause redundant warnings. That's usually rare, though, as many vandalism reverters don't issue warnings, but as a Twinkle user, I generally do. Alternatively, an option to warn anyway might be useful too, rather than only on successful reverts. - BilCat (talk) 05:39, 17 May 2019 (UTC)

Feature Request: April Fools' AfD buttonEdit

During April Fools' Day, I found it tedious to make a joke AfD nom, as it had to be done manually. I would like to request an option to use Twinkle to make an AfD that doesn't add a notice to the page in question. Thanks! Jeb3Talk at me here 15:01, 20 May 2019 (UTC)

@Jebcubed: A custom module should do the trick - I'll work on something between now and April --DannyS712 (talk) 16:07, 20 May 2019 (UTC)
Just leave it as tedious as possible. Less fake nominations is better. --Gonnym (talk) 16:14, 20 May 2019 (UTC)
@Gonnym:, I feel like the tediousness of creating an April Fools' AfD detracts from the fun of April 1st. It would, in my opinion, make April Fools' a bit more fun if Twinkle could be used to create AfD noms specifically for April Fools. Jeb3Talk at me here 17:18, 20 May 2019 (UTC)
Annually WP:FOOLS isn't followed strictly enough and the last thing we need is to make the repeated abuse easier. Chris Troutman (talk) 17:20, 20 May 2019 (UTC)
Return to the project page "Twinkle".