2014-01-13



The Stack Overflow Unofficial Patch (SOUP) is a project to collect various minor client-side bug fixes, 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

Installing as a user script

The easiest way to install SOUP is to use the Greasemonkey (for Firefox) or Tampermonkey (for multiple browsers) extension for managing user scripts. (Other Greasemonkey compatible user script extensions should also work.) After installing the extension, clicking the "download / install" button below should bring up a dialog asking you if you want to install SOUP. Answer "yes".

Download / Install

View source / GitHub repo / Stack Apps post

The "install" link above is for the stable branch of SOUP. If you like living on the edge, you can also install the development version, which gets all the latest fixes and updates as soon as they're written. Of course, it also gets all the latest bugs, too. If you do install the development version, please report any bugs or regressions you may find in it below!

SOUP has been mainly developed and tested on Firefox and Chrome. It may also run on other browsers with user script support (via Tampermonkey or other compatible extensions), but has not been fully tested on them. Any reports of cross-browser issues are welcome.

Installing as a browser extension

As of version 1.46, SOUP can now be installed directly as a browser extension on Firefox and Chrome, without the need for a user script manager, via the following links:

SOUP extension for Mozilla Firefox on Firefox Add-ons

SOUP extension for Google Chrome on Chrome Web Store

In particular, using SOUP as an extension on Firefox for Android is now possible and supported.

(An Opera extension may be available at a later date. In the mean time, Opera users may use the Chrome extension via Download Chrome Extension, or just use the user script version with e.g. Tampermonkey for Opera.)

Note that updates to the extension packages may take a few days to appear even after a new stable user script version is released, due to review and other delays.

Included fixes

SOUP v1.46.1

includes fixes or workarounds for the following issues.

The fixes highlighted in boldface include particularly major interface improvements or fix particularly severe or widespread issues. The choice of which fixes to highlight is unavoidably somewhat subjective, but in my personal opinion, these are the fixes you should actually install SOUP for — the rest are just icing on the cake.

CSS-only fixes

These are pure CSS fixes. They will be applied even if JavaScript is disabled on the site. Most of these are fairly minor, but sometimes pervasive, issues.

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

mse114109: Background in OP's user name can obscure text in multiline comments

mse143973: Images can be pushed outside the boundaries of a post by using nested lists

mse145819: <hr/>'s do not get rendered in deleted answers

mse108046: Mouse cursor doesn't change to pointer when hovering “full site” on mobile

mse110566: Does the spoiler markdown work on images?

mse58760: <kbd> (yes, still <kbd>) doesn't play nice with lists

mse203405: Excerpt of privilege is below privilege instead of in front

mse210165: Extra blue line appearing in the top bar (Firefox only)

mse154788: Why are comments overlapping the sidebar?

mse214830: Selecting text in profile activity comments causes unexpected clipping

mse230392: Layout bug while viewing vote count in Meta Stackexchange

physics5773: Bounty icon is poorly placed

mse224185: Links sometimes float above text in vote-to-close dialog on Firefox

mse233517: Badge symbol in notification is of the site you're on, not where badge was earned

mse169225: Why does the bounty award button appear on deleted answers?

mse84296: RTL text can mess up comment timestamps

mse240710: Was the fringe always there on the up-rep icon?

mse249859: <kbd> tags in headings are too small

mse248156: What's the purpose of the tagline in the Bounties section of the profile?

mso284049: Small bugs in the Stack Overflow editor

mse250081: Retract close vote UI

mso287222: Clicking between lines fails

mso297678: Comment anchor links get “visited” highlighting

mse242944: Long display name with no spaces breaks design of review history pages

mse266258: Left side markdown diff outside of its area

mse275976: Unable to see completed badges

Site-specific CSS fixes

These pure CSS fixes are for issues specific to certain sites on the Stack Exchange network. Most of them are restricted to the affected site(s), but a few are applied globally, even though the issue they fix is only apparent on some sites.

math12803: “Sign up for the newsletter” button overflows the frame on Firefox / Linux (partially applied globally)

codegolf959: Add line-height shortener to the ascii-art tag

math12902: Visited questions are practically indistinguishable in search results

math16559: Typo in site CSS disables visited link color in community bulletin

electronics3162: Error for profile less info

electronics4038: About Me box on user page not in the right place (applied globally)

mso286009: Change [Ask Question] button style

mse250407: User signature cards on old revisions look funny (applied globally)

cooking2049: Ads are cut off on the right

movies1652: /users and profile pages (/users/…) space the link to the current profile (in the top bar) differently

graphicdesign2415: Design Bug: Tag alert CSS (applied globally)

mse244587: “Top Network Users” should contain themselves!

mso306325: The yellow star in the sprites.svg image looks “unfinished” (temporarily disabled)

rpg5812: Post as a guest: CSS bug (applied globally)

Chat-only fixes

