2014-01-13

The Stack Overflow Unofficial Patch (SOUP) is a project to collect various minor client-side bugfixes, work-arounds and usability improvements for Stack Overflow and other Q&A sites on the Stack Exchange Network into a single user script.

The intent of SOUP is not to make any substantial or controversial changes to the Stack Exchange user interface, but to fix minor problems and omissions that the SE developers have overlooked or haven't got around to fixing yet. By combining these minor patches into a single user script, they become easier to install and maintain.

Installing

If your browser supports user scripts (directly or via an extension), clicking the "download / install" button below should bring up a prompt asking you if you want to install SOUP. Answer "yes".

Download / Install

View source / GitHub repo / StackApps post

For detailed instructions on how to enable and install user script on different browsers (including the workaround needed for Google Chrome), see the "script" tag wiki on StackApps.

SOUP has been tested on Mozilla Firefox (with GreaseMonkey) and Google Chrome. It may work on other browsers with compatible user script functionality — if you get it working, please let me know (and, if necessary, send a patch).

Included fixes

Currently, SOUP includes fixes or workarounds for the following issues:

All Stack Exchange sites in a small window causing display problems? (CSS)

Add a non-breaking space to “reopen (1)” and its ilk (CSS)

Ignoring somebody screws up the avatar list (CSS, chat)

Layout fix for Firefox in “Zoom text only” mode (CSS)

Cannot navigate into the multicollider with keyboard

Un-fade low-score answers on rollover or click

Allow flagging a comment after upvoting it

Can we have the "50 more" link return items of the same type, please? (10k)

Render MathJax in the 10k tools (10k)

Notes:

CSS: This is a pure CSS fix. It will be applied even if site JavaScript is disabled.

chat: This fix applies to the Stack Exchange Network chat.

10k: This fix applies to the "moderator tools" interface available to users with 10,000+ rep (3,000+ on beta sites).

Credits

SOUP is currently maintained by Ilmari Karonen. Several of the fixes are based on suggestions or earlier user scripts made by others; see the source code and/or the meta.SO links above for details.

Contributing

If you know a user script or stylesheet patch for SO or other SE sites that would be suitable for inclusion in SOUP, or an unfixed issue that you believe might be worth patching, please let me know (e.g. by posting a comment or an answer below).

To be included in SOUP, a patch should:

address a known unfixed issue: If you find a new interface bug on SO, please report it on MSO first, and give the devs some time to fix it. There's no hard limit on this, but there's not much point in patching something via SOUP if it's going to be fixed by the devs in a few minutes / hours / days anyway.

be simple and fast: The mean length of individual patches in SOUP (excluding shared infrastructure) is currently around three lines of code. If adding a new patch would significantly increase the length of SOUP, cause a noticeable performance impact or introduce a significant external dependency (e.g. new syntax highlighting rules), it's probably not suitable.

be uncontroversial: SOUP is intended to be a "least common denominator" patch set for everyone. While a simple [status-declined] doesn't necessarily disqualify an issue from being included in SOUP (sometimes it just means the devs are feeling lazy ;-), if a substantial number of people say they don't want it, it doesn't go in. In particular, patches that add significant new functionality, significantly change the appearance of the site or repaint the bikeshed are not suitable for SOUP.

be safe and unobtrusive: This goes with the above points: if any patch in SOUP turns out to cause undesirable side effects (including usability or performance issues) on some platforms, it should be either fixed or removed.

If you notice that any fix included in SOUP is not working for you, causes undesirable side effects or has become obsolete (e.g. because the bug it's working around was fixed), please let me know!

See also

SE Modifications — Username autocomplete in comments, inline revision source, and utility links

SE Chat Modifications — Keyboard navigation and commands for chat

Official keyboard shortcuts

...and other popular user scripts on StackApps

Show more