Commit Graph

70 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
08997000eb Backed out 2 changesets (bug 1202902) to recking bug 1202902 to be able to reopen inbound on a CLOSED TREE
Backed out changeset 647025383676 (bug 1202902)
Backed out changeset d70c7fe532c6 (bug 1202902)
2015-10-07 14:03:21 +02:00
Carsten "Tomcat" Book
e7ef778c9d Backed out 1 changesets (bug 1202902) for causing merge conflicts to mozilla-central
Backed out changeset cfc1820361f5 (bug 1202902)

--HG--
extra : rebase_source : 5d3db72337754bc7ab0ed0c30b2896100411ff92
2015-10-07 12:13:45 +02:00
Shu-yu Guo
d06b6030f6 Bug 1202902 - Scripted fix the world. 2015-10-06 14:00:31 -07:00
Shu-yu Guo
64db2267cf Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Alessio Placitelli
f397c3113f Bug 1180790 - Stop resetting the client id on FHR opt-out. r=gfritzsche 2015-07-09 04:47:00 +02:00
ziyunfei
e1db0f779e Bug 1102219 - Part 4: Replace String.prototype.contains with String.prototype.includes in chrome code. r=till 2015-04-30 00:32:05 +09:00
Georg Fritzsche
6527ebfd28 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-17 17:24:04 +02:00
Carsten "Tomcat" Book
4dad62acf8 Backed out changeset 5513b60463b8 (bug 1064333) for XPCshell test failures on a CLOSED TREE 2014-10-21 14:38:40 +02:00
Georg Fritzsche
6ef325b0bf Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-15 17:34:53 +02:00
Wes Kocher
60a12fdf28 Backed out 4 changesets (bug 1064333) for XPCShell bustage
Backed out changeset 378314f2892c (bug 1064333)
Backed out changeset ccb8a2ac9746 (bug 1064333)
Backed out changeset 3466ed3b9b61 (bug 1064333)
Backed out changeset 553c113c8f4e (bug 1064333)
2014-10-16 13:37:37 -07:00
Georg Fritzsche
0e08e7fd64 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-16 20:11:03 +02:00
Carsten "Tomcat" Book
517cd96d4c Backed out changeset 735f5c30d397 (bug 1064333) for XPC Bustage on a CLOSED TREE
--HG--
extra : amend_source : 8b12237f285b03acfe6e18cccc9f8480c6d385c2
2014-10-16 15:03:13 +02:00
Georg Fritzsche
8594bb83b2 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-15 17:34:53 +02:00
Gregory Szorc
8ea5c183d9 Bug 1055102 - Properly handle Unicode in Bagheera payloads; r=bsmedberg
It was observed that FHR was sending invalid JSON payloads to the
server. Specifically, JSON payloads contained invalid Unicode strings.

Investigation revealed that the culprint was CommonUtils.convertString()
silently swallowing high bytes. When the Bagheera client went to gzip
the JSON payload, the input buffer into gzip was missing high bytes.

This patch changes the bagheera client to UTF-8 encode strings before
gzip, thus ensuring all data is preserved. A corresponding change was
also added to the mock bagheera server implementation.

Alternatively, we could have changed CommonUtils.convertString() to
be high byte aware. However, many consumers rely on this function.
This patch is written with the intent of being uplifted and the change
performed is targeted at the specific problem.

Tests for Unicode preserving behavior have been added to both the
generic Bagheera client and to FHR. The latter test is arguably
not necessary, but peace of mind is a good thing, especially with
FHR.

See also bug 915850.

--HG--
extra : rebase_source : 4efddea7767c2e5f8cf19df247c3aba07c40eec6
extra : amend_source : ae3b6d89efa54fc9ed1794404476622946ad4b22
2014-08-19 09:12:12 -07:00
Georg Fritzsche
db980a370f Bug 862563 - Remove implicit acceptance for data reporting notification and notify on first run. r=gps
The data reporting notification was over-complicated. It wasn't
displayed for +24hr after first run and it had a weird, non-required
policy around what constituted acceptance of the policy.

The notification is now shown shortly after first startup.

The logic around "notification accepted" has been greatly simplified by
rolling it into "notification shown." Where we once were checking
whether the notification has been "accepted," we now check whether it
has been displayed. The overly complicated logic around the implicit
acceptance of the policy has also been removed.

The end result is the code for managing the state of the notification is
greatly simplified.
2014-07-09 14:32:29 -07:00
Gregory Szorc
7bf9c63052 Bug 1053315 - Catch more errors during upload; r=bsmedberg
If recording FHR data during uploading raised an exception, it could
potentially abort the upload. This would appear to Mozilla as clients
that suddenly stopped using Firefox.

