User:Enterprisey/section-watchlist

Add sections to your watchlist!

Still under heavy development. Might lose data from time to time, and missing some features. Pretty usable nevertheless; feel free to try it and let me know what you think. I use it every day. Development status as of January 2021: before I announce this script more broadly, I want to finish the tickets labeled "beta".

How to use

 * 1) Install User:Enterprisey/section-watchlist.js, using whatever method you like. User:Enterprisey/script-installer works well.
 * 2) Navigate to Special:BlankPage/section-watchlist and follow the instructions there to register your account on the server.
 * 3) Now, sections should have watch links next to the edit links! Click the "watch" link to be notified of edits made to that section, including any subsections. You can view your notifications at Special:BlankPage/section-watchlist.

You may also want to install User:Enterprisey/reply-link so you can reply to new comments directly from the section watchlist.

Project status
The server will hopefully be up most of the time; follow and #english-wikipedia on the discord, where I will probably post with development updates. (This ad-hoc arrangement is temporary, and I'll probably have some sort of status page or mailing list later.) https://section-watchlist.toolforge.org/ will have a welcome message whenever the server is up. For now, I'm trying to see how long the server can run without crashing. The current record is five days or so.

How did you do this?
Glad you asked! I wrote a program to read a diff and produce a list of "section events", like "section A was edited, section B was merged into section C, and section D was deleted". Then, I had it watch the recent changes feed, look at all edits made to pages with any watched section, and notify the appropriate users.

This program runs on Toolforge, on the section-watchlist tool. I didn't want to write a userscript that made every request (that is, when you load the watchlist page, it'll check the history of every page you watch), because that was far too inefficient for my liking.

The code, for both the program (aka "backend" - written in Rust!) and user script, is at https://git.sr.ht/~enterprisey/section-watchlist/ for now. I'm using Sourcehut instead of GitHub because Sourcehut is better aligned with my philosophies of development and user-interface design. It'll probably be a real pain to accept contributions, though, so I might re-evaluate.

The list of bugs and feature requests that I'm working on is at https://todo.sr.ht/~enterprisey/section-watchlist.