472

No more re-typing the same comments over and over!

This script adds a little 'auto' link next to all comments boxes. When you click the link, you see a popup with 6 configurable auto-comments (canned responses), which you can easily click to insert.

This script was inspired by answers to this question on meta.

Thumbnail

Features

  1. Read your comment before you post it!

    Note that the dialog only inserts the text, it doesn't send the comment, nor does it flag anything; this is so that you can check the text before posting!

  2. Customize the texts

    Simply double click on a comment text or description in order to customize it. Hit the 'reset' button if you screw up. This customization is currently per-site. Note that the "Welcome to $SITENAME$" text is automagically inserted if the user is 'new' (member for less than a week), so you don't need to add that to your custom text (but you can if you want to, see '9' below).

    If you need more/less than the default 6 comments, just carry on reading...

  3. Quick user info

    The dialog also includes a mini-summary of the user's activity (because if they haven't been back in months, there's no point writing them a comment).

  4. Automatic notification of new versions

    The script will also notify you if a newer version is created.

  5. Import/export of custom comments

    This helps with transferring custom comments between sites. The export/import 'format' is also conveniently presented as markdown, so you can post it in an answer below, and let others benefit from your words of wisdom.

    Note that you can also use the Import to create an arbitrary number of comments (the default is 6). If there are too many, you can use the show/hide desc link to gain a bit of space.

  6. Remote source for comments

    If you get bored with copy/pasting your comments between sites and/or computers, you can use the 'remote' button to define a remote source for your comment texts. See here for more details.

  7. Differentiated comments for questions/answers

    If you prefix your comment title with [Q], it will be only displayed for questions ([A] for answers). Non-prefixed comments are displayed for both.

  8. [type here], [username] & [OP] (& $MYUSERID$)

    If the text [type here] is included in a comment, it will be automatically selected for completion when inserted. [username] will be replaced with the user's name (or just 'user' if nothing was found), and [OP] with the original poster's name (if found, else 'OP'). Also, $MYUSERID$ will be replaced with your user id for the current site.

  9. Customise welcome message

    The default message is "Welcome to $SITENAME$" - which is shown for any 1-week-old users. By clicking on the 'welcome' link at the bottom of the popup, you can opt to change this message, or leave it empty to show no messages at all. You can also 'force' the message for older users on a one-off basis. This is per-site.

    Screenshot

Installation, other info

Development of this app is being coordinated over on GitHub.
Please see the relevant sections over there to:

You may also download the code and run the build process yourself to generate the userscript version as well as Chrome, Firefox and Opera extensions that you can install locally if you'd rather not use the store versions.

Note: Can be used in tandem with my other user script.

Please report new issues or feature requests on our issue tracker!

23
  • Why isn't the Chrome extension hosted on WebStore? Dec 3, 2013 at 2:58
  • 8
    @Derek朕會功夫, because I resent the fact that Google are forcing me to pay to give something away.
    – Benjol
    Dec 3, 2013 at 5:51
  • @Benjol - I have packed it into an extension: chrome.google.com/webstore/detail/… :) Dec 3, 2013 at 21:53
  • 1
    How do I use this script to send an @message to the OP? Could you make this script automatically replace the spaces in OP's name when using @[OP] or @[username] anywhere in the prefilled comments?
    – joeytje50
    Jan 27, 2014 at 3:54
  • 1
    @joeytje50. @[OP] works, but if they've got spaces in their names, you'll just have to make do, I'm afraid. Or hack the script yourself a bit.
    – Benjol
    Jan 27, 2014 at 6:57
  • This app is amazing! One thing I'd like to try is to have an auto link (similar to the $SITEURL$ shortcut) to get the link to edit a post (to suggest new users to use the edit button). Is it possible to do this?
    – Edlothiad
    Feb 16, 2017 at 14:10
  • @Edlothiad, I don't see exactly how, to be honest (especially if it has to be able to handle questions & answers)
    – Benjol
    Feb 17, 2017 at 8:27
  • I dunno what broke, but for Stack Overflow, it's saying "Welcome to Where Developers Learn, Share, & Build Careers!" i.stack.imgur.com/6aldX.png :-D Feb 3, 2018 at 8:40
  • @BhargavRao, click on the Welcome link at the bottom, I think you can adjust your welcome message there. This should only appear for new users, I think.
    – Benjol
    Feb 8, 2018 at 14:05
  • @Benjol, Yup, I adjusted that. It used to say "Welcome to Stack Overflow" earlier. I think this is related to why it's picking up that message automatically - meta.stackoverflow.com/questions/351540/… Feb 9, 2018 at 1:19
  • This question is being discussed here. Sep 4, 2018 at 18:42
  • @BrockAdams I don't think that the section you added does much good, because I filed an issue there at the GitHub link only to be told that the script is no longer being maintained.
    – gparyani
    Sep 30, 2018 at 6:52
  • @gparyani, provide a link. The code was just updated 10 days ago. At first glance it looks like it's being maintained at least somewhat. Sep 30, 2018 at 7:57
  • 2
    IIRC There used to be a Firefox addon, but we gave up chasing after the moving goalposts.
    – Benjol
    Feb 15, 2019 at 10:43
  • 1
    @41686d6564standsw.Palestine, I - and the other people who maintained it - got older. There's an unattended git repo here: github.com/Benjol/SE-AutoReviewComments
    – Benjol
    Oct 28, 2022 at 7:30

57 Answers 57

50

Please report new issues or feature requests on our issue tracker!

The work on making this a full-blown GitHub based project originally outlined in this answer is now complete. All further feature requests and bug reports should be directed at the GitHub issue tracker.

And if you had raised an issue in the comments or answers below, and it's still unresolved, please open an issue on the GitHub project page.


