├── lib ├── vendor │ ├── index.scss │ └── index.js ├── css │ ├── modules │ │ ├── _selectedEntry.scss │ │ ├── _redditUserInfo.scss │ │ ├── _userInfo.scss │ │ ├── _tableTools.scss │ │ ├── _temporaryDropdownLinks.scss │ │ ├── _troubleshooter.scss │ │ ├── _easterEgg.scss │ │ ├── _subredditInfo.scss │ │ ├── _submitIssue.scss │ │ ├── _sourceSnudown.scss │ │ ├── _version.scss │ │ ├── _wheelBrowse.scss │ │ ├── _noParticipation.scss │ │ ├── _showParent.scss │ │ ├── _saveComments.scss │ │ ├── _modhelper.scss │ │ ├── _newCommentCount.scss │ │ ├── _voteEnhancements.scss │ │ ├── _commandLine.scss │ │ ├── _userbarHider.scss │ │ └── _spoilerTags.scss │ └── _zindex.scss ├── core │ ├── migrate │ │ └── index.js │ ├── modules │ │ ├── index.js │ │ └── storage.js │ ├── metadata │ │ └── index.js │ └── options │ │ └── index.js ├── environment │ ├── .eslintrc.json │ ├── foreground │ │ ├── privateBrowsing.js │ │ ├── download.js │ │ ├── id.js │ │ ├── history.js │ │ ├── messaging.js │ │ ├── xhrCache.js │ │ ├── session.js │ │ ├── pageAction.js │ │ └── tabs.js │ ├── background │ │ ├── i18n.js │ │ ├── download.js │ │ ├── localePersistor.js │ │ ├── history.js │ │ ├── tabs.js │ │ ├── ajax.js │ │ ├── messaging.js │ │ ├── session.js │ │ ├── xhrCache.js │ │ ├── storage.js │ │ ├── permissions │ │ │ └── prompt.entry.js │ │ └── multicast.js │ ├── utils │ │ └── api.js │ └── index.js ├── constants │ ├── jsapi.js │ ├── sessionStorage.js │ ├── localStorage.js │ └── urlHashes.js ├── images │ ├── bacon.png │ ├── mail.png │ ├── mailgray.png │ ├── icon60x30.png │ ├── commentTools.png │ ├── droparrowgray.gif │ ├── legacyFavicon.png │ ├── colorblindMail.png │ ├── dashboardLoader.gif │ ├── moderatorShield.png │ ├── hosts │ │ └── giphy-logo.png │ ├── nightmode │ │ ├── arrows.png │ │ ├── aboutHeader.png │ │ └── snooBalloons.png │ ├── accountSwitcherSnoo.png │ ├── expandoEmpty.svg │ ├── expandoClose.svg │ ├── expandoClose-active.svg │ ├── expandoPadlock.svg │ ├── expandoVideo.svg │ ├── expandoVideo-active.svg │ ├── expandoPadlock-active.svg │ ├── expandoImage.svg │ ├── expandoImage-active.svg │ ├── expandoImageGallery.svg │ └── expandoImageGallery-active.svg ├── fonts │ └── batch-icons-webfont.woff ├── utils │ ├── value.js │ ├── __tests__ │ │ ├── value.js │ │ ├── string.js │ │ ├── generator.js │ │ └── color.js │ ├── profiling.js │ ├── subreddits.js │ ├── color.js │ ├── html.js │ ├── time.js │ ├── hash.js │ ├── thingMetadata.js │ ├── object.js │ ├── flow.js │ ├── generator.js │ ├── bodyClasses.js │ └── options.js ├── modules │ ├── backupAndRestore │ │ └── providers │ │ │ ├── index.js │ │ │ └── Provider.js │ ├── filteReddit │ │ ├── postCases │ │ │ ├── IsLocked.js │ │ │ ├── IsNSFW.js │ │ │ ├── IsSpoiler.js │ │ │ ├── PostTitle.js │ │ │ ├── Username.js │ │ │ ├── Subreddit.js │ │ │ ├── Domain.js │ │ │ ├── LinkFlair.js │ │ │ ├── IsVisited.js │ │ │ ├── UserFlair.js │ │ │ ├── CommentsOpened.js │ │ │ ├── UserTag.js │ │ │ ├── PostAfter.js │ │ │ ├── PostType.js │ │ │ └── Selector.js │ │ ├── commentCases │ │ │ ├── IsDeleted.js │ │ │ ├── IsRead.js │ │ │ └── CommentContent.js │ │ └── browseCases │ │ │ ├── CurrentLocation.js │ │ │ ├── Dow.js │ │ │ ├── CurrentSub.js │ │ │ ├── BrowsingFrontPage.js │ │ │ ├── CurrentUserProfile.js │ │ │ ├── index.js │ │ │ ├── Toggle.js │ │ │ ├── Date.js │ │ │ └── LoggedInAs.js │ ├── hosts │ │ ├── default.js │ │ ├── reddituploads.js │ │ ├── twimg.js │ │ ├── ppy.js │ │ ├── memedad.js │ │ ├── supgif.js │ │ ├── archiveis.js │ │ ├── livememe.js │ │ ├── ridewithgps.js │ │ ├── vlipsy.js │ │ ├── poly.js │ │ ├── imgflip.js │ │ ├── makeameme.js │ │ ├── snag.js │ │ ├── xboxdvr.js │ │ ├── adultswim.js │ │ ├── instagram.js │ │ ├── steampowered.js │ │ ├── memecrunch.js │ │ ├── vlive.js │ │ ├── hastebin.js │ │ ├── clyp.js │ │ ├── liveleak.js │ │ ├── mixer.js │ │ ├── strawpollme.js │ │ ├── strawpollcom.js │ │ ├── pornhub.js │ │ ├── bime.js │ │ ├── coub.js │ │ ├── defaultVideo.js │ │ ├── vimeo.js │ │ ├── pastebin.js │ │ ├── codepen.js │ │ ├── archilogic.js │ │ ├── soundcloud.js │ │ ├── znipe.js │ │ ├── dropbox.js │ │ ├── pixiv.js │ │ ├── streamja.js │ │ ├── streamvi.js │ │ ├── jsfiddle.js │ │ ├── redditmedia.js │ │ ├── defaultAudio.js │ │ ├── getyarn.js │ │ ├── dailymotion.js │ │ ├── simplecove.js │ │ ├── xkcd.js │ │ ├── giphy.js │ │ ├── spotify.js │ │ ├── photobucket.js │ │ ├── twitch.js │ │ └── streamable.js │ ├── redditUserInfo.js │ ├── requestPermissions.js │ ├── spoilerTags.js │ ├── contribute.js │ ├── tableTools.js │ └── localDate.js ├── options │ ├── options.html │ └── handleBlocking.js └── background.entry.js ├── changelog ├── v0.9.0.md ├── v0.9.7.md ├── v1.6.1.md ├── v1.6.2.md ├── v5.11.1.md ├── v3.1.md ├── v5.11.2.md ├── v5.5.8.md ├── v5.5.6.md ├── v5.8.6.md ├── v5.9.8.md ├── v5.6.4.md ├── _EXAMPLE.md ├── v5.9.7.md ├── UNRELEASED.md ├── v4.7.3.md ├── v5.1.5.md ├── v5.12.5.md ├── v5.5.9.md ├── v1.8.6.md ├── v5.5.4.md ├── v5.10.2.md ├── v4.5.0.1.md ├── v1.6.6.md ├── v5.6.5.md ├── v5.3.3.md ├── v5.1.7.md ├── v5.18.6.md ├── v4.2.0.1.md ├── v5.8.3.md ├── v5.12.8.md ├── v5.17.4.md ├── v5.5.7.md ├── v5.12.6.md ├── v5.5.5.md ├── v5.7.5.md ├── v5.3.8.md ├── v5.12.2.md ├── v5.16.6.md ├── v5.9.9.md ├── v5.16.5.md ├── v5.18.2.md ├── v5.18.8.md ├── v5.1.9.md ├── v5.11.3.md ├── v5.8.4.md ├── v5.12.1.md ├── v5.12.4.md ├── v4.3.0.1.md ├── v4.3.1.1.md ├── v5.13.2.md ├── v1.5.2.md ├── v5.6.3.md ├── v1.5.1.md ├── v5.13.1.md ├── v5.7.3.md ├── v5.17.5.md ├── v5.18.10.md ├── v5.16.1.md ├── v5.7.1.md ├── v5.11.8.md ├── v5.4.1.md ├── v5.8.2.md ├── v5.18.9.md ├── v5.18.3.md ├── v5.16.9.md ├── v5.9.4.md ├── v5.2.2.md ├── v5.9.6.md ├── v5.18.1.md ├── v5.11.7.md ├── v4.3.0.4.md ├── v5.15.2.md ├── v5.5.11.md ├── v5.7.2.md ├── v5.11.6.md ├── v5.12.7.md ├── v5.16.10.md ├── v5.11.4.md ├── v5.12.3.md ├── v5.8.1.md ├── v5.13.6.md ├── v5.16.7.md ├── v5.18.7.md ├── v5.9.3.md ├── v5.10.3.md ├── v5.14.1.md ├── v5.18.5.md ├── v5.6.1.md ├── v5.16.2.md ├── v5.10.1.md ├── v5.16.4.md ├── v1.0.md ├── v5.18.4.md ├── v5.5.10.md ├── v5.1.4.md ├── v1.5.md ├── v5.11.9.md ├── v5.17.3.md ├── v1.6.md ├── v5.1.8.md ├── v5.16.3.md ├── v5.7.6.md ├── v5.9.5.md ├── v1.8.md ├── v4.7.4.md ├── v5.3.5.md ├── v1.6.5.md ├── v5.5.2.md ├── v5.5.12.md ├── v1.1.md ├── v5.7.4.md ├── v1.6.7.md ├── v4.7.7.md ├── v5.4.2.md ├── v4.7.5.md ├── v4.7.2.md ├── v5.13.5.md └── v5.8.5.md ├── flow ├── lib │ ├── chrome.js.flow │ ├── escapeStringRegexp.js.flow │ ├── .eslintrc.json │ ├── elementResizeDetector.js.flow │ ├── snudown.js.flow │ └── favicon.js.flow ├── stub │ └── sibling-loader.js.flow └── .eslintrc.json ├── .eslintignore ├── images ├── beta128.png ├── beta48.png ├── css-off.png ├── css-on.png ├── icon128.png ├── icon150.png ├── icon16.png ├── icon256.png ├── icon44.png ├── icon48.png ├── icon50.png ├── icon512.png ├── icon64.png ├── css-on-small.png ├── promo440x280.png ├── promo920x680.png ├── css-off-small.png └── promo1400x560.png ├── .github ├── FUNDING.yml ├── PULL_REQUEST_TEMPLATE.md └── ISSUE_TEMPLATE.md ├── examples └── .eslintrc.json ├── ava.config.js ├── tests ├── .eslintrc.json ├── commentTools.js ├── newCommentCount.js ├── commandLine.js ├── spamButton.js ├── commentQuickCollapse.js ├── pageNavigator.js ├── notifications.js ├── subredditInfo.js ├── commentNavigator.js ├── menu.js ├── saveComments.js └── presets.js ├── postcss.config.js ├── .codeclimate.yml ├── .babelrc ├── appveyor.yml ├── .editorconfig ├── DEPLOY.md ├── .flowconfig └── locales └── locales └── index.js /lib/vendor/index.scss: -------------------------------------------------------------------------------- 1 | @import './guiders'; 2 | -------------------------------------------------------------------------------- /changelog/v0.9.0.md: -------------------------------------------------------------------------------- 1 | ## v0.90 2 | 3 | Initial release! 4 | -------------------------------------------------------------------------------- /flow/lib/chrome.js.flow: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | declare var chrome: any; 4 | -------------------------------------------------------------------------------- /lib/css/modules/_selectedEntry.scss: -------------------------------------------------------------------------------- 1 | .entry { padding-right: 5px; } 2 | -------------------------------------------------------------------------------- /lib/core/migrate/index.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export { migrate } from './migrate'; 4 | -------------------------------------------------------------------------------- /lib/environment/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "webextensions": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # Build output 2 | /dist 3 | 4 | # Vendor files 5 | /lib/vendor/*.js 6 | !/lib/vendor/index.js 7 | -------------------------------------------------------------------------------- /images/beta128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/beta128.png -------------------------------------------------------------------------------- /images/beta48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/beta48.png -------------------------------------------------------------------------------- /images/css-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/css-off.png -------------------------------------------------------------------------------- /images/css-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/css-on.png -------------------------------------------------------------------------------- /images/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon128.png -------------------------------------------------------------------------------- /images/icon150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon150.png -------------------------------------------------------------------------------- /images/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon16.png -------------------------------------------------------------------------------- /images/icon256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon256.png -------------------------------------------------------------------------------- /images/icon44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon44.png -------------------------------------------------------------------------------- /images/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon48.png -------------------------------------------------------------------------------- /images/icon50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon50.png -------------------------------------------------------------------------------- /images/icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon512.png -------------------------------------------------------------------------------- /images/icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/icon64.png -------------------------------------------------------------------------------- /lib/constants/jsapi.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export const JSAPI_CONSUMER_NAME = 'reddit-enhancement-suite'; 4 | -------------------------------------------------------------------------------- /lib/images/bacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/bacon.png -------------------------------------------------------------------------------- /lib/images/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/mail.png -------------------------------------------------------------------------------- /images/css-on-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/css-on-small.png -------------------------------------------------------------------------------- /images/promo440x280.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/promo440x280.png -------------------------------------------------------------------------------- /images/promo920x680.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/promo920x680.png -------------------------------------------------------------------------------- /lib/constants/sessionStorage.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export const LAST_SELECTED_ENTRY_KEY = 'RES.lastSelectedEntry'; 4 | -------------------------------------------------------------------------------- /lib/images/mailgray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/mailgray.png -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [honestbleeps] 4 | patreon: honestbleeps 5 | -------------------------------------------------------------------------------- /images/css-off-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/css-off-small.png -------------------------------------------------------------------------------- /images/promo1400x560.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/images/promo1400x560.png -------------------------------------------------------------------------------- /lib/images/icon60x30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/icon60x30.png -------------------------------------------------------------------------------- /lib/images/commentTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/commentTools.png -------------------------------------------------------------------------------- /lib/images/droparrowgray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/droparrowgray.gif -------------------------------------------------------------------------------- /lib/images/legacyFavicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/legacyFavicon.png -------------------------------------------------------------------------------- /flow/stub/sibling-loader.js.flow: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | type Filename = string; 4 | 5 | export default ({}: { [key: Filename]: any }); 6 | -------------------------------------------------------------------------------- /lib/images/colorblindMail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/colorblindMail.png -------------------------------------------------------------------------------- /lib/images/dashboardLoader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/dashboardLoader.gif -------------------------------------------------------------------------------- /lib/images/moderatorShield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/moderatorShield.png -------------------------------------------------------------------------------- /lib/images/hosts/giphy-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/hosts/giphy-logo.png -------------------------------------------------------------------------------- /lib/images/nightmode/arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/nightmode/arrows.png -------------------------------------------------------------------------------- /lib/css/modules/_redditUserInfo.scss: -------------------------------------------------------------------------------- 1 | .res-redditUserInfo-hideAuthorTooltip { 2 | .author-tooltip { 3 | display: none !important; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /lib/fonts/batch-icons-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/fonts/batch-icons-webfont.woff -------------------------------------------------------------------------------- /lib/images/accountSwitcherSnoo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/accountSwitcherSnoo.png -------------------------------------------------------------------------------- /changelog/v0.9.7.md: -------------------------------------------------------------------------------- 1 | ## v0.97 2 | 3 | ### Bug fixes 4 | 5 | - Core system 6 | - Fixed a bug where the script would stop checking for auto updates. 7 | -------------------------------------------------------------------------------- /lib/images/nightmode/aboutHeader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/nightmode/aboutHeader.png -------------------------------------------------------------------------------- /lib/images/nightmode/snooBalloons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erikdesjardins/Reddit-Enhancement-Suite/master/lib/images/nightmode/snooBalloons.png -------------------------------------------------------------------------------- /examples/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "import/no-unresolved": 0 // paths here will only work after the example is pasted into lib/ 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /changelog/v1.6.1.md: -------------------------------------------------------------------------------- 1 | ## v1.61 2 | 3 | ### Bug fixes 4 | 5 | - Keyboard Navigation 6 | - Fixed an issue with numbered comment links not working in Firefox 7 | 8 | -------------------------------------------------------------------------------- /ava.config.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export default { 4 | files: [ 5 | '**/__tests__/*.js', 6 | ], 7 | require: [ 8 | '@babel/register', 9 | ], 10 | }; 11 | -------------------------------------------------------------------------------- /changelog/v1.6.2.md: -------------------------------------------------------------------------------- 1 | ## v1.62 2 | 3 | ### Bug fixes 4 | 5 | - Hide Child Comments 6 | - Embarassingly released this completely broken in 1.61 - it's fixed now. 7 | 8 | -------------------------------------------------------------------------------- /changelog/v5.11.1.md: -------------------------------------------------------------------------------- 1 | ## [v5.11.1](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.11.1) 2 | 3 | ### Housekeeping / Other 4 | 5 | - Test deployment 6 | -------------------------------------------------------------------------------- /flow/lib/escapeStringRegexp.js.flow: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | declare module 'escape-string-regexp' { 4 | /*:: declare export default (unescaped: string) => string; */ 5 | } 6 | -------------------------------------------------------------------------------- /lib/environment/foreground/privateBrowsing.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export function isPrivateBrowsing(): boolean { 4 | return chrome.extension.inIncognitoContext; 5 | } 6 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | Relevant issue: 3 | Tested in browser: 4 | -------------------------------------------------------------------------------- /changelog/v3.1.md: -------------------------------------------------------------------------------- 1 | ## v3.1 2 | 3 | ### Bug fixes 4 | 5 | - Style Tweaks 6 | - Fixed a bug that caused RES to break for users who had never ignored a subreddit stylesheet. 7 | -------------------------------------------------------------------------------- /changelog/v5.11.2.md: -------------------------------------------------------------------------------- 1 | ## [v5.11.2](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.11.2) 2 | 3 | ### Housekeeping / Other 4 | 5 | - Test deployment again 6 | -------------------------------------------------------------------------------- /changelog/v5.5.8.md: -------------------------------------------------------------------------------- 1 | ## [v5.5.8](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.5.8) 2 | 3 | ### Housekeeping / Other 4 | 5 | - Try Opera deployment again 6 | -------------------------------------------------------------------------------- /tests/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "flowtype/no-unused-expressions": 0, 4 | "flowtype/require-valid-file-annotation": 0, 5 | "import/no-commonjs": 0 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /changelog/v5.5.6.md: -------------------------------------------------------------------------------- 1 | ## [v5.5.6](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.5.6) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix templates in Edge (thanks @erikdesjardins) 6 | -------------------------------------------------------------------------------- /changelog/v5.8.6.md: -------------------------------------------------------------------------------- 1 | ## [v5.8.6](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.8.6) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix reddit's user info cards being hidden by default 6 | -------------------------------------------------------------------------------- /changelog/v5.9.8.md: -------------------------------------------------------------------------------- 1 | ## [v5.9.8](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.9.8) 2 | 3 | ### Housekeeping / Other 4 | 5 | - Test automated deployment of changelogs 6 | -------------------------------------------------------------------------------- /changelog/v5.6.4.md: -------------------------------------------------------------------------------- 1 | ## [v5.6.4](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.6.4) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix spam button message recipient (thanks @erikdesjardins) 6 | -------------------------------------------------------------------------------- /changelog/_EXAMPLE.md: -------------------------------------------------------------------------------- 1 | ### New Features 2 | 3 | - None (thanks nobody) 4 | 5 | ### Bug Fixes 6 | 7 | - None (thanks nobody) 8 | 9 | ### Housekeeping / Other 10 | 11 | - None (thanks nobody) 12 | -------------------------------------------------------------------------------- /changelog/v5.9.7.md: -------------------------------------------------------------------------------- 1 | ## [v5.9.7](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.9.7) 2 | 3 | ### Bug Fixes 4 | 5 | - (beta) Restore keyboard nav performance (thanks @larsjohnsen) 6 | -------------------------------------------------------------------------------- /changelog/UNRELEASED.md: -------------------------------------------------------------------------------- 1 | ### New Features 2 | 3 | - None (thanks nobody) 4 | 5 | ### Bug Fixes 6 | 7 | - None (thanks nobody) 8 | 9 | ### Housekeeping / Other 10 | 11 | - None (thanks nobody) 12 | -------------------------------------------------------------------------------- /changelog/v4.7.3.md: -------------------------------------------------------------------------------- 1 | ## [v4.7.3](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v4.7.3) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix Microsoft Edge migration issue with max size (thanks @larsjohnsen) 6 | -------------------------------------------------------------------------------- /lib/images/expandoEmpty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | /* @noflow */ 2 | 3 | /* eslint-disable import/no-commonjs */ 4 | 5 | const autoprefixer = require('autoprefixer'); 6 | 7 | module.exports = { 8 | plugins: [autoprefixer], 9 | }; 10 | -------------------------------------------------------------------------------- /changelog/v5.1.5.md: -------------------------------------------------------------------------------- 1 | ## [v5.1.5](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.1.5) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix stylesheet snippets depending on custom toggles (thanks @erikdesjardins) 6 | -------------------------------------------------------------------------------- /changelog/v5.12.5.md: -------------------------------------------------------------------------------- 1 | ## [v5.12.5](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.12.5) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix Imgur videos with audio not being handled correctly (thanks @larsjohnsen) 6 | -------------------------------------------------------------------------------- /lib/utils/value.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export function firstValid(...vals: mixed[]): mixed { 4 | return vals.find(val => 5 | val !== undefined && val !== null && (typeof val !== 'number' || !isNaN(val)), 6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /lib/environment/background/i18n.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { getLocaleDictionary } from '../../../locales'; 4 | import { addListener } from './messaging'; 5 | 6 | addListener('i18n', locale => getLocaleDictionary(locale)); 7 | -------------------------------------------------------------------------------- /lib/modules/backupAndRestore/providers/index.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export { File } from './File'; 4 | export { GoogleDrive } from './GoogleDrive'; 5 | export { OneDrive } from './OneDrive'; 6 | export { Dropbox } from './Dropbox'; 7 | -------------------------------------------------------------------------------- /lib/css/modules/_userInfo.scss: -------------------------------------------------------------------------------- 1 | #authorInfoToolTip { 2 | .blueButton { 3 | float: right; 4 | margin-left: 8px; 5 | margin-top: 12px; 6 | } 7 | 8 | .redButton { 9 | float: right; 10 | margin-left: 8px; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/constants/localStorage.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export const CACHED_LANG_KEY = 'RES.i18nCachedLang'; 4 | export const CACHED_MESSAGES_KEY = 'RES.i18nCachedMessages'; 5 | export const CACHED_MESSAGES_TOKEN_KEY = 'RES.i18nCachedMessagesToken'; 6 | -------------------------------------------------------------------------------- /changelog/v5.5.9.md: -------------------------------------------------------------------------------- 1 | ## [v5.5.9](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.5.9) 2 | 3 | ### Housekeeping / Other 4 | 5 | - Clean up test build slightly (thanks @erikdesjardins) 6 | - Test Opera deployment again (again) 7 | -------------------------------------------------------------------------------- /changelog/v1.8.6.md: -------------------------------------------------------------------------------- 1 | ## v1.86 2 | 3 | ### Bug fixes 4 | 5 | - Core code 6 | - Fixed a bug that affected gold users who turned off ads (console wouldn't open) 7 | - Inline Image Viewer 8 | - Fixed a minor bug with the sprite sheet for show/hide images. 9 | -------------------------------------------------------------------------------- /changelog/v5.5.4.md: -------------------------------------------------------------------------------- 1 | ## [v5.5.4](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.5.4) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix cookie-related issues (thanks @erikdesjardins) 6 | - Fix network requests in Edge (thanks @erikdesjardins) 7 | -------------------------------------------------------------------------------- /lib/css/modules/_tableTools.scss: -------------------------------------------------------------------------------- 1 | .res-tableTools-sort { 2 | .md th { 3 | cursor: pointer; 4 | } 5 | 6 | .sort-asc::after { 7 | content: '\0020\25B4'; 8 | } 9 | 10 | .sort-desc::after { 11 | content: '\0020\25BE'; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /lib/vendor/index.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | // Import only the functionality of sortablejs which is needed 4 | import Sortable, { AutoScroll } from 'sortablejs/modular/sortable.core.esm'; 5 | 6 | Sortable.mount(new AutoScroll()); 7 | export { Sortable }; 8 | -------------------------------------------------------------------------------- /changelog/v5.10.2.md: -------------------------------------------------------------------------------- 1 | ## [v5.10.2](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.10.2) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix invalid entries breaking filtering entirely (thanks @larsjohnsen) 6 | - Fix sidebar live preview (thanks @erikdesjardins) 7 | -------------------------------------------------------------------------------- /lib/core/modules/index.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export { 4 | allowedModules, 5 | all, 6 | get, 7 | getByCategory, 8 | getUnchecked, 9 | isEnabled, 10 | isRunning, 11 | } from './modules'; 12 | 13 | export { 14 | setEnabled, 15 | } from './storage'; 16 | -------------------------------------------------------------------------------- /flow/lib/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "flowtype/boolean-style": 0, // lib files may be generated from TS so boolean style may differ 4 | "flowtype/type-id-match": 0 // type names in this dir are dictated by the API names, so we can't change them 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /flow/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "flowtype/no-dupe-keys": 0, // dupe keys in declarations are used for overloading 4 | "flowtype/no-weak-types": 0, // used in generic bounds 5 | "no-unused-vars": 0 // none of the flow declarations will be used directly 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/utils/__tests__/value.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import test from 'ava'; 4 | 5 | import { firstValid } from '../value'; 6 | 7 | test('firstValid', t => { 8 | t.is(firstValid(null, undefined, 'foo'), 'foo'); 9 | t.is(firstValid(null, undefined, NaN, Infinity), Infinity); 10 | }); 11 | -------------------------------------------------------------------------------- /changelog/v4.5.0.1.md: -------------------------------------------------------------------------------- 1 | ## [v4.5.0.1](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/tag/v4.5.0.1) 2 | 3 | - Fixed a couple of issues with night mode coloring 4 | - Fixed a few issues with "use subreddit stylesheet" for some users 5 | - Various other small / emergency bug fixes 6 | -------------------------------------------------------------------------------- /changelog/v1.6.6.md: -------------------------------------------------------------------------------- 1 | ## v1.66 2 | 3 | ### New features 4 | 5 | - Keyboard Navigation 6 | - Added "Next" and "Prev" keyboard shortcuts (n and p respectively) for link pages. 7 | 8 | ### Bug fixes 9 | 10 | - Keyboard Nav 11 | - Fixed a bug where relative links weren't working in chrome. 12 | -------------------------------------------------------------------------------- /changelog/v5.6.5.md: -------------------------------------------------------------------------------- 1 | ## [v5.6.5](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.6.5) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix double expando buttons, mediaBrowseMode, and expanding self posts with keyboard nav (thanks @erikdesjardins) 6 | - Fix flair filters (thanks @erikdesjardins) 7 | -------------------------------------------------------------------------------- /changelog/v5.3.3.md: -------------------------------------------------------------------------------- 1 | ## [v5.3.3](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.3.3) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix performance regression from filter changes (thanks @larsjohnsen) 6 | - Fix YouTube expandos not working with autoplay or start/end params (thanks @erikdesjardins) 7 | -------------------------------------------------------------------------------- /lib/css/modules/_temporaryDropdownLinks.scss: -------------------------------------------------------------------------------- 1 | .RES-dropdown-button { 2 | visibility: hidden; 3 | margin-left: 1em; 4 | float: right; 5 | 6 | form:hover & { 7 | visibility: visible; 8 | opacity: 0.5; 9 | } 10 | 11 | &:hover { 12 | visibility: visible; 13 | opacity: 1; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/environment/background/download.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { addListener } from './messaging'; 4 | 5 | addListener('download', ({ url, filename }, { tab: { incognito } }) => { 6 | chrome.downloads.download({ url, filename, ...(process.env.BUILD_TARGET === 'chrome' ? {} : { incognito }) }); 7 | }); 8 | -------------------------------------------------------------------------------- /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | plugins: 4 | eslint: 5 | enabled: true 6 | channel: "eslint-4" 7 | duplication: 8 | enabled: true 9 | config: 10 | languages: 11 | - javascript 12 | fixme: 13 | enabled: true 14 | 15 | exclude_patterns: 16 | - "lib/vendor/" 17 | -------------------------------------------------------------------------------- /changelog/v5.1.7.md: -------------------------------------------------------------------------------- 1 | ## [v5.1.7](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.1.7) 2 | 3 | ### Housekeeping / Other 4 | 5 | - Update expando icons for new color scheme 6 | - Minor storage refactoring (thanks @erikdesjardins) 7 | - Minor filterline optimization (thanks @erikdesjardins) 8 | -------------------------------------------------------------------------------- /changelog/v5.18.6.md: -------------------------------------------------------------------------------- 1 | ## [v5.18.6](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.18.6) 2 | 3 | ### New Features 4 | 5 | - None (thanks nobody) 6 | 7 | ### Bug Fixes 8 | 9 | - Fixes some mouse click issues 10 | 11 | ### Housekeeping / Other 12 | 13 | - None (thanks nobody) 14 | -------------------------------------------------------------------------------- /lib/core/metadata/index.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import packageInfo from 'exec-loader?cache!./packageInfo'; 4 | 5 | export const { 6 | announcementsSubreddit, 7 | name, 8 | version, 9 | isBeta, 10 | isPatch, 11 | isMinor, 12 | isMajor, 13 | updatedURL, 14 | homepageURL, 15 | } = packageInfo; 16 | -------------------------------------------------------------------------------- /lib/environment/background/localePersistor.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { addListener } from './messaging'; 4 | 5 | let lastRedditLocale = navigator.language || 'en'; 6 | 7 | addListener('getLastRedditLocale', () => lastRedditLocale); 8 | addListener('setLastRedditLocale', v => { lastRedditLocale = v; }); 9 | -------------------------------------------------------------------------------- /lib/utils/profiling.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | let counter = 0; 4 | export function markStart(): string { 5 | const tag = (++counter).toString(); 6 | performance.mark(tag); 7 | return tag; 8 | } 9 | 10 | export function markEnd(tag: string, name: string) { 11 | performance.measure(name, tag); 12 | } 13 | -------------------------------------------------------------------------------- /changelog/v4.2.0.1.md: -------------------------------------------------------------------------------- 1 | ## v4.2.0.1 2 | 3 | ### Bug fixes 4 | 5 | - Temporarily removed bitcointip module due to server load issues 6 | - Tweaks to night mode 7 | - added back option for users to have border on keyhighlight 8 | - Fixed a bug where "use subreddit stylesheet" option showed up in places it shouldn't. 9 | -------------------------------------------------------------------------------- /changelog/v5.8.3.md: -------------------------------------------------------------------------------- 1 | ## [v5.8.3](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.8.3) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix "use subreddit style" checkbox appearing on user pages (thanks @nishanthvijayan) 6 | - Potentially fix RES not starting in Chrome in some situations (thanks @erikdesjardins) 7 | -------------------------------------------------------------------------------- /lib/constants/urlHashes.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export const RES_DISABLED_HASH = '#res:disabled'; 4 | export const RES_SETTINGS_HASH = '#res:settings'; 5 | export const RES_SETTINGS_REDIRECT_TO_STANDALONE_HASH = '#res:settings-redirect-standalone-options-page'; 6 | export const RES_NER_PAGE_HASH = '#res:ner-page'; 7 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "ignore": ["ava.config.js"], 3 | "plugins": [ 4 | '@babel/plugin-proposal-export-namespace-from', 5 | ["@babel/plugin-proposal-class-properties", { "loose": true }], 6 | "@babel/plugin-transform-modules-commonjs", 7 | "@babel/plugin-transform-flow-strip-types" 8 | ], 9 | "sourceMaps": "inline" 10 | } 11 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | build: off 2 | version: '{build}' 3 | image: Visual Studio 2017 4 | environment: 5 | nodejs_version: 10 6 | cache: 7 | - '%LOCALAPPDATA%\Yarn' 8 | install: 9 | - ps: Install-Product node $env:nodejs_version 10 | - yarn install --frozen-lockfile 11 | test_script: 12 | - yarn test 13 | - yarn run build all 14 | -------------------------------------------------------------------------------- /changelog/v5.12.8.md: -------------------------------------------------------------------------------- 1 | ## [v5.12.8](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.12.8) 2 | 3 | ### New Features 4 | 5 | - None (thanks nobody) 6 | 7 | ### Bug Fixes 8 | 9 | - Updated Gfycat to use new API endpoint (thanks @larsjohnsen) 10 | 11 | ### Housekeeping / Other 12 | 13 | - None (thanks nobody) 14 | -------------------------------------------------------------------------------- /changelog/v5.17.4.md: -------------------------------------------------------------------------------- 1 | ## [v5.17.4](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.17.4) 2 | 3 | ### New Features 4 | 5 | - None (thanks nobody) 6 | 7 | ### Bug Fixes 8 | 9 | - None (thanks nobody) 10 | 11 | ### Housekeeping / Other 12 | 13 | - Update deps and rebuild, hoping that Webpack works this time 14 | -------------------------------------------------------------------------------- /changelog/v5.5.7.md: -------------------------------------------------------------------------------- 1 | ## [v5.5.7](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.5.7) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix alignment of expando icons in self posts with compressed link display (thanks @erikdesjardins) 6 | 7 | ### Housekeeping / Other 8 | 9 | - Opera release automation (thanks @erikdesjardins) 10 | -------------------------------------------------------------------------------- /lib/css/modules/_troubleshooter.scss: -------------------------------------------------------------------------------- 1 | body:not(.loggedin) #optionContainer-troubleshooter-clearUserInfoCache .optionDescription::before, 2 | body:not(.loggedin) #optionContainer-troubleshooter-clearSubreddits .optionDescription::before { 3 | content: 'Functionality only for logged in users - '; 4 | color: #f00; 5 | font-weight: bold; 6 | } 7 | -------------------------------------------------------------------------------- /changelog/v5.12.6.md: -------------------------------------------------------------------------------- 1 | ## [v5.12.6](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.12.6) 2 | 3 | ### New Features 4 | 5 | - None (thanks nobody) 6 | 7 | ### Bug Fixes 8 | 9 | - None (thanks nobody) 10 | 11 | ### Housekeeping / Other 12 | 13 | - Re-releasing v5.12.5 to fix AMO store listing (thanks @andytuba) 14 | -------------------------------------------------------------------------------- /changelog/v5.5.5.md: -------------------------------------------------------------------------------- 1 | ## [v5.5.5](https://github.com/honestbleeps/Reddit-Enhancement-Suite/releases/v5.5.5) 2 | 3 | ### Bug Fixes 4 | 5 | - Fix Account Switcher not displaying an error when login fails (thanks @erikdesjardins) 6 | 7 | ### Housekeeping / Other 8 | 9 | - Replace mustache templates with native (thanks @erikdesjardins) 10 | -------------------------------------------------------------------------------- /lib/options/options.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |