Ajax watch is a nice feature but potentially has some usability issues. Primarily, it doesn't give any indication of what "watching" actually does. I've mostly fixed that in the attached patch, but it still needs issues to be ironed out, such as:
- Treatment of weird page names.
- Links to the current page in watched/unwatched messages appear as redlinks or not depending on whether the page '$1' exists, not whether wgIsArticle is true or similar considerations. As an alternative to the current method, things could be simplified by adding the appropriate message to generated per-page JS variables, or better yet by just returning it with the Ajax response, instead of trying to hack around with a generalized message in JS.
- The current method of handling multiple watch links is ugly and could be improved with some methods that would loop through all available watch links to do whatever needs to be done.
- Possibly the alert box could be prettified, but that isn't really necessary. However, it would be a good idea to class it as "mw-watch-message" or something as well as ID'ing it, so that people could hide watch messages but still keep other JS messages that we might add in the future.
Comments are appreciated. Once these changes are complete I intend to turn the feature on by default.