This patch adds explicit exception trapping around event record to
ensure this doesn't happen.

--HG--
extra : rebase_source : 7cd207b08a4f62be55093c71cb56e28832fd39d8
extra : amend_source : 9144ecea16a013370fffa5c2e833af4ec528ef5b
2014-08-13 11:18:22 -07:00
Wes Kocher
12b6391129 Backed out changeset 8673477f5fc2 (bug 862563) for Windows mochitest-5 failures 2014-07-11 17:00:08 -07:00
Georg Fritzsche
36ae1e497a Bug 862563 - Remove implicit acceptance for data reporting notification and notify on first run; r=gps
The data reporting notification was over-complicated. It wasn't
displayed for +24hr after first run and it had a weird, non-required
policy around what constituted acceptance of the policy.

The notification is now shown shortly after first startup.

The logic around "notification accepted" has been greatly simplified by
rolling it into "notification shown." Where we once were checking
whether the notification has been "accepted," we now check whether it
has been displayed. The overly complicated logic around the implicit
acceptance of the policy has also been removed.

The end result is the code for managing the state of the notification is
greatly simplified.

--HG--
extra : rebase_source : 808efdf1edd103552f6aa10b5c4309b64e514773
extra : amend_source : e4252e6a850a348d1b5aca733121dd07cbc6a70a
extra : histedit_source : 10ec20a07677674a8c9a705a3ffb4dc46a22b890%2Ca9442934d5964f16e9ad1101b786b4d094ac228d
2014-07-09 14:32:29 -07:00
Gregory Szorc
04d5343419 Bug 1033836 - Rename services-common to services/common; rs=rnewman
The upcoming build system patches don't support hypthens in path names.
Changing this for that reason is kind of silly, but it's the easiest
way. Besides, nothing else uses hyphens in directory names.

--HG--
extra : rebase_source : 42dda2b1f16a3c0bfe17397a70092362e400530f
2014-07-02 16:49:36 -07:00
David Rajchenbach-Teller
3409d1ab07 Bug 1016389 - Fix uncaught async error in test_healthreporter.js. r=rnewman 2014-05-27 08:06:00 -04:00
David Rajchenbach-Teller
3c0791acd1 Bug 917883 - Use AsyncShutdown instead of spinning the event loop in healthreporter.jsm. r=gps, r=rnewman 2014-05-22 02:11:00 -04:00
Gregory Szorc
dc4476a645 Bug 968419 - Store and submit a persistent health report identifier; r=rnewman, r=bsmedberg
Up to this point, Firefox Health Report has generated and submitted a
random UUID with each upload. Generated UUIDs were stored on the client.
During upload, the client asked the server to delete all old UUIDs.
Well-behaving clients thus left at most one record/ID on the server.

Unfortunately, clients in the wild have not been behaving properly. We
are seeing multiple documents on the server that appear to come from the
same client. Clients are uploading new records but failing to delete the
old ones. These old, undeleted "orphan" records are severely impacting
the ability to derive useful knowledge from FHR data because it is
difficult, resource intensive, and error prone to filter the records on
the server. This is undermining the ability for FHR data to be put to
good use.

This patch introduces a persistent client identifier. When the client is
initialized, it generates a random UUID. That UUID is persisted to the
profile and sent as part of every upload.

For privacy reasons, if a client opts out of data submission, the client
ID will be reset as soon as all remote data has been deleted.

We still issue and send upload IDs. They exist mostly for forensics
purposes so we may log client behavior and more accurately determine
what exactly misbehaving, orphan-producing clients are doing.

It is worth noting that this persistent client identifier will not solve
all problems of branching and orphaned records. For example, profile
copying will result in multiple clients sharing a client identifier. A
"client ID version" field has been added to facilitate an upgrade path
towards client IDs with different generation semantics.

--HG--
extra : rebase_source : b761daab39fb07b6ab8883819d68bf53462314a0
2014-02-20 11:30:52 -08:00
Gregory Szorc
6aff20394a Bug 965587 - Add lock to Firefox Health Report uploading; r=rnewman
Previously, it was technically possible for the FHR client to have
multiple simultaneous uploads. While this should never occur in
well-behaving systems, server logs have indicated that this behavior
might be occurring.

This patch adds a lock around uploading to ensure only 1 upload
operation may be active at a given time.

To measure the impact of this change in the wild, we added a counter
that increments whenever a held lock is encountered.

