teshiron / davt Goto Github PK
View Code? Open in Web Editor NEWDarkwind's Anti-Vandal Tool
Darkwind's Anti-Vandal Tool
Add a link to show most recent diff - facilitating TW rollback etc.
Since obviously the user is present when the button is used, and it's disorienting for the presence check to trigger while the tool is already paused.
Possibly including:
Watchlist monitoring
Live spellcheck make that live typo-scanning, can use the AWB typo list. May need to be a separate tool
Tag monitoring
All IP edits
All new pages (would need to render the wikitext, I think)
For example, user sandboxes can be ignored by filtering for /[Ss]andbox/.
especially for rollback token (page deleted causes the rollback token ajax to fail silently)
Usability issue
For clarity and ease of developing the app of course, but also to easily permit functions to be hooked by others.
This should be possible based on the CSS classes, but it didn't work the first time I tried.
Hey,
The page is loaded and I can see the 'Pause updates' button along with all of the other Wikipedia stuff, but no filtered edits are loading. I've been waiting for about 3 minutes.
Another bug, I cannot click on 'Talk', 'Edit', or 'View history'. The page I clicked on loads for a half second then forwards back to the content from the main page (the 'Read' page). However, it still says I'm on the page I clicked on. Here's a picture:
As you can see, I'm on the 'View history' page, but I'm given the content from the 'Read' page!
Another error is that after I click on 'Pause updates' clicking on 'Resume updates' changes nothing. It still says 'Resume updates' after I click on it!
I'm on a Mac OS X Lion running Version 10.7.5 and Chrome Version 30.0.1599.101.
Thanks!
busterroni (on Wikipedia I'm Newyorkadam)
P.S. Also, where do you get your bad word list from? I was checking your code and it loads from somewhere, I'm just not sure where. Can I see a link please?
P.P.S. I also get a HUGE list of errors in my console, and the list keeps growing and growing with about seven more errors per second. Here's some of the errors (in order from when the page loaded: the first error is when the page first loaded):
Entering filterChanges index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:39
/w/api.php?action=query&list=recentchanges&format=json&rcdir=older&rcprop=ids&rclimit=100&rctoponly=&rcshow=!minor|!bot&rctype=edit|new&rcnamespace=0|2&rcstart=2013-11-07T03:47:03.788Z index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:81
Entering RC ajax success function index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:87
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:143
Revision is 580548585 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:163
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:167
NP Queue is empty index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:170
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 98 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548584 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 97 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548583 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 96 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548579 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 95 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548578 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 94 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548576 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 93 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548572 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 92 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548570 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 91 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548569 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 90 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548567 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 89 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548566 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 88 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548564 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 87 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548563 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 86 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548562 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 85 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548561 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 84 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548559 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 83 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548557 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
Match found index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:287
Diff queue length is: 82 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:307
Uncaught TypeError: Cannot call method 'slice' of undefined index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:384
Revision is 580548550 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 81 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548542 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 80 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548540 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 79 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548539 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 78 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548538 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 77 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548537 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
Testing for a match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:259
No match index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:276
Diff queue length is: 76 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:282
Revision is 580548534 index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:211
Still latest, pulling full content index.php?title=User:Darkwind/DAVT.js&action=raw&ctype=text/javascript:236
This would allow persistent whitelisting without having to store the data on a wikipage
goog.ui.ActivityMonitor for an idle timeout instead of just x minutes of usage
For structure of option interface
For queues
Filter by
User group (sysop, rollback, etc.)
Edit count
Creation date (?)
Warning status (?)
Currently the tool just stops after 90 minutes, to avoid indefinite resource drain if the user isn't present. Instead of stopping at that time, it should prompt the user whether to continue.
Optionally, a user-configurable option can be offered to control this timeout - possibly with a maximum value hard-coded.
at line 272 (downloading diff content)
When the page is open too long, the edit token becomes invalid (this appears to be related to the same "loss of session data" error one gets occasionally while editing).
To resolve this, get an edit token before each talk page edit instead of once when loading the page.
This will involve removing all hardcoded instances of the site URL, as well as language text such as "hide", "show", "Edit matches..." etc.
Implement some kind of "remove this and everything above it" a la Lupin's original tool
To "spread the word", so to speak.
Navigation popups don't work in general on the tool page (although I've gotten them to pop up once in a while).
For some reason, revert-and-warn is only leaving lvl 1 warnings regardless of existing content on the user's talk page.
See if there's a way to turn the user talk page links red if it doesn't exist -- for welcoming purposes
In the case where you dismiss a diff from the middle of a sequence, dismiss with prior from farther down doesn't remove everything.
For example: 1 2 3 4 5 6. If you dismiss 3, then try to dismiss+prior on 6, it will only remove 4-6, and 1-2 will still be there.
The tool is currently unable to recognize uw-*4im warnings, and proceeds as if the 4im was not posted at all.
This is because the current warning detection regex looks for a number 1-4 immediately followed by the closing -->, and should be resolved by enhancing the regex to also catch 4im-->, and then use switch/case to convert the string (e.g. 1, 2, 3, 4, 4im) to a warning level.
A warning should not be left on the vandal's talk page in these situations:
Similar to huggle - would involve performing the rollback via API, then checking user talk for the presence of a comment with a uw- tag, and either popping the TW warning dialog, or just appending the next uw- tag (probably uw-vandalism only if we auto-append).
Lupin's tool used to track vandals on whose edits you clicked the rollback link, and then it would always show their future edits even if they didn't match the filter.
Timestamps on each diff display only function erratically and are often shown as 00:00:00. They should reflect the UTC server time of each edit.
Instead, a link to tag for CSD maybe?
Design an easier way to change user options -- currently, each user must edit variables manually in a code snippet in their user .js file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.