Data corruption warning - Behavior change
Background / User story
As ABP I would like to inform the user if there was Data corruption warning in non intrusive way so they won't be annoyed every time it happened but still be aware
What to change
- Design: https://eyeogmbh.invisionapp.com/share/NTUPSIHSF92#/screens
- Research : https://dovetailapp.com/projects/f0f1eecd-61f2-45af-b38a-e78db0533e6c/insights/present
- Spec: https://gitlab.com/eyeo/specs/spec/merge_requests/298
- Development: We may want to use an undefined notification type instead of introducing a new one, since the fallback behavior appears to reflect what's described in spec.
Hints for testers
- Verify that following the instructions exactly on Chrome/Chromium, Edge, Firefox and Opera will result in the extension being reinstalled.
- On first-run: First-run page should open in foreground.
- On subsequent runs: First-run page should not open.
- On data corruption or no filter lists:
- On Firefox Mobile: First-run page should open in background and show warning. No problem notification should be shown.
- On other applications: First-run page should not open. Problem notification should be shown instead.
- Day1 landing page should remain visually and functionally unchanged.
- New notification should be dismissable (e.g. not reappear when opening the icon popup again or after downloading notifications.json).
- Clicking on a notification link should close the icon popup on Firefox.
- Clicking on the Adblock Plus logo in Day1 or problem page should open the link in a new tab.
- We're using an undefined notification type to achieve the expected result. Therefore we need to verify that notifications that use an undefined notification type behave as expected and don't cause any breakage. Note that such notifications are shown using an orange color (instead of the gray color they were shown in previously, or the blue color for information notifications and red color for critical notifications).
Hints for translators
- Added problem.json.
Integration notes
- Requires
web.adblockplus.org#369HD#544 (internal) and core#126. - Allow notifications to open problem.html using "abp:problem".
- Except for Firefox Mobile: Call
showProblemNotification()
from lib/notifications.js instead of opening the first-run page in case of a data corruption issue or filter list reinitialization. This should be unaffected by thesuppress_first_run_page
preference. - For Firefox Mobile, keep showing the first-run page in case of problems.
- Renamed lib/day1Init.js to lib/notifications.js.
- Import the following new files:
- skin/icons/problem/data-corrupted.png
- skin/icons/checkmark-green.svg
- skin/icons/email-white.svg
- skin/icons/facebook-white.svg
- skin/icons/mac.svg
- skin/icons/open-link.svg
- skin/icons/twitter-white.svg
- skin/icons/warning.svg
- skin/icons/windows.svg
- skin/problem.css
- problem.html
- problem.js
- Import translations from locale/*/problem.json.
Edited by Thomas Greiner