- Remove support for INJECT_JS_PLUGIN and INJECT_JS_MODULE_PLUGIN. Content Security Policy for extensions does not allow injecting arbitrary JS.
- Fix injecting JS plugins, remove webcomponents-lite.js
- Fix rules to also work with non-Google hosted Gerrit
- Add a
inject cssrule - P1 fix: Continue rules processing after first disabled one
- Migrate to Manifest V3
- Restrict the permissions to only run on a specific list of hosts
- Migrate the background script to a service worker
- Migrate request/response manipulation to
chrome.declarativeNetRequestAPI
- New default rules
- Remove support for INJECT_HTML_PLUGIN (obsolete)
- Remove support for INJECT_JS_CODE (unsupported by Manifest V3)
- Convert HTML snippets to Lit elements
- Add prettier config and reformat all files
- Bumped lit version to 3.1.0
- Fix
content_scripts.matchespatterns
- Restrict the extension to only work for Google hosted Gerrit
- Add documentation about testing and publishing the extension
- Fix CORS preflight interception
- Update npm deps
- Make the extension look a bit nicer
- Bumped lit version to 2.2.3
- Move cors / cache override to rules, so user can disable it from the popup
- Change header value separator from
,to|, as,can be part of the value while|is unlikely - Fix
onGerritReadyto use tag name instead of id and max at 5s ;)
- BREAKING CHNAGE: Gerrit is moving to
gr-app.jsonly, sogr-app.htmlwill no longer exists, we have updated default rules to forward togr-app.jsas well, in case you are still usinggr-app.html, please modify that redirect rule by changinggr-app.jstogr-app.html - Add
addRespHeaderoperator, thanks to Edward ehmaldonado@google.com - Add
injectExpoperator, as gerrit now supports experiments, this is a quick way to force enabling certain experiments, experiments should be separated by,
- Fix the issue when multiple rule matches one url for onBeforeRequest
- Block will always take the highest priority
- Then Redirect
- Ignore the rest
- Add a new operator as
injectJsModule, with plugins moving to polymer 3, certain plugins will be written in modules, and to inject moduled js plugins, use this rule- This will basically add a
type="module"to the script tag when load the script so we can useimportinside - With
type="module",document.currentScriptwill becomenullso we won't be able to infer the plugin url, to workaround this, make sure you callGerrit.installwith the third parameter:Gerrit.install(() => {}, undefined, 'the_url')so Gerrit can treat it as a legit plugin - Keep using
injectJsPluginif its a single bundled js file
- This will basically add a
- Add two new operators:
addReqHeaderto add arbitrary header when you send a requestrRespHeaderto remove arbitrary header on any response
- Modify default rules to show # of js errors in the helper tip
- Add a new default rule to send x-test-origin with gerrit-fe-dev-helper on all requests when enabled
- set crossorigin to anonymous to help debug js error from plugin
- improve the ui on popup
- remove outdated rule of replacing gr-app-p2 with gr-app
- A better way to wait for Gerrit when injecting html plugins
- Hotfix
- Remove restriction on gerrit sites (some features won't work if its not a valid gerrit site)
- Update README
- Enable the extension with a single click
- Allow export / import rules
- Show a error for 5s if rule destination is invalid (can not reach)
- Show an announcement for the change for 3 seconds for first time users
- Persist enable / disable state per tab
- Support temporary disable rule without deleting it
- Move injection to document_end
- Support reset to reset rules to initial state
- Support proxy live requests to local on googlesource sites
- Support 6 types of rules: redirect, block, injectJS code/url, inject html code / url
- Support add / remove / modify rules