I have taken the liberty of doing some organization.

  1. I have created a full blown Github repo here. The master branch is the latest from benjol's gist and all commit history is included. The master branch can be installed from this alternate location as a userscript using this url. This should make it easier for others to fork and send pull requests with changes back upstream.

  2. I have created branches that include all the gists that had been forked off of this and merged in those commits. Most of these are behind master and would need rebasing, but at least no work will be lost in the shuffle and this should make it easier to review and integrate their work.

  3. I have created a fork of my own and selectively merged in changes from the branch that came from Izzy's work in gist. His work includes changes so that custom comments are stored and retrieved per-site, but it also included his default comments hard coded in. I cherry-picked just the functional stuff and made a few tweaks. I have tentatively called this 1.4.0-beta1 and can be installed as a userscript from this link. There are some known bugs still but when it's ready I'll submit a pull request and maybe these can be merged into master.

This was just leg work to get everything cleaned up and manageable using a full repo instead of gists which were gitting out of hand.

1
  • 1
    Why this isn't part of the main site instead of browser add-on? Users will find this very useful if this was part of main site.
    – mangupt
    Apr 18, 2021 at 4:54
52

Future ideas: use HTML5 storage to allow users to create/modify their own messages.

enter image description here

  • double click on a title or description to modify
  • save/cancel
  • 'reset' link at bottom of popup (not shown above) resets all custom messages to default

Important

  • The 'Welcome to SiteName!' text is prepended automatically if the user has been member for less than a week.
  • This uses HTML5 Storage, so custom texts only work on the site where they were entered.

NOTE

With this modification, there is no longer any reason that this userscript should be strictly limited to 'review'.

10
  • 8
    How can I make it so that it doesn't say "Welcome to Stack Overflow!". I really don't want this.
    – casperOne
    Dec 29, 2011 at 23:12
  • @casperOne, no, not at the moment, sorry. You could hack it out of the script manually. (It only shows for 'new' users)
    – Benjol
    Jan 3, 2012 at 6:43
  • I second @casperOne's request. I'd really like that "Welcome" noise to be optional. Can this be made an option? Either global, or using [magic] tags for each comment as you do elsewhere? Mar 28, 2012 at 3:26
  • @CodyGray, it's status-planned (hidden in the comments here), no promises about when, though (to be honest, the main 'problem' is deciding how to present the option). Do you think that making it optional/configurable per comment makes sense?
    – Benjol
    Mar 28, 2012 at 4:58
  • Not necessarily. I just thought that might be easier to implement; you know, the "lazy developer's response", as you put it. I'd be perfectly content with it being a global setting. Maybe better yet, this would all be configurable per site. So I could disable the welcome text on Meta.SO, but leave it enabled on the SE 2.0 sites. In the same way, the name used for each site would be customizable to make Jon Ericson happy. Mar 28, 2012 at 5:16
  • @CodyGray, ok, thanks for the feedback. Pending implementation, you could comment out line 234... BTW, while I have your ear, what would you think of the idea of providing a per-site option to dynamically load comments from an external source (e.g. Dropbox)?
    – Benjol
    Mar 28, 2012 at 6:18
  • You mean so that the comments could be shared with other users on that site; for example, so that moderators could easily synchronize with one another? Or do you mean for each person's private use? The former would be really cool, but I don't think I'd get much use out of the latter. Not sure what it would hurt, though. People might like to share their customized comments between multiple machines, like home and work. Mar 28, 2012 at 6:34
  • Mostly the latter two reasons, though the first use case would be covered too. If you have broadly the same comments across multiple sites (and machines), currently you have to copy/paste manually every time you modify something. I did experiment with using global storage for this, but the code is very unwieldy (and it needs two scripts)
    – Benjol
    Mar 28, 2012 at 6:55
  • @CodyGray, stackapps.com/a/3281/876 :)
    – Benjol
    Mar 29, 2012 at 9:46
  • @casperOne, forgot you'd left that comment, your welcome message request is not status-completed, if you hadn't already noticed!
    – Benjol
    Feb 9, 2013 at 22:06
27

(used this fix in V1.2.9)

Some people are experiencing a problem where the auto link does not appear. This has to do with the fact that the DOM elements on which the selector is based are dynamically loaded into the DOM.

The workaround for this is to change line 683 to:

setTimeout(function() {
    $('#' + divid).find('.comment-help-link').parent().append(newspan);
}, 10);

Basically this is just a minor time out before trying to add the link, which should not be noticeable.

I'm not 100% sure about the 10 milliseconds, but it works for me (Chrome Canary). If it still doesn't appear for you try 100 milliseconds or something like that.

22
  • You said it yourself :) If you catch balpha in chat, please try asking him (he helped me last time they 'screwed up'). If I see him first I'll do so...
    – Benjol
    Jul 25, 2013 at 4:37
  • I may have found a culprit, following up now :)
    – Benjol
    Jul 25, 2013 at 6:34
  • You were not suppose to read that chat message ;-) In all seriousness I doubt the fact there is console output is what makes things go wrong. Then again I suck as you noted so I may be wrong about this :-D
    – PeeHaa
    Jul 25, 2013 at 7:59
  • By status-planned, does it mean that we'll have to reinstall it after it's completed, or automatic? And will the customisation be reset to the default? .
    – user21593
    Jul 27, 2013 at 9:09
  • This doesn't work for me in Firefox 22 Jul 28, 2013 at 17:03
  • @CodyGuldner Have you tried with a higher timeout?
    – PeeHaa
    Jul 28, 2013 at 17:09
  • Whoops. Forgot to enable greasemonkey ;) Jul 28, 2013 at 17:28
  • You can hardly blame me for that ;-) @CodyGuldner
    – PeeHaa
    Jul 28, 2013 at 17:59
  • Worked fine for me, too, with FF 17 on Ubuntu and Vista (default timeout kept).
    – Izzy
    Jul 29, 2013 at 8:33
  • Works well. Chrome Ubuntu. Jul 30, 2013 at 15:48
  • Worked for me. FF22 Win8
    – Jamiec
    Aug 2, 2013 at 14:29
  • @Dimension10, it means I was hoping for a tip from the dev team to help me avoid this hack. None forthcoming, so I'll go with this from PeeHaa, holding my nose at the same time :) Sorry I didn't answer sooner, you didn't @ me...
    – Benjol
    Aug 12, 2013 at 10:24
  • @Benjol: So does that mean I have to reinstall, and that the customisation will be set to the default?
    – user21593
    Aug 12, 2013 at 10:39
  • 2
    @Dimension10: the script auto-checks for updates everyday, so you can just wait. A new version will not override any customization of comment texts, no.
    – Benjol
    Aug 12, 2013 at 11:28
  • @Benjol: No, it's still not working...
    – user21593
    Aug 14, 2013 at 13:26
