From bf79ee98ae65f2dc66de7846ec9d421a256b8657 Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Wed, 4 Sep 2019 12:43:22 -0400 Subject: [PATCH 1/8] disable overlay search --- manifest.json | 15 ++------------- package.json | 4 ++-- src/background.js | 14 +++++++------- tools/merge-locales.sh | 15 ++++++++++++++- yarn.lock | 6 +++--- 5 files changed, 28 insertions(+), 26 deletions(-) diff --git a/manifest.json b/manifest.json index a732d29ae..67cb54755 100644 --- a/manifest.json +++ b/manifest.json @@ -100,17 +100,6 @@ "minimum_opera_version": "45", "web_accessible_resources": [ "app/images/*", - "dist/css/rewards_styles.css", - "cliqz/dropdown/dropdown.html", - "cliqz/overlay/styles/overlay.css", - "cliqz/freshtab/images/ghostery-tab-search-icon.svg" - ], - "commands": { - "toggle-quicksearch": { - "suggested_key": { - "default": "Ctrl+Shift+Space" - }, - "description": "Toggle in-page quick search" - } - } + "dist/css/rewards_styles.css" + ] } diff --git a/package.json b/package.json index 5f7a0809b..1ce5aaf2a 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "docs": "jsdoc -c jsdoc.json -d docs -r", "leet": "node ./tools/leet/leet-en.js", "leet.reset": "node ./tools/leet/leet-reset.js", - "postinstall": "vendor-copy && bash ./tools/merge-locales.sh" + "postinstall": "vendor-copy" }, "vendorCopy": [ { @@ -45,7 +45,7 @@ "@cliqz/adblocker-circumvention": "^1.0.1", "@cliqz/url-parser": "^1.0.3", "base64-js": "^1.3.1", - "browser-core": "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.1-search/browser-core-7.39.1.tgz", + "browser-core": "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz", "classnames": "^2.2.5", "d3": "^5.11.0", "foundation-sites": "^6.4.4-rc1", diff --git a/src/background.js b/src/background.js index 8e466412b..a6a3865e5 100644 --- a/src/background.js +++ b/src/background.js @@ -1209,13 +1209,13 @@ function setupABTest() { prefs.set('attrackBloomFilter', false); } // overlay search AB test - if (abtest.hasTest('overlay_search')) { - cliqz.enableModule('search'); - cliqz.enableModule('overlay'); - } else { - cliqz.disableModule('search'); - cliqz.disableModule('overlay'); - } + // if (abtest.hasTest('overlay_search')) { + // cliqz.enableModule('search'); + // cliqz.enableModule('overlay'); + // } else { + // cliqz.disableModule('search'); + // cliqz.disableModule('overlay'); + // } } /** diff --git a/tools/merge-locales.sh b/tools/merge-locales.sh index 1c88bd8e2..ea5290173 100644 --- a/tools/merge-locales.sh +++ b/tools/merge-locales.sh @@ -1,11 +1,24 @@ +#!/bin/bash +# +# Merge Cliqz language strings into Ghostery _locales +# +# Ghostery Browser Extension +# http://www.ghostery.com/ +# +# Copyright 2019 Ghostery, Inc. All rights reserved. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0 + for lang in `ls ./cliqz/static/locale` do # filter out only language folder if [ ! -d "./cliqz/static/locale/$lang" ]; then continue; fi - # filter out language folders supported by ghostery + # filter out language folders supported by ghostery if [ ! -d "_locales/$lang" ]; then continue; fi diff --git a/yarn.lock b/yarn.lock index ceef544b6..18e2bb876 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1473,9 +1473,9 @@ brorand@^1.0.1: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -"browser-core@https://github.com/cliqz-oss/browser-core/releases/download/v7.39.1-search/browser-core-7.39.1.tgz": - version "7.39.1" - resolved "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.1-search/browser-core-7.39.1.tgz#bafed4c25ccfba2089b0f933a4bb4a01492daa92" +"browser-core@https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz": + version "7.39.2" + resolved "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz#856122386d236f16bd5ad769c00b00e823c7c749" dependencies: "@cliqz-oss/dexie" "^2.0.4" "@cliqz/adblocker-webextension" "^0.13.2" From 9eb55ba1b5b14d95b99967e33d54c126592ed54b Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Wed, 4 Sep 2019 16:23:37 -0400 Subject: [PATCH 2/8] GH-1845 Fixes issue where Unknown category does not show if not other categories are present --- app/panel/components/Blocking.jsx | 3 +-- app/panel/components/BuildingBlocks/DonutGraph.jsx | 2 +- app/panel/reducers/summary.js | 10 ++++++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/panel/components/Blocking.jsx b/app/panel/components/Blocking.jsx index 45ea17733..128c4327d 100644 --- a/app/panel/components/Blocking.jsx +++ b/app/panel/components/Blocking.jsx @@ -301,7 +301,6 @@ class Blocking extends React.Component { blockingClasses, disableBlocking } = this.state; - return (
) : (
- {categories.length > 0 && ( + {(categories.length > 0 || unknownCategory.unknownTrackers.length > 0) && ( 0 ? 500 : 0; - const categoryCount = categories.length; + const categoryCount = categories.length + antiTracking.unknownTrackerCount + adBlock.unknownTrackerCount; // Process categories into graphData if (categoryCount === 0) { diff --git a/app/panel/reducers/summary.js b/app/panel/reducers/summary.js index 1e80aea2c..a604fb06b 100644 --- a/app/panel/reducers/summary.js +++ b/app/panel/reducers/summary.js @@ -37,14 +37,20 @@ const initialState = { }, tab_id: 0, antiTracking: { - totalUnsafeCount: 0, // The amount of data points scrubbed by Anti-Tracking totalUnknownCount: 0, // The amount of data points scrubbed by Anti-Tracking for Trackers not in the Ghostery DB + totalUnsafeCount: 0, // The amount of data points scrubbed by Anti-Tracking trackerCount: 0, // The amount of trackers scrubbed by Anti-Tracking (which are each associated with 1 or more data points) unknownTrackerCount: 0, // The amount of unknown trackers scrubbed by Anti-Tracking + unknownTrackers: [], // List of anti-tracking trackers not matched to Ghostery bug IDs + whitelistedUrls: {}, }, adBlock: { - totalCount: 0, // The amount of ads blocked by Ad Blocking + totalUnknownCount: 0, // The amount of data points blocked by Ad Blocking for Trackers not in the Ghostery DB + totalUnsafeCount: 0, // The amount of data points blocked by Ad Blocking trackerCount: 0, // The amount of trackers blocked by Ad Blocking (which are each associated with 1 or more ads) + unknownTrackerCount: 0, // The amount of unknown trackers blocked by Ad Blocking + unknownTrackers: [], // List of ad-block trackers not matched to Ghostery bug IDs + whitelistedUrls: {}, } }; /** From 53b0bb15559cbab0f2d64fc89dff94aeff687a18 Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Wed, 4 Sep 2019 22:42:41 -0400 Subject: [PATCH 3/8] roll back react-dom to fix issue with react-shadow and forwardRef --- app/panel/reducers/__tests__/summary.js | 14 ++- package.json | 20 +-- yarn.lock | 161 +++++++++++------------- 3 files changed, 92 insertions(+), 103 deletions(-) diff --git a/app/panel/reducers/__tests__/summary.js b/app/panel/reducers/__tests__/summary.js index 652b1cf50..3bb1531cd 100644 --- a/app/panel/reducers/__tests__/summary.js +++ b/app/panel/reducers/__tests__/summary.js @@ -36,14 +36,20 @@ const initialState = Immutable({ }, tab_id: 0, antiTracking: { - totalUnsafeCount: 0, totalUnknownCount: 0, + totalUnsafeCount: 0, trackerCount: 0, unknownTrackerCount: 0, + unknownTrackers: [], + whitelistedUrls: {}, }, adBlock: { - totalCount: 0, + totalUnknownCount: 0, + totalUnsafeCount: 0, trackerCount: 0, + unknownTrackerCount: 0, + unknownTrackers: [], + whitelistedUrls: {}, }, }); @@ -63,7 +69,7 @@ describe('app/panel/reducers/summary.js', () => { test('reducer correctly handles UPDATE_CLIQZ_MODULE_DATA', () => { const data = { adBlock: { - totalCount: 3, + totalUnsafeCount: 3, trackerCount: 2, }, antiTracking: { @@ -76,7 +82,7 @@ describe('app/panel/reducers/summary.js', () => { const initState = Immutable({ tab_id: 0, adBlock: { - totalCount: 1, + totalUnsafeCount: 1, trackerCount: 1, }, antiTracking: { diff --git a/package.json b/package.json index 1ce5aaf2a..b9fc035a6 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ }, "homepage": "https://github.com/ghostery/ghostery-extension#readme", "dependencies": { - "@cliqz/adblocker-circumvention": "^1.0.1", + "@cliqz/adblocker-circumvention": "^1.0.2", "@cliqz/url-parser": "^1.0.3", "base64-js": "^1.3.1", "browser-core": "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz", @@ -53,10 +53,10 @@ "json-api-normalizer": "^0.4.16", "moment": "^2.19.1", "prop-types": "^15.6.2", - "query-string": "^6.8.2", - "react": "^16.9.0", - "react-dom": "^16.9.0", - "react-markdown": "^4.0.8", + "query-string": "^6.8.3", + "react": "^16.8.6", + "react-dom": "^16.8.6", + "react-markdown": "^4.2.2", "react-redux": "^7.1.1", "react-router-dom": "^5.0.1", "react-shadow": "^17.1.3", @@ -80,11 +80,11 @@ "babel-eslint": "^10.0.3", "babel-loader": "^8.0.6", "clean-webpack-plugin": "^3.0.0", - "cross-env": "^5.1.3", + "cross-env": "^5.2.1", "css-loader": "^3.2.0", "enzyme": "^3.10.0", "enzyme-adapter-react-16": "^1.14.0", - "eslint": "6.2.2", + "eslint": "^6.3.0", "eslint-config-airbnb": "^18.0.1", "eslint-loader": "^3.0.0", "eslint-plugin-import": "^2.18.2", @@ -100,13 +100,13 @@ "oboe": "^2.1.3", "path": "^0.12.7", "react-router": "^5.0.1", - "react-test-renderer": "^16.9.0", + "react-test-renderer": "^16.8.6", "redux-mock-store": "^1.5.1", "sass-loader": "^8.0.0", "seamless-immutable": "^7.1.3", - "sinon": "^7.4.1", + "sinon": "^7.4.2", "sinon-chrome": "^3.0.1", - "svg-url-loader": "^3.0.0", + "svg-url-loader": "^3.0.2", "underscore-template-loader": "^1.0.0", "url-loader": "^2.1.0", "vendor-copy": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 18e2bb876..eb7af23d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -385,22 +385,22 @@ resolved "https://registry.yarnpkg.com/@cliqz-oss/dexie/-/dexie-2.0.4.tgz#0e710504e2b9198baa9b046abd3a82731b94d56e" integrity sha512-HxMbBQfdy0CehThTFierXbRPI+PHDEucUUriCCzViAKbCWWQIlL6uZcyDaaPRMPWy45v78lezPB4457kfjS72g== -"@cliqz/adblocker-circumvention@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@cliqz/adblocker-circumvention/-/adblocker-circumvention-1.0.1.tgz#40f841b4836b52272d5f956d0342a17c827fe30b" - integrity sha512-tvDxjF5Fc9rptFoSEvcljEHx0akhijz/OmlPNW/pYqaCXqutCbT8YdMOwNnNbs99yGtVdfgF0rLnl6m8BzhVGA== +"@cliqz/adblocker-circumvention@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@cliqz/adblocker-circumvention/-/adblocker-circumvention-1.0.2.tgz#9590c5fe2b54368cd268d7df62bf3f3121be639e" + integrity sha512-XDw6yUFo2UosABntoI31jzEOTIKOTb61s/4unTKrOOGVZZuZU2xq6TltS7SRxWtBjmc/tjK9A8rp/yv/XrQcVQ== dependencies: - "@cliqz/adblocker-content" "^1.0.1" + "@cliqz/adblocker-content" "^1.0.2" "@cliqz/adblocker-content@^0.13.2": version "0.13.2" resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-0.13.2.tgz#23893a0cea3e8de4c6e1a79d8d22c156dac9ec7c" integrity sha512-WYFLlHB8qNDI6ypZo2rmwzkBp0zZydPpvhcbkJ5q2AuMmZbOI4A7Hx0m+5ybV/wQGifeZtzIKf/SMyPMybhWyA== -"@cliqz/adblocker-content@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.0.1.tgz#544ec754c878b68fc8eea5a44f895d34ac48b988" - integrity sha512-hq3kKYFQcd14GqXIJi8/t1rxiw+APr6YGSa8bTulvTNIfeJwWlIwcbhO5f6zTdvFiqU3sgJ6FlRnuSwzmKMtMw== +"@cliqz/adblocker-content@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.0.2.tgz#4a6c64f6d05bdbd65fded42a0565ca42ba076c2b" + integrity sha512-vAghMMgzPIckPkGjMy0+3sD0MSS3WYVcSQfjiOHALZtmWMNmD5920e5kPL3mNOCFKMMko7fXitK2NZfm+diR4A== "@cliqz/adblocker-webextension-cosmetics@^0.13.2": version "0.13.2" @@ -639,7 +639,7 @@ array-from "^2.1.1" lodash "^4.17.11" -"@sinonjs/samsam@^3.3.2": +"@sinonjs/samsam@^3.3.3": version "3.3.3" resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a" integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ== @@ -2044,13 +2044,12 @@ create-react-class@^15.6.2: loose-envify "^1.3.1" object-assign "^4.1.1" -cross-env@^5.1.3: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" - integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg== +cross-env@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.1.tgz#b2c76c1ca7add66dc874d11798466094f551b34d" + integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== dependencies: cross-spawn "^6.0.5" - is-windows "^1.0.0" cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" @@ -2975,10 +2974,10 @@ eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== -eslint@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.2.2.tgz#03298280e7750d81fcd31431f3d333e43d93f24f" - integrity sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw== +eslint@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz#1f1a902f67bfd4c354e7288b81e40654d927eb6a" + integrity sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -3246,13 +3245,13 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.0.0.tgz#c3570783fefb6e1bc0978a856f4bf5825b966c2a" - integrity sha512-roAbL6IdSGczwfXxhMi6Zq+jD4IfUpL0jWHD7fvmjdOVb7xBfdRUHe4LpBgO23VtVK5AW1OlWZo0p34Jvx3iWg== +file-loader@~4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz#5fb124d2369d7075d70a9a5abecd12e60a95215e" + integrity sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ== dependencies: - loader-utils "^1.2.2" - schema-utils "^1.0.0" + loader-utils "^1.2.3" + schema-utils "^2.0.0" file-uri-to-path@1.0.0: version "1.0.0" @@ -4260,7 +4259,7 @@ is-windows@^0.2.0: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= -is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -5057,7 +5056,7 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.2, loader-utils@^1.2.3: +loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== @@ -5587,7 +5586,7 @@ nise@^1.4.10: lolex "^4.1.0" path-to-regexp "^1.7.0" -nise@^1.5.1: +nise@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.2.tgz#b6d29af10e48b321b307e10e065199338eeb2652" integrity sha512-/6RhOUlicRCbE9s+94qCUsyE+pKlVJ5AhIv+jEE7ESKwnbXqulKZ1FYU+XAtHHWE9TinYvAxDUJAb912PwPoWA== @@ -6543,10 +6542,10 @@ query-string@^4.1.0: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^6.8.2: - version "6.8.2" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" - integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== +query-string@^6.8.3: + version "6.8.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" + integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -6622,15 +6621,15 @@ react-dom@16.6.3: prop-types "^15.6.2" scheduler "^0.11.2" -react-dom@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" - integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ== +react-dom@^16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" + integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.15.0" + scheduler "^0.13.6" react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: version "16.8.6" @@ -6647,14 +6646,15 @@ react-lifecycles-compat@^3.0.0: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-markdown@^4.0.8: - version "4.1.0" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.1.0.tgz#7fdf840ecbabc803f28156f7411c726b58f25a73" - integrity sha512-EOHsEAN+aoP8UVz7vTHx6Z63GJfhrO9KItKlfsiBtVVS9tmSWtUaBTw73+2SObrWiOiE2Cs9qUBL7ORsvVhOrA== +react-markdown@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.2.2.tgz#b378774fcffb354653db8749153fc8740f9ed2f1" + integrity sha512-/STJiRFmJuAIUdeBPp/VyO5bcenTIqP3LXuC3gYvregmYGKjnszGiFc2Ph0LsWC17Un3y/CT8TfxnwJT7v9EJw== dependencies: html-to-react "^1.3.4" mdast-add-list-metadata "1.0.1" prop-types "^15.7.2" + react-is "^16.8.6" remark-parse "^5.0.0" unified "^6.1.5" unist-util-visit "^1.3.0" @@ -6752,7 +6752,7 @@ react-svg@^10.0.20: "@tanem/svg-injector" "^8.0.30" prop-types "^15.7.2" -react-test-renderer@^16.0.0-0: +react-test-renderer@^16.0.0-0, react-test-renderer@^16.8.6: version "16.8.6" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" integrity sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw== @@ -6762,16 +6762,6 @@ react-test-renderer@^16.0.0-0: react-is "^16.8.6" scheduler "^0.13.6" -react-test-renderer@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0.tgz#7ed657a374af47af88f66f33a3ef99c9610c8ae9" - integrity sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ== - dependencies: - object-assign "^4.1.1" - prop-types "^15.6.2" - react-is "^16.9.0" - scheduler "^0.15.0" - react-timer-mixin@^0.13.3: version "0.13.4" resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" @@ -6810,14 +6800,15 @@ react@16.6.3: prop-types "^15.6.2" scheduler "^0.11.2" -react@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" - integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== +react@^16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" + integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" + scheduler "^0.13.6" read-installed@~4.0.3: version "4.0.3" @@ -7333,14 +7324,6 @@ scheduler@^0.13.6: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" - integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -7359,12 +7342,12 @@ schema-utils@^2.0.0: ajv-keywords "^3.1.0" schema-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" - integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz#48a065ce219e0cacf4631473159037b2c1ae82da" + integrity sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA== dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" + ajv "^6.10.2" + ajv-keywords "^3.4.1" scss-tokenizer@^0.2.3: version "0.2.3" @@ -7483,17 +7466,17 @@ sinon@^7.2.3: nise "^1.4.10" supports-color "^5.5.0" -sinon@^7.4.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.4.1.tgz#bcd0c63953893e87fa0cc502f52489c32a83d4d9" - integrity sha512-7s9buHGHN/jqoy/v4bJgmt0m1XEkCEd/tqdHXumpBp0JSujaT4Ng84JU5wDdK4E85ZMq78NuDe0I3NAqXY8TFg== +sinon@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.4.2.tgz#ecd54158fef2fcfbdb231a3fa55140e8cb02ad6c" + integrity sha512-pY5RY99DKelU3pjNxcWo6XqeB1S118GBcVIIdDi6V+h6hevn1izcg2xv1hTHW/sViRXU7sUOxt4wTUJ3gsW2CQ== dependencies: "@sinonjs/commons" "^1.4.0" "@sinonjs/formatio" "^3.2.1" - "@sinonjs/samsam" "^3.3.2" + "@sinonjs/samsam" "^3.3.3" diff "^3.5.0" lolex "^4.2.0" - nise "^1.5.1" + nise "^1.5.2" supports-color "^5.5.0" sisteransi@^1.0.0: @@ -7917,13 +7900,13 @@ supports-color@^5.3.0, supports-color@^5.5.0: dependencies: has-flag "^3.0.0" -svg-url-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/svg-url-loader/-/svg-url-loader-3.0.0.tgz#366e5982da8fad5e4be4d405349cc58d68cd119b" - integrity sha512-z50VtJLRPoZKUW8gv/YP4ld3QUknK4Vzi2q9dHWYW9iFfOeOMLbBo5x61YLD8O+BrzOk1rVB7ZNCFdX83DTgFg== +svg-url-loader@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/svg-url-loader/-/svg-url-loader-3.0.2.tgz#7bcbb676927e71c9267fd879f8962396b59aa04a" + integrity sha512-MUJFVU2uuOTZW6Eq6NuXZxhaIyWiuKtZMcT90nCkcvIZPGGc0CYyZWYP/rtXUkja5qagNMpxDwdZ/tuC6ywfWg== dependencies: - file-loader "4.0.0" - loader-utils "1.2.3" + file-loader "~4.2.0" + loader-utils "~1.2.3" symbol-observable@^1.2.0: version "1.2.0" @@ -8056,17 +8039,17 @@ tiny-warning@^1.0.0, tiny-warning@^1.0.2: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.2.tgz#1dfae771ee1a04396bdfde27a3adcebc6b648b28" integrity sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q== -tldts-core@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.3.2.tgz#3823653310c2dc6e51d00998098a72a3cc203ea9" - integrity sha512-bGI7MvrFXnbNhSkKEKAjiRo+eoIuIsuzF/hOtpI7HLMLWamIGtrLuNv2nlBOdN/h6iB6B32B4MxmwPWTZ70TaQ== +tldts-core@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.4.0.tgz#bd69ca3ad96a78ab675c74684c6d0717929777ec" + integrity sha512-kfDnB7fcNgNUcn5k21TPM/MbXqJNt2bBGQRfGyE39H334Qk+qNcSqw9It3YPxvrA7msl7DQ8wvcIsa0y55auug== tldts-experimental@^5.3.0, tldts-experimental@^5.3.1, tldts-experimental@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.3.2.tgz#2b3ed4178345ebdc4f0aed6595ab6f2ef11c63ee" - integrity sha512-TJKbNzsOwzYQcOC3C18/0wot7WpJHw2R3MYHKzn4q69l5fgDO5Gu+/wqUGXFB5ps7ezKk8QTqwlqKOa+gqJbNg== + version "5.4.0" + resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.4.0.tgz#fb3626116ea5bd105c7b5422ed0e9a4d85d562cc" + integrity sha512-I77oJtp33aVieGK8Fn9BGmrhkxLnTmrQaWBD7Ex92D6A+bGlO72tijRwoAHSvcR2pgPG6+u9SRmoBxyH+nVjow== dependencies: - tldts-core "^5.3.2" + tldts-core "^5.4.0" tmp@^0.0.33: version "0.0.33" From 5fe6919a646761fe2b33303a527fc857c2e97054 Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Thu, 5 Sep 2019 23:24:04 -0400 Subject: [PATCH 4/8] remove react-shadow package for Rewards in favor of vanilla implementation --- app/content-scripts/rewards/index.jsx | 57 ++++++++++++----------- package.json | 11 +++-- yarn.lock | 65 ++++++++++++++------------- 3 files changed, 68 insertions(+), 65 deletions(-) diff --git a/app/content-scripts/rewards/index.jsx b/app/content-scripts/rewards/index.jsx index 7b09daad1..0e558d529 100644 --- a/app/content-scripts/rewards/index.jsx +++ b/app/content-scripts/rewards/index.jsx @@ -19,7 +19,6 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { Router, Route } from 'react-router-dom'; -import root from 'react-shadow'; import HotDog from './HotDog'; import OfferCard from './OfferCard'; import msgModule from '../utils/msg'; @@ -90,37 +89,37 @@ class RewardsApp { } renderShadow() { - // use shadowDOM to encapsulate CSS - fully supported in Chrome - this.rewardsContainer.appendChild(this.rewardsApp); + // Use shadowDOM to encapsulate CSS document.body.appendChild(this.rewardsContainer); + const shadowRoot = this.rewardsContainer.attachShadow({ mode: 'open' }); // Get the shadow root + shadowRoot.appendChild(this.rewardsApp); // Append React root to shadow root + this.mainView = props => ( - - - - } - /> - - } - /> - - } - /> - + + + } + /> + + } + /> + + } + /> ); this.initListener(); diff --git a/package.json b/package.json index b9fc035a6..96bb511cb 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@cliqz/adblocker-circumvention": "^1.0.2", "@cliqz/url-parser": "^1.0.3", "base64-js": "^1.3.1", - "browser-core": "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz", + "browser-core": "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.3/browser-core-7.39.3.tgz", "classnames": "^2.2.5", "d3": "^5.11.0", "foundation-sites": "^6.4.4-rc1", @@ -54,12 +54,11 @@ "moment": "^2.19.1", "prop-types": "^15.6.2", "query-string": "^6.8.3", - "react": "^16.8.6", - "react-dom": "^16.8.6", + "react": "^16.9.0", + "react-dom": "^16.9.0", "react-markdown": "^4.2.2", "react-redux": "^7.1.1", "react-router-dom": "^5.0.1", - "react-shadow": "^17.1.3", "react-svg": "^10.0.20", "redux": "^4.0.4", "redux-object": "^0.5.10", @@ -100,7 +99,7 @@ "oboe": "^2.1.3", "path": "^0.12.7", "react-router": "^5.0.1", - "react-test-renderer": "^16.8.6", + "react-test-renderer": "^16.9.0", "redux-mock-store": "^1.5.1", "sass-loader": "^8.0.0", "seamless-immutable": "^7.1.3", @@ -111,7 +110,7 @@ "url-loader": "^2.1.0", "vendor-copy": "^2.0.0", "webpack": "^4.39.3", - "webpack-cli": "^3.3.7", + "webpack-cli": "^3.3.8", "webpack-shell-plugin": "^0.5.0" } } diff --git a/yarn.lock b/yarn.lock index eb7af23d5..043c59834 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1473,9 +1473,9 @@ brorand@^1.0.1: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -"browser-core@https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz": - version "7.39.2" - resolved "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.2/browser-core-7.39.2.tgz#856122386d236f16bd5ad769c00b00e823c7c749" +"browser-core@https://github.com/cliqz-oss/browser-core/releases/download/v7.39.3/browser-core-7.39.3.tgz": + version "7.39.3" + resolved "https://github.com/cliqz-oss/browser-core/releases/download/v7.39.3/browser-core-7.39.3.tgz#c6acca3914c8a549d560134117e7b5d9e0a0fb75" dependencies: "@cliqz-oss/dexie" "^2.0.4" "@cliqz/adblocker-webextension" "^0.13.2" @@ -3806,11 +3806,6 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -humps@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" - integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= - hyphenate-style-name@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48" @@ -6621,15 +6616,15 @@ react-dom@16.6.3: prop-types "^15.6.2" scheduler "^0.11.2" -react-dom@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" - integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== +react-dom@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" + integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.6" + scheduler "^0.15.0" react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: version "16.8.6" @@ -6736,13 +6731,6 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-shadow@^17.1.3: - version "17.1.3" - resolved "https://registry.yarnpkg.com/react-shadow/-/react-shadow-17.1.3.tgz#21f8ebbbeff8f867a5eb29dec52758a3fb576d42" - integrity sha512-T0TETccduTNwid9/URfWRhtAH0Fv3eA1zra7cq+2bY5u4fd4oBjtXA629h/95QN8aznlJof3ELd36qOyzaGdHQ== - dependencies: - humps "^2.0.1" - react-svg@^10.0.20: version "10.0.20" resolved "https://registry.yarnpkg.com/react-svg/-/react-svg-10.0.20.tgz#cbbc7394e711311a6f07a2c679563ea9364bb558" @@ -6752,7 +6740,7 @@ react-svg@^10.0.20: "@tanem/svg-injector" "^8.0.30" prop-types "^15.7.2" -react-test-renderer@^16.0.0-0, react-test-renderer@^16.8.6: +react-test-renderer@^16.0.0-0: version "16.8.6" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" integrity sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw== @@ -6762,6 +6750,16 @@ react-test-renderer@^16.0.0-0, react-test-renderer@^16.8.6: react-is "^16.8.6" scheduler "^0.13.6" +react-test-renderer@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0.tgz#7ed657a374af47af88f66f33a3ef99c9610c8ae9" + integrity sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ== + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.9.0" + scheduler "^0.15.0" + react-timer-mixin@^0.13.3: version "0.13.4" resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" @@ -6800,15 +6798,14 @@ react@16.6.3: prop-types "^15.6.2" scheduler "^0.11.2" -react@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" - integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== +react@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" + integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.6" read-installed@~4.0.3: version "4.0.3" @@ -7324,6 +7321,14 @@ scheduler@^0.13.6: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" + integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -8543,10 +8548,10 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-cli@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.7.tgz#77c8580dd8e92f69d635e0238eaf9d9c15759a91" - integrity sha512-OhTUCttAsr+IZSMVwGROGRHvT+QAs8H6/mHIl4SvhAwYywjiylYjpwybGx7WQ9Hkb45FhjtsymkwiRRbGJ1SZQ== +webpack-cli@^3.3.8: + version "3.3.8" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.8.tgz#caeaebcc26f685db1736e5decd3f01aac30123ec" + integrity sha512-RANYSXwikSWINjHMd/mtesblNSpjpDLoYTBtP99n1RhXqVI/wxN40Auqy42I7y4xrbmRBoA5Zy5E0JSBD5XRhw== dependencies: chalk "2.4.2" cross-spawn "6.0.5" From f1ba83a3f3538c213c3a70c56ba9d80f4abbd719 Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Fri, 6 Sep 2019 11:09:47 -0400 Subject: [PATCH 5/8] fix broken click handlers in Rewards shadowDOM --- app/content-scripts/rewards/index.jsx | 2 ++ package.json | 1 + yarn.lock | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/app/content-scripts/rewards/index.jsx b/app/content-scripts/rewards/index.jsx index 0e558d529..94537cd7f 100644 --- a/app/content-scripts/rewards/index.jsx +++ b/app/content-scripts/rewards/index.jsx @@ -19,6 +19,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { Router, Route } from 'react-router-dom'; +import retargetEvents from 'react-shadow-dom-retarget-events'; import HotDog from './HotDog'; import OfferCard from './OfferCard'; import msgModule from '../utils/msg'; @@ -93,6 +94,7 @@ class RewardsApp { document.body.appendChild(this.rewardsContainer); const shadowRoot = this.rewardsContainer.attachShadow({ mode: 'open' }); // Get the shadow root shadowRoot.appendChild(this.rewardsApp); // Append React root to shadow root + retargetEvents(shadowRoot); this.mainView = props => ( diff --git a/package.json b/package.json index 96bb511cb..633cd8e71 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "react-markdown": "^4.2.2", "react-redux": "^7.1.1", "react-router-dom": "^5.0.1", + "react-shadow-dom-retarget-events": "^1.0.10", "react-svg": "^10.0.20", "redux": "^4.0.4", "redux-object": "^0.5.10", diff --git a/yarn.lock b/yarn.lock index 043c59834..929409ede 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6731,6 +6731,11 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" +react-shadow-dom-retarget-events@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/react-shadow-dom-retarget-events/-/react-shadow-dom-retarget-events-1.0.10.tgz#78c3c039bf2ea4e788d91d390662c9ccaf8d92ad" + integrity sha512-OOt7ugDgSuXiy+PmMOMHqvm4ko6X+cJsre/N124dCJhLBXqv1xVLjwuhpeY7/nv7p/YxytvyfwYG+M19NMnSjQ== + react-svg@^10.0.20: version "10.0.20" resolved "https://registry.yarnpkg.com/react-svg/-/react-svg-10.0.20.tgz#cbbc7394e711311a6f07a2c679563ea9364bb558" From 6c7c9d8e5d683f8e68cd1f60be5a56bbc6d94a5e Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Fri, 6 Sep 2019 11:37:12 -0400 Subject: [PATCH 6/8] GH-1829 Update Unknown category tooltip --- _locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index aa79db610..3207182c0 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -725,7 +725,7 @@ "message": "Trust on this site" }, "panel_tracker_scrub_tooltip": { - "message": "Scrub on this site" + "message": "Anonymize on this site" }, "panel_detail_menu_list_title": { "message": "List View" From 882182616d8069de0c0a2304b5da740ea1461433 Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Fri, 6 Sep 2019 12:26:55 -0400 Subject: [PATCH 7/8] disable email opt-in on create account --- CHANGELOG.md | 8 ++++++++ .../CreateAccountView/CreateAccountViewContainer.jsx | 2 +- .../__tests__/CreateAccountView.test.jsx | 6 +++--- .../__snapshots__/CreateAccountView.test.jsx.snap | 8 ++++---- app/panel/components/CreateAccount.jsx | 2 +- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 847f2f93d..7023b3ba7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +### GHOSTERY 8.4.3 (UNRELEASED) + ++ Fixes issue where Detail View is blank when there are only Unknown trackers found () ++ New opt-in flow for Ghostery Rewards () ++ Fixes for AMO build script ++ Update all project dependencies to satisfy security alerts ++ Updated translations + ### GHOSTERY 8.4.2 (August 28, 2019) + Fix slow memory leak in Firefox (#434) diff --git a/app/hub/Views/CreateAccountView/CreateAccountViewContainer.jsx b/app/hub/Views/CreateAccountView/CreateAccountViewContainer.jsx index f44f9cf34..746521716 100644 --- a/app/hub/Views/CreateAccountView/CreateAccountViewContainer.jsx +++ b/app/hub/Views/CreateAccountView/CreateAccountViewContainer.jsx @@ -42,7 +42,7 @@ class CreateAccountViewContainer extends Component { password: '', passwordInvalidError: false, passwordLengthError: false, - promotionsChecked: true, + promotionsChecked: false, validateInput: false, }; diff --git a/app/hub/Views/CreateAccountView/__tests__/CreateAccountView.test.jsx b/app/hub/Views/CreateAccountView/__tests__/CreateAccountView.test.jsx index a38df35fa..e046c4725 100644 --- a/app/hub/Views/CreateAccountView/__tests__/CreateAccountView.test.jsx +++ b/app/hub/Views/CreateAccountView/__tests__/CreateAccountView.test.jsx @@ -31,7 +31,7 @@ describe('app/hub/Views/CreateAccount component', () => { password: '', passwordInvalidError: false, passwordLengthError: false, - promotionsChecked: true, + promotionsChecked: false, handleInputChange: () => {}, handleLegalConsentCheckboxChange: () => {}, handlePromotionsCheckboxChange: () => {}, @@ -58,7 +58,7 @@ describe('app/hub/Views/CreateAccount component', () => { password: '', passwordInvalidError: true, passwordLengthError: true, - promotionsChecked: false, + promotionsChecked: true, handleInputChange: () => {}, handleLegalConsentCheckboxChange: () => {}, handlePromotionsCheckboxChange: () => {}, @@ -87,7 +87,7 @@ describe('app/hub/Views/CreateAccount component', () => { password: '', passwordInvalidError: false, passwordLengthError: false, - promotionsChecked: true, + promotionsChecked: false, handleInputChange: () => {}, handleLegalConsentCheckboxChange: () => {}, handlePromotionsCheckboxChange: () => {}, diff --git a/app/hub/Views/CreateAccountView/__tests__/__snapshots__/CreateAccountView.test.jsx.snap b/app/hub/Views/CreateAccountView/__tests__/__snapshots__/CreateAccountView.test.jsx.snap index 7c359d031..61e4288d1 100644 --- a/app/hub/Views/CreateAccountView/__tests__/__snapshots__/CreateAccountView.test.jsx.snap +++ b/app/hub/Views/CreateAccountView/__tests__/__snapshots__/CreateAccountView.test.jsx.snap @@ -173,14 +173,14 @@ exports[`app/hub/Views/CreateAccount component Snapshot tests with react-test-re className="CreateAccountView__checkboxContainer CreateAccountView--marginBottom flex-container" >
@@ -441,14 +441,14 @@ exports[`app/hub/Views/CreateAccount component Snapshot tests with react-test-re className="CreateAccountView__checkboxContainer CreateAccountView--marginBottom flex-container" >
diff --git a/app/panel/components/CreateAccount.jsx b/app/panel/components/CreateAccount.jsx index 4c2530ff9..db5fe2f4a 100644 --- a/app/panel/components/CreateAccount.jsx +++ b/app/panel/components/CreateAccount.jsx @@ -36,7 +36,7 @@ class CreateAccount extends React.Component { legalConsentChecked: false, legalConsentNotCheckedError: false, password: '', - promotionsChecked: true, + promotionsChecked: false, loading: false, passwordInvalidError: false, passwordLengthError: false, From b9acc430d3172dbce52ed8d4ee2fe3bd4b6dc745 Mon Sep 17 00:00:00 2001 From: Christopher Tino Date: Fri, 6 Sep 2019 12:36:44 -0400 Subject: [PATCH 8/8] GH-1825 enable Rewards for new installs --- app/hub/Views/SetupView/SetupViewContainer.jsx | 2 +- src/background.js | 2 +- src/classes/ConfData.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/hub/Views/SetupView/SetupViewContainer.jsx b/app/hub/Views/SetupView/SetupViewContainer.jsx index 0902c1ae7..3434aafb2 100644 --- a/app/hub/Views/SetupView/SetupViewContainer.jsx +++ b/app/hub/Views/SetupView/SetupViewContainer.jsx @@ -104,7 +104,7 @@ class SetupViewContainer extends Component { this.props.actions.setAntiTracking({ enable_anti_tracking: true }); this.props.actions.setAdBlock({ enable_ad_block: true }); this.props.actions.setSmartBlocking({ enable_smart_block: true }); - this.props.actions.setGhosteryRewards({ enable_ghostery_rewards: !IS_FIREFOX }); + this.props.actions.setGhosteryRewards({ enable_ghostery_rewards: true }); this.props.actions.setHumanWeb({ enable_human_web: !IS_FIREFOX }); } diff --git a/src/background.js b/src/background.js index a6a3865e5..de12238b3 100644 --- a/src/background.js +++ b/src/background.js @@ -1767,7 +1767,7 @@ function initializeGhosteryModules() { conf.enable_ad_block = !adblocker.isDisabled; conf.enable_anti_tracking = !antitracking.isDisabled; conf.enable_human_web = !humanweb.isDisabled && !(IS_FIREFOX && globals.JUST_INSTALLED); - conf.enable_offers = !offers.isDisabled && !(IS_FIREFOX && globals.JUST_INSTALLED); + conf.enable_offers = !offers.isDisabled; } } }); diff --git a/src/classes/ConfData.js b/src/classes/ConfData.js index 62cc1f016..c4e262ae7 100644 --- a/src/classes/ConfData.js +++ b/src/classes/ConfData.js @@ -107,7 +107,7 @@ class ConfData { _initProperty('enable_click2play_social', true); _initProperty('enable_human_web', !IS_CLIQZ && !IS_FIREFOX); _initProperty('enable_metrics', false); - _initProperty('enable_offers', !IS_CLIQZ && !IS_FIREFOX); + _initProperty('enable_offers', !IS_CLIQZ); _initProperty('enable_smart_block', true); _initProperty('expand_all_trackers', true); _initProperty('hide_alert_trusted', false);