--HG--
extra : rebase_source : f0bb5065a3618cd335b6b6f31e4e68850f31f151
2014-01-29 15:28:57 -08:00
Gregory Szorc
87ce3ec3b2 Bug 946604 - Move makeFakeAppDir into testing/modules. r=rnewman 2013-12-05 16:54:15 +08:00
Ryan VanderMeulen
6fddf1a235 Bug 931642 - Backed out changeset f4449a06e97f (bug 917883) for causing frequent OSX crashes. 2013-12-03 18:45:17 -05:00
David Rajchenbach-Teller
0299c684c8 Bug 917883 - Use AsyncShutdown instead of spinning the event loop in healthreporter.jsm. r=gps 2013-11-15 21:46:38 -05:00
Gregory Szorc
da7deab3e1 Bug 884421 - Automatically select network ports for /services tests; r=rnewman 2013-07-23 13:53:05 -07:00
Gregory Szorc
95806b4b2f Backout b817406485f8 (bug 884421) for intermittent WinXP failures (bug 896093)
CLOSED TREE
2013-07-22 13:24:45 -07:00
Gregory Szorc
af3f9312d8 Bug 864993 - Part 2: Properly implement app update collection; r=rnewman 2013-07-18 16:13:43 -07:00
Gregory Szorc
22709b6535 Bug 884421 - Automatic network port selection for /services tests; r=rnewman 2013-07-16 17:14:21 -07:00
Ryan VanderMeulen
62e8d6d2c3 Backed out 3 changesets (bug 884421) for intermittent xpcshell failures on a CLOSED TREE.
Backed out changeset 75b7cf367efb (bug 884421)
Backed out changeset 2264c04671c4 (bug 884421)
Backed out changeset 45c529ffbe90 (bug 884421)
2013-07-18 14:08:18 -04:00
Gregory Szorc
8a9a1cfd9a Bug 884421 - Part 2: Use a non-standard port in DUMMY_URI; r=bustage 2013-07-17 11:11:58 -07:00
Gregory Szorc
31e82adf05 Bug 884421 - Automatic network port selection for /services tests; r=rnewman 2013-07-16 17:14:21 -07:00
Stefan Mirea
3fb1be235c Bug 872758 - Delete all documents on FHR upload; r=gps 2013-06-21 10:30:30 -07:00
Stefan Mirea
a9a29634bb Bug 867902 - Remove old saved FHR payload from disk. r=gps 2013-06-18 11:06:20 -07:00
Stefan Mirea
773620d4d8 Bug 852411 - Migrating from promise.js to Promise.jsm; r=gps 2013-06-13 18:36:21 -07:00
Gregory Szorc
4639ab1d14 Backout 9080f6701733 (bug 852411) for hitting weird xpcshell test harness behavior in multiple local builds 2013-06-14 14:38:29 -07:00
Stefan Mirea
fd534fc41a Bug 852411 - Migrating from promise.js to Promise.jsm; r=gps
--HG--
extra : rebase_source : d03cdae978479605df0a7ea728916ba78a272ffb
2013-06-13 18:36:21 -07:00
Gregory Szorc
c73e48f946 Bug 850091 - Intermittent test_healthreporter.js 179 == 180; r=rnewman 2013-05-15 11:13:30 -07:00
Gregory Szorc
109a63bc1c Bug 846133 - Store FHR state in a file; r=rnewman
Preferences aren't robust. So, we're using a file.
2013-05-10 11:04:48 -07:00
Gregory Szorc
1b85fdaaf3 Bug 860094 - Remove saving of last payload to disk; r=rnewman 2013-05-01 09:55:30 -07:00
Gregory Szorc
b709df9c55 Bug 854018 - Record counts for FHR upload actions; r=rnewman 2013-05-01 09:41:55 -07:00
Gregory Szorc
635a0b357f Bug 861455 - Ensure all providers are loaded during important operations; r=rnewman 2013-04-22 12:33:24 -07:00
Gregory Szorc
0448cc1d1f Bug 855024 - Better management of pull-only providers; r=rnewman 2013-04-16 11:46:05 -07:00
Nick Alexander
0481627d39 Bug 848519 - Part 3: Replace services-common/preferences.js with gre/modules/Preferences.jsm in imports. r=gavin 2013-04-15 12:45:37 -07:00
Gregory Szorc
47647fca2b Bug 837292 - Part 2: Report new measurement version only; r=rnewman 2013-03-19 11:08:24 -07:00
Gregory Szorc
cb6c364e64 Bug 846083 - Submit an FHR payload after initialization failure; r=rnewman 2013-03-15 21:31:07 -07:00
Gregory Szorc
264e923d17 Bug 845935 - Don't perform FHR activities unless fully initialized; r=rnewman 2013-03-15 21:10:08 -07:00
Richard Newman
3984f31f93 Merge m-c to s-c. 2013-03-14 15:03:48 -07:00
Richard Newman
076633ca8b Bug 849353 - Add basic app info section to top level of FHR payload. r=gps 2013-03-14 11:24:12 -07:00