Closed
Bug 829881
Opened 7 years ago
Closed 7 years ago
Remove remnants of Telemetry notification preferences
Categories
(Toolkit :: Telemetry, defect)
Toolkit
Telemetry
Not set
Tracking
()
RESOLVED
FIXED
mozilla21
People
(Reporter: gps, Assigned: gps)
References
Details
(Whiteboard: [fhr])
Attachments
(2 files, 1 obsolete file)
12.67 KB,
patch
|
tchevalier
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
2.31 KB,
patch
|
tchevalier
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
In bug 804745 we removed the Telemetry-specific notification bar and replaced it with a unified one that applies to {Telemetry, Crash Reports, Firefox Health Report}. The patch was only partial in that it did not remove lots of Telemetry-centric code still kinda/sorta looking at the preferences used by the notification bar. In this bug, we will remove the remnants of the legacy preferences. Legacy preferences include: * toolkit.telemetry.notifiedOptOut * toolkit.telemetry.prompted * toolkit.telemetry.rejected * @MOZ_TELEMETRY_DISPLAY_REV@ Removal of the above assumes that they are only referenced in frontend code, not in /toolkit. This work needs to be performed in the next few weeks and will need to be uplifted to 20 since the work in bug 804745 will be uplifted in the next day or two. (Bug 804745 is on the Aurora fast track because of new strings.) I will likely perform this work then get sign-off from Telemetry and browser peeps as necessary. As an aside, yes, I'm aware many of these were recently introduced and it may seem strange to remove them so suddenly. That's how software works sometimes :/
Assignee | ||
Updated•7 years ago
|
Whiteboard: [fhr]
Comment 1•7 years ago
|
||
No worries, I understand. Also, I think I can help you in there. I confirm, there is nothing in toolkit, but you will need to remove * toolkit.telemetry.notifiedOptOut * toolkit.telemetry.prompted from several tests, including Talos. (And likely replace them with a similar mecanism to hide th THR notification) And also be sure to permanently hide it in Webapps.js.
Comment 2•7 years ago
|
||
Tracking for 20 since that's the first version we're shipping FHR in.
status-firefox20:
--- → affected
Assignee | ||
Comment 3•7 years ago
|
||
We have a complicating factor: /mobile/android/chrome/content/browser.js. We don't yet have the unified notification bar in /mobile. Until we do, we need the old notification bar to persist. The good news is Chenxia (:liuche) has the mocks and requirements from Product/UX and will be working on this and it should land in Firefox 21. Yay! As for general behavior in the new world, this is how I'm going to code it to work (and I think this is similar or exactly how things are done today): On Nightly and Aurora channels, Telemetry is enabled by default via a default pref value. On new profiles, if you go to the Data Choices pref pane or about:telemetry, you'll see the checkbox checked by default. As soon as you launch the app, Telemetry will start collecting and sending data to Mozilla (because Telemetry is enabled by default). Eventually the user will see the unified data reporting notification bar. At that time they have the opportunity to go to the pref pane and disable Telemetry. I've been told the submit-before-notified behavior is acceptable on Nightly and Aurora channels. On Beta and Release channels, Telemetry is disabled by default via a default pref value. On new profiles, if you go to the Data Choices pref pane or about:telemetry, the checkbox will be unchecked by default. Since this pref is disabled by default, Telemetry will neither collect nor submit data on application start. Eventually the user will see the data reporting notification bar. At that time, they have the opportunity to opt in to Telemetry. If the user goes to the pref pane or about:telemetry and opts in to Telemetry, data recording starts immediately and data submission could occur before the data reporting notification bar is displayed. Please let me know if this is not acceptable.
Assignee | ||
Comment 4•7 years ago
|
||
Disclaimer: I'm not intimately familiar with the requirements for Telemetry before and of all the places in the tree where the code I touched could have implications. I quite possibly made some huge mistakes. I'm also not sure I tagged the appropriate person for review. This patch removes references to the Telemetry notification bar. This notification bar since been replaced with a unified "data reporting" notification bar covering {FHR, Telemetry, Crash Reports}. One might say that this patch stops recording user intent by removing the "toolkit.telemetry.rejected" pref. Yes and no. We don't have a separate pref any more. But, we do have the "is user set" state in the toolkit.telemetry.{enabled, enabledPreRelease} pref as captured by the preferences store. I /think/ this should be sufficient. If not, I can restore the explicit state capture. I did not touch /mobile because we still need the notification bar. I /might/ have broken something in mobile by removing pref references from about:telemetry. I don't know the code well enough to be sure. I also held off removing the pref references in the test files (e.g. automation.py.in) because I suspect they could be relevant for mobile. We should file a new bug to track the notification bar on mobile (there /might/ already be one) and remove the remaining prompting preferences when that lands.
Comment 5•7 years ago
|
||
Comment on attachment 702407 [details] [diff] [review] Remove references to Telemetry notification bar, v1 (In reply to Gregory Szorc [:gps] from comment #3) > Please let me know if this is not acceptable. Seems acceptable to me, the only concern I could have is sending data *before* showing anything to the user, but I assume privacy team has already reviewed that for FHR, so it could apply to Telemetry too? If not, maybe we could use the metrics collection service (I don’t know this code) to tell telemetry (and FHR?) when it’s good to go? (User acceptance, or implicit acceptance) (In reply to Gregory Szorc [:gps] from comment #4) > One might say that this patch stops recording user intent by removing the > "toolkit.telemetry.rejected" pref. Yes and no. We don't have a separate pref > any more. But, we do have the "is user set" state in the > toolkit.telemetry.{enabled, enabledPreRelease} pref as captured by the > preferences store. I /think/ this should be sufficient. If not, I can > restore the explicit state capture. If we do that, we have to be sure to never go back to something like the old notification bar, this is a question that I can’t answer. Either way, telemetry user acceptance record were screwed since the beginning, so… Also, the text we display in about dialog is only about Telemetry, since FHR is enabled by default too, it could make sense to update it. Maybe something shorter and more global like in the FHR notification "PRODUCTNAME sends some data to Mozilla so that we can improve your experience", but I will open a bug and let privacy people or Matej find the right words. Now, regarding your patch, I think what you removed is safe, I spotted some little other things we can also remove. In /toolkit/content/jar.mn * content/global/aboutTelemetry.js You can remove the "*", it is only needed for @MOZ_TELEMETRY_DISPLAY_REV@ In /toolkit/content/aboutTelemetry.js and in /browser/components/nsBrowserGlue.js You can remove #filter substitution for the same reason. If someone added something which require #filter after I added it, we will know that at build time :) Could be a good idea to do a try build to be safe. r+ with that.
Attachment #702407 -
Flags: review?(theo.chevalier11)
Assignee | ||
Comment 6•7 years ago
|
||
(In reply to Théo Chevalier [:tchevalier] from comment #5) > Seems acceptable to me, the only concern I could have is sending data > *before* showing anything to the user, but I assume privacy team has already > reviewed that for FHR, so it could apply to Telemetry too? In short, the Aurora and Nightly channels are exempt from the requirement that notification occur before upload. That means we only turn our scrutinizing eye to Beta and Release. On those channels, Telemetry is disabled by default. So, any data submission will be the result of explicit user action. Health Report is enabled by default, so it has to take extra precautions before upload. It does this, even on all channels (because a single code path is easier). > If not, maybe we could use the metrics collection service (I don’t know this > code) to tell telemetry (and FHR?) when it’s good to go? (User acceptance, > or implicit acceptance) We now have a "data reporting" XPCOM service. One of the objects that hangs off of it is a "policy" that holds state around what has been agreed to, what's enabled, etc. It currently only supports FHR. But, we could hang Telemetry off of it if we wanted. See https://hg.mozilla.org/mozilla-central/file/default/services/datareporting/policy.jsm > Also, the text we display in about dialog is only about Telemetry, since FHR > is enabled by default too, it could make sense to update it. Maybe something > shorter and more global like in the FHR notification "PRODUCTNAME sends some > data to Mozilla so that we can improve your experience", but I will open a > bug and let privacy people or Matej find the right words. Currently, Telemetry and FHR are separate product features. I anticipate they will converge or at least become more complementary over time. Given they are separate, I /think/ the current string on about:telemetry can remain. If we need to change, we can file a follow-up. > In /toolkit/content/jar.mn > * content/global/aboutTelemetry.js > You can remove the "*", it is only needed for @MOZ_TELEMETRY_DISPLAY_REV@ > In /toolkit/content/aboutTelemetry.js and in > /browser/components/nsBrowserGlue.js > You can remove #filter substitution for the same reason. Good catches! Done. > If someone added something which require #filter after I added it, we will > know that at build time :) > Could be a good idea to do a try build to be safe. I'll just land in s-c. If we get a build failure, we'll know :) > r+ with that. Thank you!
Comment 7•7 years ago
|
||
>I've been told the submit-before-notified behavior is acceptable on Nightly and Aurora channels.
Oops, read too fast, sorry :) So then it’s fine.
Assignee | ||
Comment 8•7 years ago
|
||
Incorporated review feedback.
Attachment #702407 -
Attachment is obsolete: true
Attachment #702456 -
Flags: review?(theo.chevalier11)
Comment 9•7 years ago
|
||
Comment on attachment 702456 [details] [diff] [review] Remove references to Telemetry notification bar, v2 You can also remove them from /browser/components/preferences/advanced.js and in-content, I forgot those, sorry.
Attachment #702456 -
Flags: review?(theo.chevalier11) → review+
Assignee | ||
Comment 10•7 years ago
|
||
https://hg.mozilla.org/services/services-central/rev/921437db35f9
Whiteboard: [fhr] → [fhr][fixed in services]
Assignee | ||
Comment 11•7 years ago
|
||
Comment on attachment 702456 [details] [diff] [review] Remove references to Telemetry notification bar, v2 [Approval Request Comment] Bug caused by (feature/regressing bug #): bugs 809094 and 804745 User impact if declined: Possibly none. There is potentially a UX bug related to the Telemetry checkbox lingering in here, however. Testing completed (on m-c, etc.): Manual testing of checkboxes in local builds (not automated test coverage). Risk to taking this patch (and alternatives if risky): See "user impact" String or UUID changes made by this patch: None
Attachment #702456 -
Flags: approval-mozilla-aurora?
Comment 12•7 years ago
|
||
triage drive-by, waiting for landing to central.
Assignee | ||
Comment 13•7 years ago
|
||
For some reason I didn't notice bustage until I performed a clobber build. Perhaps /telemetry/content/jar.mn isn't abiding by the rules I expected it to... Anyway, there is still preprocessor foo in aboutTelemetry.js, so we need the '*' in jar.mn. Also, I missed a reference to a deleted pref. I performed a clobber with this patch applied and about:telemetry works again.
Attachment #702601 -
Flags: review?(theo.chevalier11)
Comment 14•7 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #6) > > Also, the text we display in about dialog is only about Telemetry, since FHR > > is enabled by default too, it could make sense to update it. Maybe something > > shorter and more global like in the FHR notification "PRODUCTNAME sends some > > data to Mozilla so that we can improve your experience", but I will open a > > bug and let privacy people or Matej find the right words. > > Currently, Telemetry and FHR are separate product features. I anticipate > they will converge or at least become more complementary over time. Given > they are separate, I /think/ the current string on about:telemetry can > remain. If we need to change, we can file a follow-up. Of course we will keep the text as is in about:telemetry. I wasn’t clear, sorry, I was rather talking about the dialog in Firefox > Help > About $PRODUCTNAME. And yes, this text is about Telemetry stuff, but we don’t say it to the user, it could be understood as "what Nightly/Aurora is and what it may or is sending". Since we don’t only have telemetry enabled by default in those builds, and as you said it, the features are different, the data sent by default are now different, this is why I think we could (should?) update it. But if you think this couldn’t be confusing, it’s ok.
Comment 15•7 years ago
|
||
Oh, wait. Big issue. about:telemetry can be opened in mobile...
Assignee | ||
Comment 16•7 years ago
|
||
(In reply to Théo Chevalier [:tchevalier] from comment #15) > Oh, wait. Big issue. about:telemetry can be opened in mobile... I'm not sure how this would be a big issue. I believe the current patches would work on mobile - Telemetry just wouldn't be using the extra preferences (even though they are still saved on mobile - for now).
Comment 17•7 years ago
|
||
Comment on attachment 702601 [details] [diff] [review] Part 2: Fix about:telemetry bustage, v1 (In reply to Gregory Szorc [:gps] from comment #16) > (In reply to Théo Chevalier [:tchevalier] from comment #15) > > Oh, wait. Big issue. about:telemetry can be opened in mobile... > > I'm not sure how this would be a big issue. I believe the current patches > would work on mobile - Telemetry just wouldn't be using the extra > preferences (even though they are still saved on mobile - for now). Hm, you’re right, everything is ok. My bad (These days I’m a little bit paranoid when it comes to Telemetry prefs)
Attachment #702601 -
Flags: review?(theo.chevalier11) → review+
Assignee | ||
Comment 18•7 years ago
|
||
https://hg.mozilla.org/services/services-central/rev/e50dfda1a872
Assignee | ||
Comment 19•7 years ago
|
||
Comment on attachment 702601 [details] [diff] [review] Part 2: Fix about:telemetry bustage, v1 [Approval Request Comment] Followup to part 1. Part 1 actually broke about:telemetry :/
Attachment #702601 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 20•7 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/921437db35f9 https://hg.mozilla.org/mozilla-central/rev/e50dfda1a872
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox21:
--- → fixed
Resolution: --- → FIXED
Whiteboard: [fhr][fixed in services] → [fhr]
Target Milestone: --- → mozilla21
Comment 21•7 years ago
|
||
Comment on attachment 702456 [details] [diff] [review] Remove references to Telemetry notification bar, v2 Early enough in Aurora to take changes FHR that keep us consistent between FF20 and 21, even if the user impact is not fully known.
Attachment #702456 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•7 years ago
|
Attachment #702601 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 22•7 years ago
|
||
Pushed to Aurora: http://hg.mozilla.org/releases/mozilla-aurora/rev/77ac5f84e113 http://hg.mozilla.org/releases/mozilla-aurora/rev/b08ac3e59f63
Updated•7 years ago
|
relnote-firefox:
--- → ?
Comment 23•7 years ago
|
||
Not relnoting since we're not shipping FHR yet and this bug on its own doesn't really have a user-friendly phrasing for notes.
You need to log in
before you can comment on or make changes to this bug.
Description
•