├── src-packed ├── settings.js └── README.md ├── .vscode ├── settings.json └── launch.json ├── docs ├── openai.png ├── popup.png ├── artifacts.png ├── openaifirst.png ├── negative-word.png ├── debugging-tests.png ├── negative-sentiment.png ├── negative-word-fixed.png ├── negative-sentiment-fixed.png ├── beta-test.md ├── improve-heuristics.md └── azure-text-analytics.md ├── inclusive.code-workspace ├── store ├── icon.png └── screenshot.png ├── assets ├── model.onnx ├── images │ ├── 20 │ │ ├── white │ │ │ └── icon_20_white_gear.svg │ │ └── black │ │ │ └── icon_20_black_gear.svg │ ├── favicon.ico │ ├── lt-logo.png │ ├── errors │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ ├── 1_premium.png │ │ ├── 2_premium.png │ │ ├── 3_premium.png │ │ ├── 4_premium.png │ │ ├── 5_premium.png │ │ ├── 6_premium.png │ │ ├── 7_premium.png │ │ ├── 8_premium.png │ │ ├── 9_premium.png │ │ ├── 1.svg │ │ ├── 1_premium.svg │ │ ├── 4.svg │ │ ├── 4_premium.svg │ │ ├── 7.svg │ │ ├── 7_premium.svg │ │ ├── 2.svg │ │ ├── 2_premium.svg │ │ ├── 5.svg │ │ ├── 5_premium.svg │ │ ├── 3.svg │ │ ├── 3_premium.svg │ │ ├── 6.svg │ │ ├── 6_premium.svg │ │ └── 8.svg │ ├── hint-arrow.png │ ├── progress.gif │ ├── icons │ │ ├── icon16.png │ │ ├── icon32.png │ │ ├── icon48.png │ │ ├── icon64.png │ │ ├── icon128.png │ │ ├── icon128_white.png │ │ ├── icon16_white.png │ │ ├── icon32_white.png │ │ ├── icon48_white.png │ │ └── icon64_white.png │ ├── progress_2x.gif │ ├── lt-favicon-color.png │ ├── lt-favicon-white.png │ ├── dialog_scroll_hint.gif │ ├── openthesaurus_logo.png │ ├── redesign │ │ ├── icon_read.gif │ │ ├── icon_pause.svg │ │ ├── icon_save.svg │ │ ├── icon_placement_dialog.svg │ │ ├── icon_placement_left.svg │ │ ├── icon_placement_right.svg │ │ ├── icon_ignore.svg │ │ ├── icon_picky.svg │ │ ├── icon_binocular.svg │ │ ├── icon_menu-check.svg │ │ ├── icon_info.svg │ │ ├── icon_close.svg │ │ ├── icon_read.svg │ │ ├── icon_picky-white.svg │ │ ├── icon_disable.svg │ │ ├── icon_feedback.svg │ │ ├── icon_options.svg │ │ ├── icon_help.svg │ │ └── lt-logo.svg │ ├── messages │ │ ├── message_turn_on.gif │ │ └── message_turn_on_safari.gif │ ├── README.md │ ├── lt-favicon-color_notification.png │ ├── lt-favicon-white_notification.png │ ├── flags │ │ ├── de-de.svg │ │ ├── pl-pl.svg │ │ ├── da-dk.svg │ │ ├── uk-ua.svg │ │ ├── de-at.svg │ │ ├── ca-es.svg │ │ ├── ca-es-valencia.svg │ │ ├── fr.svg │ │ ├── ga-ie.svg │ │ ├── it.svg │ │ ├── ru-ru.svg │ │ ├── ro-ro.svg │ │ ├── br-fr.svg │ │ ├── de-ch.svg │ │ ├── no.svg │ │ ├── nl.svg │ │ ├── eo.svg │ │ ├── ja-jp.svg │ │ ├── en-us.svg │ │ ├── en-ca.svg │ │ ├── sv.svg │ │ ├── zh-cn.svg │ │ ├── en-gb.svg │ │ ├── en-za.svg │ │ ├── el-gr.svg │ │ ├── ta-in.svg │ │ ├── sk-sk.svg │ │ ├── not_found.svg │ │ ├── en-au.svg │ │ ├── eu.svg │ │ ├── tl-ph.svg │ │ ├── pt-ao.svg │ │ ├── sl-si.svg │ │ └── pt-mz.svg │ ├── close.svg │ ├── close_white.svg │ ├── new_window_orange.svg │ ├── new_window_white.svg │ ├── managed_login_icon.svg │ ├── toolbar_permission_required.svg │ ├── turnoff.svg │ ├── expand.svg │ ├── done.svg │ ├── icon_speak.svg │ ├── dictionary.svg │ ├── arrow.svg │ ├── blocked.svg │ ├── disabled_domains.svg │ ├── upgrade_bg_orange.svg │ ├── addphrase.svg │ ├── check.svg │ ├── add.svg │ ├── lt-logo.svg │ ├── top.svg │ ├── lt-logo_white.svg │ ├── down.svg │ ├── opera_store.svg │ ├── upgrade_bg.svg │ ├── text_too_long.svg │ ├── edit_white.svg │ ├── close-small.svg │ ├── upgrade_check.svg │ ├── info_black.svg │ ├── validator_has_errors.svg │ ├── dialog_no_errors.svg │ ├── settings.svg │ ├── disabled.svg │ ├── enable.svg │ ├── google_docs_logo.svg │ ├── star.svg │ ├── settings_box_bg.svg │ ├── plus.svg │ ├── ratings │ │ ├── thumpsup.svg │ │ └── thumpsdown.svg │ ├── dialog_update.svg │ ├── dialog_text_too_short.svg │ ├── dialog_disabled.svg │ ├── toolbar_language_not_supported.svg │ ├── validator_has_premium_errors.svg │ ├── dialog_language_not_supported.svg │ ├── on.svg │ ├── gear.svg │ ├── validator_no_errors.svg │ └── dialog_text_too_long.svg └── fonts │ ├── Roboto-Mono-latin-bold.woff2 │ ├── Source-Sans-Pro-greek-mac.woff2 │ ├── Source-Sans-Pro-greek-win.woff2 │ ├── Source-Sans-Pro-latin-mac.woff2 │ ├── Source-Sans-Pro-latin-win.woff2 │ ├── Source-Sans-Pro-cycrillic-mac.woff2 │ ├── Source-Sans-Pro-cycrillic-win.woff2 │ ├── Source-Sans-Pro-greek-ext-mac.woff2 │ ├── Source-Sans-Pro-greek-ext-win.woff2 │ ├── Source-Sans-Pro-latin-ext-mac.woff2 │ ├── Source-Sans-Pro-latin-ext-win.woff2 │ ├── Source-Sans-Pro-greek-bold-mac.woff2 │ ├── Source-Sans-Pro-greek-bold-win.woff2 │ ├── Source-Sans-Pro-latin-bold-mac.woff2 │ ├── Source-Sans-Pro-latin-bold-win.woff2 │ ├── Source-Sans-Pro-vietnamese-mac.woff2 │ ├── Source-Sans-Pro-vietnamese-win.woff2 │ ├── Source-Sans-Pro-cycrillic-bold-mac.woff2 │ ├── Source-Sans-Pro-cycrillic-bold-win.woff2 │ ├── Source-Sans-Pro-cycrillic-ext-mac.woff2 │ ├── Source-Sans-Pro-cycrillic-ext-win.woff2 │ ├── Source-Sans-Pro-greek-ext-bold-mac.woff2 │ ├── Source-Sans-Pro-greek-ext-bold-win.woff2 │ ├── Source-Sans-Pro-latin-ext-bold-mac.woff2 │ ├── Source-Sans-Pro-latin-ext-bold-win.woff2 │ ├── Source-Sans-Pro-greek-semi-bold-mac.woff2 │ ├── Source-Sans-Pro-greek-semi-bold-win.woff2 │ ├── Source-Sans-Pro-latin-semi-bold-mac.woff2 │ ├── Source-Sans-Pro-latin-semi-bold-win.woff2 │ ├── Source-Sans-Pro-vietnamese-bold-mac.woff2 │ ├── Source-Sans-Pro-vietnamese-bold-win.woff2 │ ├── Source-Sans-Pro-cycrillic-ext-bold-mac.woff2 │ ├── Source-Sans-Pro-cycrillic-ext-bold-win.woff2 │ ├── Source-Sans-Pro-cycrillic-semi-bold-mac.woff2 │ ├── Source-Sans-Pro-cycrillic-semi-bold-win.woff2 │ ├── Source-Sans-Pro-greek-ext-semi-bold-mac.woff2 │ ├── Source-Sans-Pro-greek-ext-semi-bold-win.woff2 │ ├── Source-Sans-Pro-latin-ext-semi-bold-mac.woff2 │ ├── Source-Sans-Pro-latin-ext-semi-bold-win.woff2 │ ├── Source-Sans-Pro-vietnamese-semi-bold-mac.woff2 │ ├── Source-Sans-Pro-vietnamese-semi-bold-win.woff2 │ ├── Source-Sans-Pro-cycrillic-ext-semi-bold-mac.woff2 │ └── Source-Sans-Pro-cycrillic-ext-semi-bold-win.woff2 ├── .gitattributes ├── .devcontainer └── devcontainer.json ├── src ├── common │ ├── extensioni18nManager.js │ ├── extension-init.js │ ├── calculateTextScore.js │ ├── loadFonts.js │ ├── eventBus.js │ ├── i18nManager.js │ ├── tracker.js │ ├── localStorageWrapper.js │ ├── dictionary.js │ ├── stringMap.js │ ├── textStatistics.js │ └── textToSpeech.js ├── content │ ├── validationStatus.js │ ├── debounce.js │ ├── domWalker.js │ └── extension-main.js ├── validator │ ├── loadValidator.js │ └── validator.html ├── components │ ├── hint │ │ └── hint.js │ ├── select │ │ └── select.js │ ├── icon │ │ └── icon.js │ ├── toggle │ │ └── toggle.js │ ├── score │ │ └── score.js │ └── menu │ │ └── menu.js ├── teaser │ └── rating │ │ └── rating.html ├── background.js ├── managed_settings.json ├── popup │ └── reloadContentScriptsIfNecessary.js ├── config │ └── config.js └── polyfills │ └── custom.js ├── test └── _import.js ├── _import.js ├── .github ├── dependabot.yml └── workflows │ └── main.yml ├── .gitignore ├── package.json └── PRIVACY.md /src-packed/settings.js: -------------------------------------------------------------------------------- 1 | export var isTests = false; 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "appinsights" 4 | ] 5 | } -------------------------------------------------------------------------------- /docs/openai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/openai.png -------------------------------------------------------------------------------- /docs/popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/popup.png -------------------------------------------------------------------------------- /inclusive.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "settings": {} 8 | } -------------------------------------------------------------------------------- /store/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/store/icon.png -------------------------------------------------------------------------------- /assets/model.onnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/model.onnx -------------------------------------------------------------------------------- /docs/artifacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/artifacts.png -------------------------------------------------------------------------------- /docs/openaifirst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/openaifirst.png -------------------------------------------------------------------------------- /store/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/store/screenshot.png -------------------------------------------------------------------------------- /docs/negative-word.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/negative-word.png -------------------------------------------------------------------------------- /assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/favicon.ico -------------------------------------------------------------------------------- /assets/images/lt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/lt-logo.png -------------------------------------------------------------------------------- /docs/debugging-tests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/debugging-tests.png -------------------------------------------------------------------------------- /assets/images/errors/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/1.png -------------------------------------------------------------------------------- /assets/images/errors/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/2.png -------------------------------------------------------------------------------- /assets/images/errors/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/3.png -------------------------------------------------------------------------------- /assets/images/errors/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/4.png -------------------------------------------------------------------------------- /assets/images/errors/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/5.png -------------------------------------------------------------------------------- /assets/images/errors/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/6.png -------------------------------------------------------------------------------- /assets/images/errors/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/7.png -------------------------------------------------------------------------------- /assets/images/errors/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/8.png -------------------------------------------------------------------------------- /assets/images/errors/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/9.png -------------------------------------------------------------------------------- /assets/images/hint-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/hint-arrow.png -------------------------------------------------------------------------------- /assets/images/progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/progress.gif -------------------------------------------------------------------------------- /docs/negative-sentiment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/negative-sentiment.png -------------------------------------------------------------------------------- /docs/negative-word-fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/negative-word-fixed.png -------------------------------------------------------------------------------- /assets/images/icons/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon16.png -------------------------------------------------------------------------------- /assets/images/icons/icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon32.png -------------------------------------------------------------------------------- /assets/images/icons/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon48.png -------------------------------------------------------------------------------- /assets/images/icons/icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon64.png -------------------------------------------------------------------------------- /assets/images/progress_2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/progress_2x.gif -------------------------------------------------------------------------------- /assets/images/icons/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon128.png -------------------------------------------------------------------------------- /docs/negative-sentiment-fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/docs/negative-sentiment-fixed.png -------------------------------------------------------------------------------- /assets/images/errors/1_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/1_premium.png -------------------------------------------------------------------------------- /assets/images/errors/2_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/2_premium.png -------------------------------------------------------------------------------- /assets/images/errors/3_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/3_premium.png -------------------------------------------------------------------------------- /assets/images/errors/4_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/4_premium.png -------------------------------------------------------------------------------- /assets/images/errors/5_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/5_premium.png -------------------------------------------------------------------------------- /assets/images/errors/6_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/6_premium.png -------------------------------------------------------------------------------- /assets/images/errors/7_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/7_premium.png -------------------------------------------------------------------------------- /assets/images/errors/8_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/8_premium.png -------------------------------------------------------------------------------- /assets/images/errors/9_premium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/errors/9_premium.png -------------------------------------------------------------------------------- /assets/images/lt-favicon-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/lt-favicon-color.png -------------------------------------------------------------------------------- /assets/images/lt-favicon-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/lt-favicon-white.png -------------------------------------------------------------------------------- /assets/images/dialog_scroll_hint.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/dialog_scroll_hint.gif -------------------------------------------------------------------------------- /assets/images/icons/icon128_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon128_white.png -------------------------------------------------------------------------------- /assets/images/icons/icon16_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon16_white.png -------------------------------------------------------------------------------- /assets/images/icons/icon32_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon32_white.png -------------------------------------------------------------------------------- /assets/images/icons/icon48_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon48_white.png -------------------------------------------------------------------------------- /assets/images/icons/icon64_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/icons/icon64_white.png -------------------------------------------------------------------------------- /assets/images/openthesaurus_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/openthesaurus_logo.png -------------------------------------------------------------------------------- /assets/images/redesign/icon_read.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/redesign/icon_read.gif -------------------------------------------------------------------------------- /assets/fonts/Roboto-Mono-latin-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Roboto-Mono-latin-bold.woff2 -------------------------------------------------------------------------------- /assets/images/messages/message_turn_on.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/messages/message_turn_on.gif -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | *.js text 4 | *.html text 5 | *.css text 6 | *.md text 7 | *.json text 8 | -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-ext-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-ext-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-ext-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-ext-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-ext-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-ext-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-ext-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-ext-win.woff2 -------------------------------------------------------------------------------- /assets/images/README.md: -------------------------------------------------------------------------------- 1 | # Attribution 2 | 3 | The logo is from: 4 | 5 | https://thenounproject.com/search/?q=heart&i=1966522 6 | 7 | Heart by Alice Design from the Noun Project -------------------------------------------------------------------------------- /assets/images/lt-favicon-color_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/lt-favicon-color_notification.png -------------------------------------------------------------------------------- /assets/images/lt-favicon-white_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/lt-favicon-white_notification.png -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-vietnamese-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-vietnamese-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-vietnamese-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-vietnamese-win.woff2 -------------------------------------------------------------------------------- /assets/images/messages/message_turn_on_safari.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/images/messages/message_turn_on_safari.gif -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-ext-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-ext-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-ext-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-ext-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-ext-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-ext-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-ext-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-ext-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-ext-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-ext-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-ext-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-ext-bold-win.woff2 -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "hostRequirements": { 3 | "cpus": 2, 4 | "memory": "8gb", 5 | "storage": "64gb" 6 | }, 7 | "features": { 8 | } 9 | } -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-semi-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-semi-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-vietnamese-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-vietnamese-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-vietnamese-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-vietnamese-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-ext-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-ext-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-ext-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-ext-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-semi-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-ext-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-ext-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-greek-ext-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-greek-ext-semi-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-ext-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-ext-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-latin-ext-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-latin-ext-semi-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-vietnamese-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-vietnamese-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-vietnamese-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-vietnamese-semi-bold-win.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-mac.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-mac.woff2 -------------------------------------------------------------------------------- /assets/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-win.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonathanpeppers/inclusive-code-reviews-browser/HEAD/assets/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-win.woff2 -------------------------------------------------------------------------------- /src/common/extensioni18nManager.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class Extensioni18nManager extends i18nManagerClass{addEventListener(e,s){}setLocale(e){}getMessage(e,s){return chrome.i18n.getMessage(e,s)}} -------------------------------------------------------------------------------- /src/common/extension-init.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | i18nManager.init(new Extensioni18nManager),StorageController.init(()=>new ExtensionStorageController),EnvironmentAdapter.init(new ExtensionEnvironmentAdapter); -------------------------------------------------------------------------------- /assets/images/flags/de-de.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/common/calculateTextScore.js: -------------------------------------------------------------------------------- 1 | class TextScore{calculateTextScore(r,o,t,c){if(r<100)return 0;let e=0,a=0,l=0;const s=r=>{r.isSpellingError?l++:r.isStyleError?a++:e++};o.forEach(s),t.forEach(s),c.forEach(s);const f=3*e+4*l+2*a;return Math.max(0,Math.floor((r-f)/r*100))}} -------------------------------------------------------------------------------- /assets/images/flags/pl-pl.svg: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /assets/images/flags/da-dk.svg: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/common/loadFonts.js: -------------------------------------------------------------------------------- 1 | {const t=document.createElement("style");let n="-win";navigator.userAgent.includes("Mac OS")&&(n="-mac"),t.textContent=`\n\tbody,\n\ttextarea,\n\tbutton,\n\tinput,\n\tselect {\n\t\tfont-family: 'LanguageTool${n}', sans-serif;\n\t}\n\t`,document.head.appendChild(t)} -------------------------------------------------------------------------------- /assets/images/flags/uk-ua.svg: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /assets/images/close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/de-at.svg: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /test/_import.js: -------------------------------------------------------------------------------- 1 | // I found this was required for `npx xt-test` to compile at all 2 | import regeneratorRuntime from "regenerator-runtime"; 3 | 4 | // Comment out if you want console output during test runs 5 | console.log = () => { } 6 | 7 | // Seed for OpenAI 8 | globalThis.OpenAISeed = 1234; 9 | -------------------------------------------------------------------------------- /assets/images/flags/ca-es.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/images/close_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/ca-es-valencia.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /docs/beta-test.md: -------------------------------------------------------------------------------- 1 | # Beta Test 2 | 3 | If you are a member of Microsoft's Developer Division, you can find 4 | the instructions on the [Azure DevOps Wiki][0] for testing out this 5 | extension. Thanks! 6 | 7 | [0]: https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/27882/Browser-Extension?anchor=beta-test 8 | -------------------------------------------------------------------------------- /src-packed/README.md: -------------------------------------------------------------------------------- 1 | # What is `src-packed`? 2 | 3 | Files here are packed into a single `packed.js` via `package.json`: 4 | 5 | ```json 6 | "xtbuild": { 7 | "js_bundles": [ 8 | { 9 | "name": "packed", 10 | "src": "./src-packed/*.js" 11 | } 12 | ], 13 | } 14 | ``` 15 | -------------------------------------------------------------------------------- /assets/images/flags/fr.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/flags/ga-ie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/it.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/flags/ru-ru.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/flags/ro-ro.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/flags/br-fr.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/flags/de-ch.svg: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /assets/images/new_window_orange.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/new_window_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/no.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/common/eventBus.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class EventBus{constructor(){this._eventHandlers=new Map}subscribe(e,s){this._eventHandlers.has(e)||this._eventHandlers.set(e,[]),this._eventHandlers.get(e).push(s)}fire(e,s){const t=this._eventHandlers.get(e);t&&t.forEach(e=>{try{e(s)}catch(e){console.error(e)}})}destroy(){this._eventHandlers=new Map}} -------------------------------------------------------------------------------- /assets/images/managed_login_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/flags/nl.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/common/i18nManager.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class i18nManagerClass{}i18nManagerClass.eventNames={localeChanged:"lt-i18nManager.localeChanged"};const i18nManager=class{static init(e){this._instance=e}static addEventListener(e,a){this._instance.addEventListener(e,a)}static setLocale(e){this._instance.setLocale(e)}static getMessage(e,a){return this._instance.getMessage(e,a)}}; -------------------------------------------------------------------------------- /assets/images/flags/eo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_placement_dialog.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/toolbar_permission_required.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_placement_left.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_placement_right.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/turnoff.svg: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_ignore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_picky.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /assets/images/flags/ja-jp.svg: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_binocular.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Run tests", 9 | "type": "node", 10 | "request": "launch", 11 | "cwd": "${workspaceFolder}", 12 | "runtimeExecutable": "npx", 13 | "runtimeArgs": ["xt-test"] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /_import.js: -------------------------------------------------------------------------------- 1 | // Fix webpack publicPath auto-detection issue in browser extension context 2 | // This must be set before any webpack imports to prevent "Automatic publicPath is not supported in this browser" error 3 | __webpack_public_path__ = './'; 4 | 5 | import * as ort from 'onnxruntime-web'; 6 | globalThis.ort = ort; 7 | 8 | // Use a CDN for the WebAssembly binaries, see: 9 | // * https://onnxruntime.ai/docs/tutorials/web/deploy.html#webassembly-binaries 10 | // * https://www.jsdelivr.com/ 11 | ort.env.wasm.wasmPaths = 'https://cdn.jsdelivr.net/npm/onnxruntime-web@1.19.2/dist/'; 12 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_menu-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Please see the documentation for all configuration options: 2 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 3 | 4 | version: 2 5 | updates: 6 | - package-ecosystem: "npm" 7 | directory: "/" # Location of package manifests 8 | schedule: 9 | interval: "weekly" 10 | ignore: 11 | # Keep webpack and onnxruntime packages at specific versions for compatibility 12 | - dependency-name: "webpack" 13 | - dependency-name: "onnxruntime-web" 14 | - dependency-name: "onnxruntime-node" 15 | -------------------------------------------------------------------------------- /assets/images/expand.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/content/validationStatus.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | var VALIDATION_STATUS; 3 | !(function (T) { 4 | (T.PERMISSION_REQUIRED = "PERMISSION_REQUIRED"), 5 | (T.DISABLED = "DISABLED"), 6 | (T.DISCONNECTED = "DISCONNECTED"), 7 | (T.TEXT_TOO_SHORT = "TEXT_TOO_SHORT"), 8 | (T.TEXT_TOO_LONG = "TEXT_TOO_LONG"), 9 | (T.IN_PROGRESS = "IN_PROGRESS"), 10 | (T.COMPLETED = "COMPLETED"), 11 | (T.UNSUPPORTED_LANGUAGE = "UNSUPPORTED_LANGUAGE"), 12 | (T.FAILED = "FAILED"); 13 | })(VALIDATION_STATUS || (VALIDATION_STATUS = {})); 14 | -------------------------------------------------------------------------------- /assets/images/done.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/en-us.svg: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_read.svg: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /assets/images/flags/en-ca.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/images/icon_speak.svg: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /assets/images/flags/sv.svg: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /src/common/tracker.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class Tracker { 3 | static trackPageView(e) { 4 | // Do nothing 5 | } 6 | static trackDisabledRule(e, r, t, a) { 7 | // Do nothing 8 | } 9 | static trackDictionaryEvent(e, r, t = !1) { 10 | // Do nothing 11 | } 12 | static trackEvent(e, r, t, a) { 13 | // Do nothing 14 | } 15 | static trackInstall() { 16 | // Do nothing 17 | } 18 | static trackActivity() { 19 | // Do nothing 20 | } 21 | static trackError(e, r, t = "") { 22 | // Do nothing 23 | } 24 | static trackStat(e, r) { 25 | // Do nothing 26 | } 27 | static trackTextLength(e) { 28 | // Do nothing 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /assets/images/flags/zh-cn.svg: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /assets/images/dictionary.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_picky-white.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/content/debounce.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class Debounce{constructor(l,i=250,t=0){this.callImmediately=(()=>{this._args&&this._wrappedFunc(...this._args),this.cancelCall()}),this._wrappedFunc=l,this._delay=i,this._maxDelay=t,this._args=null,this._delayTimeoutId=null,this._maxDelayTimeoutId=null}call(...l){this.cancelCall(!0),this._args=l,this._delayTimeoutId=window.setTimeout(this.callImmediately,this._delay),this._maxDelay>0&&null===this._maxDelayTimeoutId&&(this._maxDelayTimeoutId=window.setTimeout(this.callImmediately,this._maxDelay))}cancelCall(l=!1){this._args=null,null!==this._delayTimeoutId&&(window.clearTimeout(this._delayTimeoutId),this._delayTimeoutId=null),l||null===this._maxDelayTimeoutId||(window.clearTimeout(this._maxDelayTimeoutId),this._maxDelayTimeoutId=null)}} -------------------------------------------------------------------------------- /assets/images/errors/1.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/errors/1_premium.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/blocked.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/common/localStorageWrapper.js: -------------------------------------------------------------------------------- 1 | class LocalStorageWrapper{static set(t,e){let r=this.get(this.ROOT_KEY)||[];const s=r.findIndex(e=>e.key===t);for(s>-1&&r.splice(s,1),r.push({key:t,value:e});JSON.stringify(r).length>this.MAX_BYTE_SIZE;)r.shift();try{localStorage.setItem(this.ROOT_KEY,JSON.stringify(r))}catch(t){}}static get(t){try{const e=localStorage.getItem(this.ROOT_KEY),r=e?JSON.parse(e):null;if(!r)return null;const s=r.find(e=>e.key===t);return s&&s.value?s.value:null}catch(t){return null}}static getAll(){try{const t=localStorage.getItem(this.ROOT_KEY),e=t?JSON.parse(t):null;return e||[]}catch(t){return[]}}static remove(t){let e=this.get(this.ROOT_KEY)||[];const r=e.findIndex(e=>e.key===t);if(r>-1){e.splice(r,1);try{localStorage.setItem(this.ROOT_KEY,JSON.stringify(e))}catch(t){}}}}LocalStorageWrapper.ROOT_KEY="__lt_host_storage",LocalStorageWrapper.MAX_BYTE_SIZE=1048576; -------------------------------------------------------------------------------- /assets/images/disabled_domains.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/en-gb.svg: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /src/validator/loadValidator.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | { 3 | const e = (window.chrome || window.browser).runtime; 4 | (e.getManifest().content_scripts || []).forEach((t) => { 5 | t.js && 6 | t.all_frames && 7 | t.js.forEach((t) => { 8 | const c = document.createElement("script"); 9 | (c.src = e.getURL(t)), document.write(c.outerHTML); 10 | }), 11 | t.css && 12 | t.css.forEach((t) => { 13 | const c = document.createElement("link"); 14 | (c.rel = "stylesheet"), (c.href = e.getURL(t)), document.head.appendChild(c); 15 | }); 16 | }); 17 | const t = document.createElement("script"); 18 | (t.src = "./validator.js"), document.write(t.outerHTML); 19 | } 20 | -------------------------------------------------------------------------------- /assets/images/upgrade_bg_orange.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/addphrase.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/check.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/improve-heuristics.md: -------------------------------------------------------------------------------- 1 | # Report sentence to improve heuristics 2 | 3 | If you are investigating an issue like: 4 | 5 | https://github.com/jonathanpeppers/inclusive-code-reviews-browser/issues/137 6 | 7 | To solve this: 8 | 9 | 1. Test `main`, does it still happen there? If not, you might be able 10 | to close -- as our custom machine learning model may have fixed it. 11 | 12 | 2. If the problem still occurs, try the same phrase in our ML tests: 13 | 14 | https://github.com/jonathanpeppers/inclusive-code-reviews-ml/blob/main/onnxjs/tests/test_cases.json 15 | 16 | 3. If it still fails there, add a *similar* phrase (not verbatim!) to: 17 | 18 | https://github.com/jonathanpeppers/inclusive-code-reviews-ml/blob/main/comments/classified.csv 19 | 20 | 4. Update the model as described here: 21 | 22 | https://github.com/jonathanpeppers/inclusive-code-reviews-ml#updating-the-model 23 | -------------------------------------------------------------------------------- /assets/images/add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_disable.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/hint/hint.js: -------------------------------------------------------------------------------- 1 | class Hint{constructor(t,e,s,i,n,l){this._className=t,this._type=e,this._headline=s,this._description=i,this._position=n,this._parentElement=l,this._document=l.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-hint","lt-position--"+this._position,"lt-hint--"+this._type),this._className&&this._element.classList.add("lt-hint--"+this._className);const t=document.createElement("lt-div");t.className="lt-hint__headline",t.textContent=this._headline,this._element.appendChild(t);const e=document.createElement("lt-div");e.className="lt-hint__text",e.textContent=this._description,this._element.appendChild(e),this._close=document.createElement("lt-span"),this._close.className="lt-hint__close",this._element.appendChild(this._close),this._parentElement.appendChild(this._element)}getElement(){return this._element}getClose(){return this._close}} -------------------------------------------------------------------------------- /assets/images/lt-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/top.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/lt-logo_white.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/down.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/flags/en-za.svg: -------------------------------------------------------------------------------- 1 | 18 | -------------------------------------------------------------------------------- /docs/azure-text-analytics.md: -------------------------------------------------------------------------------- 1 | # Azure Text Analytics 2 | 3 | In past versions of this extension, your comments were sent to 4 | [Azure Text Analytics][text-analytics] for sentiment analysis. No text 5 | is stored anywhere, at any time. 6 | 7 | For example, you might make a comment on a Github pull request. Seems 8 | OK, right? Is it a "mean" comment? 9 | 10 |  11 | 12 | We could certainly reword this be be better -- more inclusive and 13 | generally friendlier: 14 | 15 |  16 | 17 | [text-analytics]: https://docs.microsoft.com/azure/cognitive-services/Text-Analytics/overview 18 | 19 | ## Links & Docs 20 | 21 | * [Documentation][text-analytics] 22 | * [npm package](https://www.npmjs.com/package/@azure/ai-text-analytics/v/5.1.0) 23 | * [API Test Console](https://westus.dev.cognitive.microsoft.com/docs/services/TextAnalytics-v3-1/operations/Sentiment/console) 24 | -------------------------------------------------------------------------------- /src/teaser/rating/rating.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /assets/images/opera_store.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/upgrade_bg.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/flags/el-gr.svg: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /src/components/select/select.js: -------------------------------------------------------------------------------- 1 | class Select{constructor(e,t,s){this._className=e,this._parentElement=t,this._select=s,this._document=t.ownerDocument,this._currentSelection=this._document.createElement("lt-span"),this._render()}_render(){const e=this._document.createElement("lt-div");e.classList.add("lt-dialog__selector-wrapper","lt-dialog__selector-wrapper--"+this._className),this._parentElement.appendChild(e),this._currentSelection.classList.add("lt-dialog__current-selection","lt-dialog__current-selection--"+this._className),e.appendChild(this._currentSelection),this._select.classList.add("lt-dialog__selector","lt-dialog__selector--"+this._className),e.appendChild(this._select)}setActive(e,t,s){this._currentSelection.textContent=e||"",this._select.value=t,new DomMeasurement(this._document).setStyles(this._currentSelection,s)}addOption(e){this._select.prepend(e)}updateOptionLable(e,t){this._select.querySelectorAll("option[value="+e+"]")[0].textContent=t}getSelect(){return this._select}getValue(){return this._select.value}} -------------------------------------------------------------------------------- /assets/images/text_too_long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/errors/4.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/edit_white.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/images/errors/4_premium.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/close-small.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/errors/7.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/errors/7_premium.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/components/icon/icon.js: -------------------------------------------------------------------------------- 1 | class Icon{constructor(t,e,i,s){this._className=t,this._label=e,this._parentElement=s,this._toolTip=i,this._document=s.ownerDocument,this._render()}_render(){if(this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-icon","lt-icon--clickable","lt-icon--"+this._className),this._element.setAttribute("data-lt-prevent-focus",""),this._parentElement.appendChild(this._element),this._icon=this._document.createElement("lt-span"),this._icon.classList.add("lt-icon__icon","lt-icon__icon--"+this._className),this._element.appendChild(this._icon),this._toolTip){const t=this._document.createElement("lt-div");t.classList.add("lt-icon__tooltip","lt-icon__tooltip--"+this._toolTip.position,"lt-icon__tooltip--"+this._className),t.textContent=this._toolTip.label,this._element.appendChild(t)}if(this._label){const t=this._document.createElement("lt-span");t.classList.add("lt-icon__label"),t.textContent=this._label,this._element.appendChild(t)}}setIcon(t){this._icon.className="",this._icon.classList.add("lt-icon__icon","lt-icon__icon--"+t)}getElement(){return this._element}} -------------------------------------------------------------------------------- /src/common/dictionary.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class Dictionary{static _update(t){return this._storageController.updateSettings({dictionary:t})}static init(t,r=[]){this._isInitialized||(this._storageController=t||StorageController.create(),this._defaultWords=r,this._isInitialized=!0)}static get(){let t=this._storageController.getSettings().dictionary||[];return Array.isArray(t)||(t=[]),t=t.concat(this._defaultWords),t=uniq(t)}static getSorted(){return this.get().sort((t,r)=>t.toLowerCase().localeCompare(r.toLowerCase()))}static add(t){const r=this.get();return r.push(t.trim()),EnvironmentAdapter.addWordToDictionary(t),this._update(r)}static addBatch(t){const r=this.get();return t.forEach(t=>{t&&t.trim()&&!t.trim().match(/\s/)&&r.push(t.trim())}),EnvironmentAdapter.addWordsToDictionary(t),this._update(r)}static remove(t){const r=this.get(),i=r.indexOf(t);return-1===i?Promise.resolve():(r.splice(i,1),EnvironmentAdapter.removeWordFromDictionary(t),this._update(r))}static clear(){return EnvironmentAdapter.clearDictionary(),this._update([])}}Dictionary._isInitialized=!1; -------------------------------------------------------------------------------- /src/background.js: -------------------------------------------------------------------------------- 1 | console.log('service worker loaded'); 2 | 3 | // HACK: workaround for onnxruntime-web 4 | // background.js:7 ReferenceError: document is not defined 5 | // at packed.js:2:623031 6 | // at packed.js:2:623265 7 | // at background.js:5:5 8 | if (typeof document === 'undefined') 9 | document = { }; 10 | 11 | // These were the order of V2 background.scripts 12 | try { 13 | importScripts("packed.js", "config/config.js", "common/browserDetector.js", "common/utils.js", "common/eventBus.js", "common/messages.js", "common/i18nManager.js", "common/extensioni18nManager.js", "common/languageManager.js", "common/storageController.js", "common/extensionStorageController.js", "common/environmentAdapter.js", "common/extensionEnvironmentAdapter.js", "common/extension-init.js", "common/tracker.js", "background/graphemeSplitter.js", "background/validator.js", "background/dictionarySync.js", "background/synonyms.js", "background/extension-main.js"); 14 | } catch (e) { 15 | console.error(e); 16 | } 17 | 18 | addEventListener('activate', () => { 19 | console.log('service worker activated'); 20 | }); 21 | -------------------------------------------------------------------------------- /assets/images/upgrade_check.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_feedback.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/images/redesign/icon_options.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/flags/ta-in.svg: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /assets/images/flags/sk-sk.svg: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /src/common/stringMap.js: -------------------------------------------------------------------------------- 1 | /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */ 2 | class StringMap{constructor(h,t=StringMap.DEFAULT_CHUNK_SIZE){this._length=h.length,this._chars=h.split(""),this._chunkSize=t,this._cachedChunks=new Array(Math.ceil(this._length/this._chunkSize)).fill(""),this._value=h}_updateCachedChunks(){for(let h=0;h