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.
The easiest way to install SOUP is to use the Greasemonkey (for Firefox) or Tampermonkey (for Chrome) extension for managing user scripts. (Other similar extensions, like Scriptish or NinjaKit, 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".
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 may also run on other browsers with compatible user script support, such as Opera or Safari, but has not been fully tested on them. For instructions on how to enable and install user scripts on different browsers, see the "script" tag wiki on Stack Apps.
When installing SOUP on Opera 12 and earlier, please remove the "
.user" part from the file name to disable Greasemonkey compatibility mode. While SOUP can run in either native or compatibility mode, a few MathJax-related fixes require native mode.
SOUP has not yet been tested on Safari, but in principle it should work. If you do try to use it, please let me know how / if it works.
SOUP v1.44.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.
- 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
- mso315436: The open source ads preview page is still using the old size; ads appear distorted as a result
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
- mse229797: You are here, but where's here?
- 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)
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
- 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: Inside or outside?
- 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
- mse259692: Reputation for graph is off by a day (partial fix)
- 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'
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?
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
- mse221304: Make all i.stack.imgur.com links protocol-relative
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
- math11392: MathJax preview broken when equations contain
- 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
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.
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!