26

(GitHub issue)

Can we have the auto link appear when completing a custom "off-topic" closure reason?

Bonus points if we can declare certain auto-comments to apply in this scenario (e.g. mirroring the "A" and "Q" prefix for answers and questions). Perhaps "C" for closure reasons?

example

0
18

There are two 'major' changes to V1.2.2

'Remote' comment source

You can now define an external source for your comments, and 'import' them. This means that you don't have to manually copy comments from site to site and PC to PC.

To do this, you click on the 'remote' link; enter the url for your data source; then click on 'get now'.

The data source must be formatted as jsonp. There is a new 'jsonp' link in the import/export dialog which will create the appropriate jsonp from your existing comments.

It is also possible to automatically invoke it every time you open the dialog, by selecting the auto-get checkbox. I'm interested in feedback on this.

'Broadcasts'

I've added a function to be able to 'broadcast' messages without changing the code. The intended use for this will be to ask for feedback on proposed future changes. Taken this off-line again, it was not completely thought-through and you had to dismiss on every site... (sigh, no global storage)

16
  • Where do you recommend storing the comments for the external source? Github maybe?
    – Kit Menke
    Apr 5, 2012 at 16:20
  • @KitMenke, for testing I used DropBox, the poor man's web server.
    – Benjol
    Apr 5, 2012 at 17:59
  • If you could have it automatically update the remote sources, that'd be great.
    – jrg
    May 15, 2012 at 22:44
  • @jrg, I'll bear it in mind. For the moment, you could try this (I haven't tested): at line 581 add this code: LoadFromRemote(GetStorage("RemoteUrl"), function () { WriteComments(popup); });
    – Benjol
    May 16, 2012 at 4:54
  • 1
    @jrg, actually, don't. There seem to be problems with parallel ajax queries here. While trying the next version I found the comments sometimes just disappear and never come back.
    – Benjol
    May 23, 2012 at 12:21
  • @Benjol I'm glad I did try that then. :P
    – jrg
    May 23, 2012 at 12:28
  • Has this evolved any? Is local storage used? I probably don't want a remote call every time I use the script (which is often), but once per browser session would be great. (I plan on using an Github Gist, btw.)
    – Raphael
    Jan 19, 2016 at 14:22
  • @Benjol, could the remote comment source be expanded to sync all md files in a given github repo?
    – Tobi Nary
    Mar 11, 2016 at 23:22
  • @SmokeDispenser, you'll get more luck on github (though I haven't done much work on the extension recently)
    – Benjol
    Mar 14, 2016 at 7:09
  • Has anyone managed to get this to work with a GitHub repository, I have tried to get this to work with this repository but when I try and use the plugin to pull the jsonp down it never completes. May 6, 2016 at 21:28
  • 4
    Just in case anyone else is looking to do this, if you want to store your JSONP on GitHub you will need to use the file extension .js and then use RawGit to serve the content up using the correct, executable, mime type. May 6, 2016 at 21:37
  • Where is the "remote" link this comment asks me to click on? All I see is the "auto" link next to the comment box.
    – Noumenon
    Jun 6, 2016 at 16:07
  • @Noumenon, it's after you've clicked on the auto link that you'll see the remote link.
    – Benjol
    Jun 7, 2016 at 5:16
  • @RichardSlater Thanks Richard! I was finally able to get this working with your steps.
    – JeffC
    May 22, 2017 at 19:40
  • 1
    RawGit says it is going away, is there another way to set the content type from Github? Aug 17, 2021 at 0:06
15

I'll drop my setup here.

###Comment as answer
__This is not a forum. Please only use the 'Post Your Answer' button if you can answer the asker's question; <a href="http://gaming.stackexchange.com/privileges/comment">post a comment</a> otherwise.__ We require some <a href="http://gaming.stackexchange.com/faq#reputation">reputation</a> before you can comment others' posts to prevent abuse; why don't you try and get some by <a href="http://gaming.stackexchange.com/unanswered">answering a question?</a>

###Question as answer
__This is not a forum. If you have a different question from the asker's, please use the <a href="http://gaming.stackexchange.com/questions/ask">Ask Question</a> button__ instead. You don't even have to login!

###Upvote as Answer
__This is not a forum. If you wish to thank somebody, you should <a href="http://gaming.stackexchange.com/privileges/vote-up">vote him up</a>.__ We require a little bit of <a href="http://gaming.stackexchange.com/faq#reputation">reputation</a> before you can do that to prevent abuse; why don't you get some by <a href="http://gaming.stackexchange.com/unanswered">answering a question?</a>