These fixes apply only to the Stack Exchange Network chat.

mse155308: Ignoring somebody screws up the avatar list

mse216760: The reply buttons in chat shouldn't reposition themselves on pinged messages

mse222509: Getting Red Line under tags

mse134268: U+0008 inserted into chat @-pings

mse224233: Problem in css style loading in Search Bar after refresh page when using FF

General fixes

mse217779: The CSS for spoilers is a mess. Let's fix it!

mse78989: Clicking on tags broken?

mse207526: Cannot navigate into the multicollider with keyboard

mse261721: Un-fade low-score answers on click/tap too

mse66646: Confirming context menu entries via Enter triggers comment to be posted

mse210132: New top bar should render avatar with a transparent background

mse220337: Election comments have no permalink link

mse224533: Soft-hyphen hides subsequent text when using Opera 12.16

mse115702: Option to delete an answer only visible after a reload

mse231150: Clicking the top bar sometimes loads the SE homepage, sometimes shows the site switcher

mse234680: Domain names in an URL are incorrectly encoded as escaped ASCII characters instead of punycode

mse266852: Bar between “add a comment” and “show more comments” is inconsistent

mse239549: Mobile user profile page sort selectors stop working after first change

mse240417: Should moderator diamonds be inside or outside the highlight box?

mse243519: Dangling signature dash in comments

mse220611: Blue background on nominee comments only when expanded

mse121682: Links to election nominations don't work after nominations close

mse230536: Large down-vote count doesn't display negative sign

mse248646: Comments left by the author of a spam/offensive post should be deleted from the post too

mso284223: Newly upvoted cool comments get an uncolored score

mso295666: Disable annoying autofocus when clicking preview

mse240787: Inconsistent reputation mouse-over text

mso300679: Please block posts containing unsupported HTML

mse266034: Link the title of the linked questions sidebar to the list of linked questions

mse265889: Improve answer navigation for screen readers

mse266523: Uploading an image from the web can leave paste broken in editor

mse264307: Down arrow key won't work after using the Hyperlink button

mse170970: Occasionally, the Unicode character sequence U+200C U+200B (ZWNJ ZWSP) is inserted into comments

mse153528: Don't ask for a comment when downvoting, if the user just voted on a comment

mse259325: Answer flashes orange when I click the “edit (1)” link to review a suggested edit

mso306552: Votes cast has upvote-like symbol and is confusing

mse268584: When a user is deleted, OP highlighting is lost

mso310158: Right to left marker in comment shouldn't cause the rest of the line to change

mse223737: Inbox heading should be a link

mso313853: “Per page” pagination returns no results when increasing limit on last page

mse74274: Privacy leak in permalink?

Site-specific fixes

These non-CSS fixes are applied only on specific SE sites. There's a lot fewer of these, since the SE JavaScript framework is shared between all sites, whereas CSS is different for each site. Thus, these fixes generally involve either rare site-specific customizations, or simply design fixes that cannot be implemented in pure CSS.

boardgames1152: Can the Magic card auto link feature be improved?

french347: Make spaces unbreakable when it's obvious that a line-break should not occur

mse264171: SE new blog: Broken link on 'serverfault.com' and 'superuser.com' under 'TAGS'

Review fixes

These fixes apply to the post review interface. I've listed them separately here, since they include some of the more notable interface tweaks in SOUP.

mse172931: Please put answers underneath questions in Close review queue

mso297489: Add close option to the “Help and Improvement” queue to avoid cluttering flags?

HTTPS-only fixes

These fixes are only applied when using Stack Exchange over HTTPS. Note that HTTPS support for Stack Exchange is still experimental.

mse223725: All internal links on Stack Exchange sites should be protocol-relative

MathJax-related fixes:

These fixes apply only to sites using MathJax for LaTeX math rendering.

mse209393: Render MathJax in the 10k tools

math11036: Can we have the suggested questions' titles parsed by default?

math4130: The scope of \newcommand is the entire page

mse229363: Exclude TeX.SE question titles from MathJax parsing in Hot Network Questions

math19650: Post with many lines of display math takes up most of the Questions page

License

SOUP is distributed under the ISC license, a permissive BSD-style open source license.

In addition, permission is given to Stack Exchange, Inc. to make use of SOUP code in any way they see fit, including but not limited to incorporating all or parts of it within the Stack Exchange codebase, with or without credit.

This SOUP version includes a copy of the punycode.js library v1.2.4 by Mathias Bynens, distributed under the MIT license. The additional permissions granted above do not apply to this library.

Credits

SOUP is currently maintained by Ilmari Karonen. Some 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 the SOUP page on Stack Apps).

If you'd like to help me out by contributing new fixes directly to SOUP, the SOUP wiki on GitHub has some useful tips. Any and all contributions will be appreciated!

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

SE Additional Optional Features

...and other popular user scripts on Stack Apps

Show more