User:Jack who built the house/Convenient Discussions





Convenient Discussions is a JavaScript tool providing a shell over the existing Wikipedia discussion system that allows the user to post and edit comments without switching to a separate page.

The full set of the script features includes much more:
 * creation of topics and subsections;
 * highlighting of new and own messages;
 * indication of the number of new messages since the last visit;
 * browser notifications about replies to the user's messages and comments in specific sections on opened pages (opt-in);
 * watching sections, which affects notifications and highlighting edits on pages that list revisions;
 * jumping to a specific comment from the watchlist and other pages that list revisions;
 * moving topics between talk pages;
 * autofilling the edit summary for comments with indication of the addressee of the comment;
 * saving comment drafts to restore the forms content after unexpected events such as browser crashes, accidental jumps to a different page etc.

The script allows the user to forget:
 * about the need to search the code for a place for a comment, count colons, type tildes and other markup;
 * about edit conflicts;
 * about reading talk pages through diffs;
 * about the need to completely reload the page and look for new messages with eyes, or even check the watchlist.

Usage
Although a generic version will be available soon, it's best to use versions that are configured to use on particular wikis as every wiki has its own peculiarities which the script can address. Depending on the wiki, they can exist as gadgets or user scripts.

The script is located at User:Jack who built the house/convenientDiscussions.js and can be loaded like this:

Compatability
To make the script compatible with the script displaying time in the local time zone (en:User:Gary/comments in local time.js), call the latter like this:

Data
Here's what the script stores, why, how, and how to delete the data. Note that you can delete all the data associated with the script in one click, by opening the script settings and pressing the button "Remove all script data" at the bottom.

Note that other scripts that you use on wiki pages, as well as side-wide scripts, may have access to this data too.

To execute the code in the "How to delete" column, open the browser's developer tools (done by pressing F12 in most browsers), switch to the "Console" tab, paste the code into the input and press Enter.

Feedback
If you have an account on Phabricator, post post bug reports and proposals there under the "convenient-discussions" tag. Otherwise post to the talk page.

Development

 * GitHub repository is used to store code.
 * Phabricator tag is used to coordinate efforts (post bug reports and proposals there, not at GitHub).
 * Toolforge has an automatically generated documentation.