###Not a Real Question
This is not a forum; __this is a questions and answer site, and I'm afraid your post isn't really a question, because <a href="http://blog.stackoverflow.com/2011/01/real-questions-have-answers/">real questions have answers, not items or ideas or opinions</a>.__ <a href="http://gaming.stackexchange.com/faq">Please read the FAQ for more information.</a>
11
  • They should automatically generate such 'comments' when you flag something
    – Ivo Flipse
    Mar 2, 2011 at 14:30
  • 1
    watch out, because the "Welcome to SiteName" is automagically added if the user is 'younger' than a week.
    – Benjol
    Mar 2, 2011 at 16:54
  • @Benjol Oh, I guess I shouldn't have messed around on a totally random post after all :)
    – badp
    Mar 2, 2011 at 16:57
  • 3
    Posting setups is a good idea though
    – Benjol
    Mar 2, 2011 at 17:02
  • 2
    I've added an import/export function which will make pasting setups like this easier, and also allow you to copy between sites (and/or browsers). I'm starting to like your list more than my own :)
    – Benjol
    Mar 4, 2011 at 10:29
  • How can I import your list?
    – RolandiXor
    Sep 17, 2011 at 16:24
  • @Roland Copy paste? :/ I no longer have this extension installed.
    – badp
    Sep 17, 2011 at 21:50
  • Either way, importing comments doesn't seem to work for me :(... thanks for the "help"
    – RolandiXor
    Sep 17, 2011 at 22:09
  • Love it. Thanks for the additional comments. Using them now! Sep 29, 2011 at 18:09
  • @badp - You now have to log in to ask questions; I've fixed this for you. Dec 1, 2011 at 0:05
  • @KevinVermeer That's SO only
    – badp
    Dec 1, 2011 at 0:07
12

Can comment text please be collapsed/hidden by default and only expanded for the currently chosen option? This would work kind of like the 'more info' link in the faq which pops out when you click it. (My dialog is getting pretty big now and this would really help!)

Example mockup

As already said by many others - thank you so much for this script!!

2
11

I felt limited by only six comments, so I made some small improvements.

Implemented the following features:

Head list items are intended for users, sub list items are intended for developers.

  • Allow the user to enter an unlimited amount of comments. (Add them in import/export)

    • Based the script on the local storage, while using comments only for initial data or to reset.
    • Refactored duplicate code & checks as comments behavior is replaced by localStorage.
       
  • Scrollbar for when the amount of comments exceeds the standard height.

  • Added a link to allow the user to toggle the visibility of descriptions.

    • This is remembered by using the local storage.
       
  • Improved see-through behavior by hiding title and buttons and making it more transparent.

  • Fixed invalid info: "User info detection doesn't work on CW answers, nor with deleted users."

    The box now either shows "This user is not registered." or hides.

  • Fixed greeting consistency, it's now added again after editing comments.

Old version:

Please make sure that both versions do not conflict.

Download Old Version | Source

10
  • Fixed a bug with incorrectly loading the visibility of descriptions. Works 100% now... :-) Mar 5, 2011 at 21:27
  • Fixed a bug where you were unable to click the option bullet or edit the entry after import/export. Mar 5, 2011 at 21:45
  • Attempted to fix a bug where "Welcome to SITENAME!" was inserted twice, doesn't reoccur... Mar 5, 2011 at 21:46
  • Spotted a bug: In-line editing a greeted comment saves the greeting within the comment. I won't fix this... Mar 5, 2011 at 21:55
  • 2
    Tom, they say imitation is the sincerest form of flattery, so I'll forgive you suggesting people remove my script! :) Not sure if I'll have time to look at this today, but I'll work through your modifications and see whether/how I might integrate them. I think it would be interesting if you could 'export' your comments and paste them here, like @badp did.
    – Benjol
    Mar 7, 2011 at 7:19
  • Pastebin - Still an early version as I haven't made much auto-comments, but it does the job. Yeah, I don't mean to replace you work, made some improvements to make it more usable to me and thought about sharing the changes. Also, I learned how local storage works in extensions because of you... :-) Mar 7, 2011 at 15:47
  • 3
    @TomWij, V1.0.8 integrates all your modifications (except that I just hide userinfo if I can't find any).
    – Benjol
    Mar 17, 2011 at 13:30
  • @Benjol: V1.0.8 has a bug re: greeting, opening the dialog a second time prepends a second greeting.
    – Hasturkun
    Mar 28, 2011 at 17:02
  • @Hasturkan: Oh, it's still there? Can you tell us how to reproduce this? I thought I got it fixed here... Mar 28, 2011 at 17:09
  • @Hasturkan, @Tom. OOps! Must have missed that one. Fixing now... (Another side effect is that if you open the second time on an 'old' user, you still get the greeting)
    – Benjol
    Mar 29, 2011 at 4:37
9

Doesn't work on superuser.com (only www.superuser.com) because it includes only domains with a period like so:

http://*.superuser.com

and should be

http://*superuser.com
2
  • [status-completed], let me know if you find any others.
    – Benjol
    Mar 4, 2011 at 6:09
  • @Benjol Great and fast response! ;)
    – Pylsa
    Mar 6, 2011 at 13:07
7

Feedback:

The definitions of the sites are not all-inclusive. For instance, the link doesn't show up on stackapps ;)

0
7

Another future idea: expandable groups of comments similar to the way Close>Off-Topic opens a list of sites.

3
  • 1
    Implementation thoughts: See my answer for a local storage based extension. Use a new syntax (eg. ##) that when read is stored as a comment with description "header", then when reading such comment you could embed all subsequent non-header comments and easily have expandable groups. Mar 4, 2011 at 18:19
  • This is how I do this now. Not going to implement this myself because I dislike an extra click... Mar 4, 2011 at 23:23
  • this is [status-completed] if you accept Tom's way of doing things (which I've integrated into my script)
    – Benjol
    Mar 27, 2011 at 8:13
7

(something equivalent, anyway)

I see a couple of comments here suggesting that Benjol is thinking of making the Welcome message configurable.

This is a formal request for that feature.

On Skeptics.SE, we have a meta-post which is a Welcome to New Users FAQ, and explains some of the ways Skeptics.SE differs from other Stack Exchanges. I have experimentally forked this code, just to make the Welcome message include a link to this meta-post.

Unfortunately, my JavaScript skills are too dodgy to make it customisable and offer it back to you as a patch. (The customisation strikes me as particularly tricky for the troublesome few that moderate multiple Stack Exchanges.)


Suggested presentation:

This is only a suggestion - incorporate it into the existing options file. It is a bit ugly, but I think better than having a whole separate config system.

~~~ This is comment text. This line represents the default.
Welcome, my dearest new friend, to $SITENAME.

~~~[skeptics] Using the same 'restriction' notations as [Q] and [A], this overrides the default for one site.
[Welcome to Skeptics](http://meta.skeptics.stackexchange.com/questions/1505/welcome-to-new-users)!

An alternative would be to put it all on one line, but then the [qualifier] notation would conflict with the [link]() notation.

0
5

I forked the script to create some quick-insert buttons.

Given how often I make use of this, I wanted to save the extra click.

enter image description here

2
  • Nice, I'll 'advertise' it above, and consider including it in the next version (if I can work out how to pull/merge!)
    – Benjol
    Oct 16, 2013 at 4:38
  • 2
    @Benjol The implementation is dirty. If you would want to put this in your version, it could be improved. You can check the diff to see what I did. I had actually forgotten to push my changes :P Oct 16, 2013 at 10:35
4

Can you also add the auto link on the flag review page of 10k+ users? Especially when going through the "not an answer" flags there are tons of "thanks" and "question instead of answer" posts.

Update: To get it working, there are only minor changes needed:

  • Enable the script for /tools* on the various sites
  • Add .mod-post-header to the delegate list for the click event:

    $(".question, .answer, #questions, .flag-container, .mod-post-header").delegate(".comments-link", "click", function () {
    
5
  • For that you'll either have to a) wait a few months until I hit 10k, b) hack the script to get what you want and send me the correction :)
    – Benjol
    Mar 26, 2012 at 4:39
  • What about me sending you a screenshot of the HTML code of the 10k page after an answer has been loaded (they are loaded via AJAX)? ;) Mar 26, 2012 at 7:55
  • ThiefMaster, can I assume you've tested that? :)
    – Benjol
    Mar 26, 2012 at 9:05
  • Yes, works fine for me Mar 27, 2012 at 11:58
  • ThiefMaster, included in V1.2.1
    – Benjol
    Mar 27, 2012 at 12:19
4

Small bug: I haven't figured out at which point this happens exactly, but the script seems to be over-enthusiastic adding the "Welcome" prefix:

Welcome to $SITENAME$! Welcome to $SITENAME$! Welcome to $SITENAME$! The code you show is vulnerable to SQL injection. Use the proper sanitation method of your library (like mysql_real_escape_string() for the classic mysql library), or switch to PDO and prepared statements.

Unless you already know what causes this, I'll keep an eye on it and report back.

2
  • I've been using this script for a while, and I've never seen this. Strange. Where did it happen? Dec 1, 2011 at 0:07
  • @Pekka, I'm convinced I never saw this post in my inbox. I only just discovered it now! I corrected this bug a while back, I believe....
    – Benjol
    Mar 29, 2012 at 8:21
3

Future idea: include an 'auto-update' function which polls for new versions and notifies user (with anti-nagging functionality).

2
  • 1
    [status-completed], but I've just this minute thought of a bug. It uses localStorage, so it's going to nag you on every single site where you use it :(
    – Benjol
    Mar 1, 2011 at 14:57
  • 1
    Fixed that bug in v1.0.5
    – Benjol
    Mar 3, 2011 at 7:38
3

In GreaseMonkey the Name of the Script is AutoReviewComments but the name of the StackApp is Pro-Forma comments.

This makes it very hard to find the app (once you forgot its name :D).

Maybe those could be named equally?

0
3

Request: I see a lot of newbies post a comment saying "Thanks this worked perfect for me. It's exactly what I need" on an answer to their question, yet they do not mark the answer as accepted. [username] plugs in the username of the answerer when posting on an answer, but it would be helpful to also include an [OPusername] (or something to that effect) to be able to @ the original question asker on a specific answer.

i.e.

"If this answer is helpful to you, [OPusername], then please consider marking it as the accepted answer so others may more easily find it in the future. This is also a polite way to thank the person answering your question for helping you out."

2
  • 2
    Implemented, but using [OP] instead of [OPusername]
    – Benjol
    Nov 1, 2012 at 6:38
  • 1
    @Benjol The current [OP] implementation copies the user's name directly. Could you maybe add another one which adds it in a way usable as a @ tag (e.g.: [@OP])?
    – kiri
    Feb 14, 2014 at 11:00
3

Can $SITENAME$ be changed for Christianity? Here's what a comment to a new user reads:

Welcome to Christianity! ...

Which sounds pretty creepy. For one thing, most folks who stumble into the site are already affiliated with some faith, which might or might not be Christianity. For another, it sounds like we are a cult or a church. We aren't.

Could $SITENAME$ be changed to "Christianity—Stack Exchange" or "Christianity.SE"?

(I haven't tried to adjust the messages myself, but besides being a bit tedious, it probably would be best to not have new users of the script sending the wrong signals.)

It's less of a concern, but I think it would be odd to see messages like:

Welcome to English! ...

or

Welcome to Parenting! ...


I forked a version and made the following changes at line 67:

if(sitename == "Stack Exchange"){
  sitename = arr[arr.length - 2]; //workaround for SE sites..
  greeting = 'Welcome to ' + sitename + '—Stack Exchange! ';
  sitename = sitename + '.SE';
}

That way, the "Answers just to say Thanks!" comment reads:

Welcome to Christianity—Stack Exchange! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Christianity.SE way of saying thank you.

The same comment on SO reads:

Welcome to Stack Overflow! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Stack Overflow way of saying thank you.

11
  • Welcome to Stack Apps! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Stack Apps way of saying thank you. Mar 6, 2012 at 21:30
  • 1
    Typically lazy developer's response, how about *%SITENAME%*?
    – Benjol
    Mar 7, 2012 at 7:13
  • OK, that won't work for the Welcome bit (I'd have to code that up), but would it be a viable alternative?
    – Benjol
    Mar 7, 2012 at 7:15
  • Welcome to Stack Apps! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Stack Apps way of saying thank you.
    – Benjol
    Mar 7, 2012 at 7:15
  • I'm loath to do more than that, because there's a risk of getting negative feedback from other users who are happy with the current functionality (unfortunately I haven't yet coded a 'feedback' function in this script!). Let me know what you think.
    – Benjol
    Mar 7, 2012 at 7:37
  • @Benjol: Yes, that would help. In fact, it would clarify some of the other messages, now that I see it in action. ;-) I wonder if it would be possible to add a variable suffix (which would default to the null string) at least for the Welcome portion. (I really do like the work you've done with this. If I have to type a few extra letters once in a while, it will still be a huge win for me.) Mar 7, 2012 at 16:55
  • Jon, how do you see the variable suffix? Could you give me some examples, and maybe an idea of how/where you'd modify it?
    – Benjol
    Mar 8, 2012 at 5:50
  • @Benjol: I was thinking of something like: 'Welcome to ' + sitename + sitesuffix + '! ' in the place where you construct the greeting. Then I would want to configure it somehow (I don't really know JavaScript) to set sitesuffix = '—Stack Exchange'. Does that make any sense? Mar 8, 2012 at 17:15
  • 1
    the way I'm thinking about it right now, I think I'd be tempted to make the whole greeting configurable (there are some people who don't like it). I've got a few other changes in the pipes, so this may take a while. In the meantime, if you want to do a personal hack while you're waiting, you need to track down the user-script file, go to line 66, and replace sitename = arr[arr.length - 2]; with sitename = arr[arr.length - 2] + 'your_suffix_here';. After saving, you'll need to F5 in your browser to see the difference...
    – Benjol
    Mar 9, 2012 at 6:44
  • @Benjol: Thanks for your help. I'm not sure how widespread the script is outside of SO, but I think my change will help me on other Stack Exchange sites. Mar 9, 2012 at 20:06
  • 1
    Looks good to me, watch out, I've got a new version coming up, you'll need to rebase your fork :)
    – Benjol
    Mar 23, 2012 at 14:56
3

Bug: if my comment contains &, when I insert it it will insert &amp; instead.

Preview

enter image description here

Result

enter image description here

Import/Export

enter image description here

4
  • I've got a correction for this, I'm just waiting a bit to see if there aren't some other fixes that I can fit into the next version too.
    – Benjol
    Jul 3, 2012 at 11:16
  • @Benjol am I supposed to do anything for the script to update? Because I still experience the issue.
    – Oak
    Jul 17, 2012 at 17:46
  • 1
    Oak, the script should check for a new version every day, and send you here to install it. If you've clicked on this link and it's still not working, then yes, there's a problem somewhere.
    – Benjol
    Jul 18, 2012 at 6:07
  • 1
    @Benjol right, my bad. Reinstalled and it's now fixed :)
    – Oak
    Jul 18, 2012 at 6:16
2

Can you add multiple pages of comments? Currently if you have a lot of auto comments, you have to scroll to see them, but it would be nice to be able to click next and previous to see lists of about 5 comments.

Also, the "see through" feature is cool, but it should be activated by a click, instead of on mouse over.

One more problem: Importing the comments seems not to save them.

6
  • Thanks for the feedback. Have you tried the show/hide description option? That should give you more room for seeing your comments without scrolling. Concerning importing the comments, they should save, but only on the current site. I haven't got cross-site sharing working yet. Maybe local storage is not blocked for you?
    – Benjol
    Sep 18, 2011 at 11:13
  • @Benjol the import didn't work even on the site that I imported on :(. Local storage is available (using Firefox 9).
    – RolandiXor
    Sep 18, 2011 at 12:54
  • and how about 'normal' edits (double click on a title/description)?
    – Benjol
    Sep 19, 2011 at 13:20
  • 1
    Hang on, is that Firefox 9 an upside-down six?!
    – Benjol
    Sep 19, 2011 at 13:32
  • @Benjol I didn't know about that before.
    – RolandiXor
    Sep 19, 2011 at 13:32
  • 1
    @Benjol nope; it's Firefox 9. I am from the future. You will have a good day tomorrow :). P.S. it works editing existing ones.
    – RolandiXor
    Sep 19, 2011 at 13:41
2

@Benjol You could add the extra set of comments that I use in-tandem with Phrase Express:


@<username> Please don’t use signatures or taglines in your posts. Every post you make is already "signed" with your standard user card, which links directly back to your user page


Shopping questions are off-topic as per the FAQ: it is not about a shopping or buying recommendation


3
  • did you see that you can customize (per site) your messages (double-click to edit), or do you mean that 6 isn't enough?
    – Benjol
    Mar 2, 2011 at 18:06
  • @Benjol oops, feel like a doofus now - I missed the customization note Mar 2, 2011 at 18:10
  • it's my fault, the 'documentation' isn't keeping up with the development - fixing now...
    – Benjol
    Mar 3, 2011 at 5:38
2

As posting setups was mentioned being useful, here is mine:

###[Q]App recommendation
Please note that recommendations like *Is there an app for X* are off-topic here (see [What topics can I ask about here?](http://$SITEURL$/help/on-topic) for details). For where your question might fit better, you might want to look into [Where can I ask questions that aren't Android Enthusiast questions?](http://meta.android.stackexchange.com/q/371/16575)

###[Q]Development question
This site is for users of Android, which means that questions about development/programming are off-topic here (see [What topics can I ask about here?](http://$SITEURL$/help/on-topic)). Development questions are on-topic on our sister site [Stack Overflow](http://stackoverflow.com/questions/tagged/android).

###[Q]More than one question asked
The question-and-answer format of this site works best if you put each question in a separate question post. Please edit your post down to one question, and create new posts to ask any further questions. You'll get better answers that way.

###[Q]OP providing facts in a comment
The best way to add additional information to your question is by editing it, with the **edit** button. It is better visible that way, and comments are mainly for secondary, temporary purposes. Comments are removed under a variety of circumstances. Anything important to your question should be in the question itself.

###[A]OP adding a new question as an answer
Remember this is a Q&A site - so keep on editing your question with new information - this section is for actual answers. If you have another question, please ask it by clicking the [Ask Question](http://$SITEURL$/questions/ask) button.

###[A]OP using an answer for further information
This is a question-and-answer site, not a forum. Please use the **Post answer** button only if you have a solution to the problem, so that other users can see your question is not yet answered. You can click **edit** on the question to add more information to it.

###[A]Answers just to say Thanks!
Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient [privileges](http://$SITEURL$/privileges) to upvote answers you like, which is the $SITENAME$ way of saying thank you.

###[A]Nothing but a URL (and isn't spam)
Whilst this may theoretically answer the question, [it would be preferable](http://meta.stackoverflow.com/q/8259) to include the essential parts of the answer here, and provide the link for reference.

###[A]Comments as an answer (new users)
Please don't add comments as answers. Invest some time in the site and you will gain sufficient [privileges](http://$SITEURL$/privileges) to upvote answers you like, or to add actual comments when seeking clarification of any issues.

###[A]Comments as an answer (experienced users)
Please don't add comments as answers. Use actual comments when seeking clarification of any issues.

###[A]Answer that is a question
If you have another question, please ask it by clicking the [Ask Question](http://$SITEURL$/questions/ask) button. Include a link to this question if it helps provide context.

###[A]Requests to OP for further information
This is really a comment, not an answer. With a bit more rep, [you will be able to post comments](http://$SITEURL$/privileges/comment). For the moment I've added the comment for you, and I'm flagging this post for deletion.

###[A]Another user adding a 'Me too!'
If you have a NEW question, please ask it by clicking the [Ask Question](http://$SITEURL$/questions/ask) button. If you have sufficient reputation, [you may upvote](http://$SITEURL$/privileges/vote-up) the question. Alternatively, "star" it as a favorite and you will be notified of any new answers.

Entries #1 & #2 are specific to Android Enthusiasts, but similar cases might exist on other stacks, too.

2

It would be nice to have a place other than in these answers for us to share setups. Could you provide one and link it to the main post?

I thought about posting another question to deal with this, but wasn't sure if it belonged in stackapps or meta.stackapps.

6
  • Or meta Stack Overflow? Depends on whether you think there are standard cross-site messages. Some users seem to prefer to tailor their comments for specific sites. And, that aside, I think it is probably preferable for each person to craft their own, because that avoids the appearance of 'robo-commenting' - which seems to be the main fear that prevents this script being integrated into SE.
    – Benjol
    Jan 9, 2014 at 6:24
  • On reflexion, I think this should be done per site on their own meta. @Izzy did this very recently on SR
    – Benjol
    Feb 27, 2014 at 6:19
  • @Benjol if a robot can comment, then the comment should appear before the user can submit their post; However if everyone were to use and revise the "preferred language" I would think that would only add clarity as to what action needs to be taken and why.
    – virtualxtc
    Feb 28, 2014 at 8:26
  • @Benjol, site specific sets should also be kept; but given that most new users run into problems with the general SE format, I'd suspect there's still plenty of room for a pan-site list.
    – virtualxtc
    Feb 28, 2014 at 8:28
  • 1
    see here: github.com/Benjol/SE-AutoReviewComments/issues/6
    – Benjol
    Mar 3, 2014 at 10:03
  • @Benjol that would work for me!
    – virtualxtc
    Mar 3, 2014 at 11:24
2

I cleared my cookies yesterday, and lost all my saved comments. Is there any way to get them back?

I just tried restoring my cookies from a backup, it didn't help. Then I tried restoring my entire ~/Library/Application Defaults/Chrome/Default folder, it seemed to cause other problems (Chrome warned that it didn't shut down cleanly), and also didn't restore my auto-comments.

Where are the auto comments stored, maybe I can find that and manually copy them.

2

Here's a bug report.

I've attempted to add the following comment:

[**Please, don't use `mysql_*` functions in new code**](http://bit.ly/phpmsql). They are no longer maintained and the [deprecation process](http://j.mp/Rj2iVR) has begun on it. See the [**red box**](http://j.mp/Te9zIL)? Learn about [*prepared statements*](http://j.mp/T9hLWi) instead, and use [PDO](http://php.net/pdo) or [MySQLi](http://php.net/mysqli) - [this article](http://j.mp/QEx8IB) will help you decide which. If you choose PDO, [here is a good tutorial](http://j.mp/PoWehJ).

Which should render like so:

Please, don't use mysql_* functions in new code. They are no longer maintained and the deprecation process has begun on it. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

Instead, right after saving, it renders to

[**Please, don't use `mysql_*` functions in new code***](http://bit.ly/phpmsql)*. They are no longer maintained and the [deprecation process](http://j.mp/Rj2iVR) has begun on it. See the [**red box**](http://j.mp/Te9zIL)? Learn about [</a>*<a href="http://j.mp/T9hLWi">prepared statements*](http://j.mp/T9hLWi) instead, and use [PDO](http://php.net/pdo) or [MySQLi](http://php.net/mysqli) - [this article](http://j.mp/QEx8IB) will help you decide which. If you choose PDO, [here is a good tutorial](http://j.mp/PoWehJ).

Which renders as

Please, don't use mysql_* functions in new code*. They are no longer maintained and the deprecation process has begun on it. See the red box? Learn about prepared statements* instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

I suspect the asterisks are derailing it, but why should it care about it anyway? Does it attempt to also fix the comment before saving?


Edit

Seems like the Comment's markdown is parsed into HTML and then remapped to Markdown (why?!). Using's Chrome's console and editing the localStorage directly with

<a href="http://bit.ly/phpmsql"><strong>Please, don't use <code>mysql_*</code> functions in new code</strong></a>. They are no longer maintained and the <a href="http://j.mp/Rj2iVR">deprecation process</a> has begun on it. See the <a href="http://j.mp/Te9zIL"><strong>red box</strong></a>? Learn about <a href="http://j.mp/T9hLWi"><em>prepared statements</em></a> instead, and use <a href="http://php.net/pdo">PDO</a> or <a href="http://php.net/mysqli">MySQLi</a> - <a href="http://j.mp/QEx8IB">this article</a> will help you decide which. If you choose PDO, <a href="http://j.mp/PoWehJ">here is a good tutorial</a>.

Appears to fix the problem.

9
  • 1
    The answer to the 'why' bit is that I display the HTML in the popup. As to the fix... I'll look into it.
    – Benjol
    Oct 25, 2012 at 4:55
  • @Benjol wouldn't it make more sense to store the Markdown version as well? (Or at least implement a more robust HTML parser)? Oct 25, 2012 at 8:48
  • 1
    to be honest, I can't remember when or why I decided to store it as HTML. Whatever, I've got a pseudo-correction in the works (very pseudo, it skips transformations of * and ** if it finds a backtick in the middle).
    – Benjol
    Oct 25, 2012 at 8:54
  • @Benjol it seems as if the bug still persists! Even after updating to the latest version! Nov 7, 2012 at 17:32
  • Oh dear, you're right. I was sure it worked. Maybe I broke my correction, or didn't test it properly...
    – Benjol
    Nov 8, 2012 at 5:44
  • OK, I've tracked it down, but I'd like to wait a bit before doing a new version (in case new bugs crop up). If you want to correct this locally, go to line 343 and replace the first [^`] with ..
    – Benjol
    Nov 8, 2012 at 6:24
  • Alright, you should really consider packing it and shipping it over at the Chrome Market. It allows you to do stuff like push updates automatically etc etc. Nov 8, 2012 at 18:06
  • yes, maybe. At first glance it looks like a lot of administrative gumph. If I read correctly, I have to pay $5 upfront for something that I'm intending to give away? Or am I not looking in the right place?
    – Benjol
    Nov 9, 2012 at 5:37
  • @Benjol: Also, I've notice your extract function works the same (HTML vs Markdown wise), shouldn't it be presented in markdown rather than HTML? It would be lighter in file-size, and much closer to the intended result. Jan 24, 2013 at 9:20
1

Since you're fetching user info from the userpage, could you add in something to show whether the user is registered or not?

3
1

The same way we press Esc to close the list can we have Enter to add the comment directly instead of the button bellow the list?

My list is getting a bit big and every time I need to select a comment (in a small laptop screen mind you) I need to scroll to the comment, click, scroll down to the end, click to add the comment and the scroll back up on the page to where I was before.

Can this be fixed so Enter adds the comment directly without needing to scroll all the way down?

3
  • Not a bad idea, I'll look into it.
    – Benjol
    Mar 23, 2012 at 13:36
  • @Benjol great scrip, think it saves me 3 hours everyday! thx ;) Mar 23, 2012 at 13:51
  • Done in V1.2.0, let me know if you spot any problems!
    – Benjol
    Mar 23, 2012 at 15:01
1

The following message breaks the script, apparently due to the $ in backticks:

###jQuery-$
Did you know that you only have to write `jQuery` in its long form once? By wrapping your code in `(function($) { .... })(jQuery);`, you can use `$` no matter if `noConflict` has been used or not.
2
  • Wow, nice catch! Weird, because it's stored ok (as you can see if you re-open import/export). I'll look into it.
    – Benjol
    Feb 24, 2012 at 12:02
  • Did you know that you only have to write jQuery in its long form once? By wrapping your code in (function($) { .... })(jQuery);, you can use $ no matter if noConflict has been used or not.
    – Benjol
    Feb 24, 2012 at 12:45
1

Is it possible that you could save the comments in a file so that when the script is updated I don't lose my custom comments?

5
  • 1
    You shouldn't lose your comments when the script is updated - has that happened? But, to answer your question: hit the import/export button and copy/paste the text to 'somewhere safe'...
    – Benjol
    Dec 8, 2011 at 14:48
  • @Benjol yes I do lose them every time :(
    – RolandiXor
    Dec 8, 2011 at 15:21
  • I really don't understand how that can happen. If I look at the code, the only two places where I reset comment is if you hit the Reset button, or if the script doesn't find any comments there... Another thing you could try is installing the beta global-storage version (see last comments on my question above), this would mean you can 'push' your custom comments to global before updating, then 'pull' them down afterwards if they go missing.
    – Benjol
    Dec 9, 2011 at 5:42
  • Strange... I don't lose my comments when I update.
    – Kit Menke
    Jan 9, 2012 at 15:18
  • 1
    Note that you can now save your comments to a file, read here.
    – Benjol
    Apr 11, 2012 at 12:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .