Граф коммитов

2532 Коммитов

Автор SHA1 Сообщение Дата
Edouard Oger 9f071e2083 Bug 1409534 - Replace Resource impl by fetch. r=kitcambridge,markh,tcsc
MozReview-Commit-ID: 5mmVeHeMQKf

--HG--
extra : rebase_source : 84c20e3b90b5bed43e511158270761e2e1da6b15
2017-11-06 16:24:40 -05:00
Edouard Oger 438ca97ce7 Bug 1419990 - Only sync the tabs collection on sleep if there are changes. r=markh
MozReview-Commit-ID: GC0KMmQPqqD

--HG--
extra : rebase_source : 2039c7f644b3510dda07839c1e561786ad8c0ba1
2017-11-23 11:24:41 -05:00
Edouard Oger 0154c0f443 Bug 1416320 - Do a quick sync before going to sleep. r=markh
MozReview-Commit-ID: I36uvEFlEz5

--HG--
extra : rebase_source : 93812879d3ea19042356e51672f7f464e30e9ee5
2017-11-10 14:09:44 -05:00
Cosmin Sabou 959009f1a8 Backed out changeset 23fbfd83e957 (bug 1416320) for ESlint failure at gecko/services/sync/modules/policies.js:558:71 on a CLOSED TREE 2017-11-21 07:26:51 +02:00
Edouard Oger ab35b46c98 Bug 1416320 - Do a quick sync before going to sleep. r=markh
MozReview-Commit-ID: I36uvEFlEz5

--HG--
extra : rebase_source : 1910ac25084f6a8c37a6d21accf17da974d56493
2017-11-10 14:09:44 -05:00
Edouard Oger afa6330a25 Bug 1416322 - Wait until the network is back up to sync after waking-up from sleep. r=markh
MozReview-Commit-ID: 2vzmj3UkvtD

--HG--
extra : rebase_source : a152684365627cf1ea68efe10f5e27ad15577135
2017-11-16 13:12:31 -05:00
Edouard Oger 0648f86b7f Bug 1304898 - Include why in sync ping. r=tcsc
MozReview-Commit-ID: G9WnHhuWD7Z

--HG--
extra : rebase_source : 27cb3c2bdf7432e0db1e6a8431d348be50c2afd8
2017-11-15 17:10:45 -05:00
Edouard Oger fbd7ca1890 Bug 1416807 - Don't schedule syncs while we're behind to a captive portal. r=markh
MozReview-Commit-ID: 2CrO3CfKgC3

--HG--
extra : rebase_source : 460fb20172e325a154a4848e6a5ed0bacefd4b77
2017-11-15 16:01:48 -05:00
Kit Cambridge d6c28d0200 Bug 1417590 - Check for client duplicates in the Sync collection validator. r=tcsc
MozReview-Commit-ID: LcPnTEDhbis

--HG--
extra : rebase_source : 5070eebbb1495ac14cc140862dd78d46e638615f
2017-11-10 22:27:30 -08:00
Thom Chiovoloni 9e62cc5726 Bug 1416313 - Drop old or low priority commands rather than failing to sync the clients engine if too many commands are sent. r=eoger,markh
MozReview-Commit-ID: 6BJGmUL28hp

--HG--
extra : rebase_source : 894cafb34f193b802c90052142174ea3187b8396
2017-11-10 15:57:33 -05:00
Edouard Oger 8a3dc70885 Bug 1416321 - Do a sync after we successfully connect to a captive portal. r=markh
MozReview-Commit-ID: HuXyJ8IrNwA

--HG--
extra : rebase_source : b1171a1235011d5393dcd90a950b55320302c254
2017-11-10 14:55:19 -05:00
Thom Chiovoloni 93a711ae04 Bug 1416374 - Handle getting an abortincoming error in sync telemetry r=markh
MozReview-Commit-ID: LFmbkGa4ypu

--HG--
extra : rebase_source : 93e7e9fcfbdf141c86cede055b58d82985fea370
2017-11-10 18:02:58 -05:00
Ryan VanderMeulen 177a5a8bdc Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
--HG--
extra : histedit_source : 46923056fd09298724464a4df4466357821a361f
2017-11-12 21:22:25 -05:00
Kit Cambridge d93840902b Bug 1382937 - Rewrite Sync's master password functions to use the `nsILoginManagerCrypto` wrappers. r=MattN
Using `nsISecretDecoderRing` directly bypasses
`nsILoginManagerCrypto.uiBusy` and the observer notifications, so other
consumers might not be aware we're already showing the dialog. We also
bail early if the UI is busy, to avoid showing multiple dialogs.

MozReview-Commit-ID: I7xzUWZkyPH

--HG--
extra : rebase_source : 91cef140cc54d1c81fe5c1986ffd2b8983ddd575
2017-10-23 10:40:56 -07:00
tfe be730a069d Bug 1414438 - Use `getBatched` instead of `get` to backfill records r=kitcambridge
MozReview-Commit-ID: LLTg0ae5BbW
***
Bug 1414438 - Use `getBatched` instead of `get` in sync

--HG--
extra : rebase_source : b9b057160470ec5bc5544a1a4d5d429bee460452
2017-11-08 09:05:11 +01:00
Thom Chiovoloni edeaf1bc14 Bug 1415012 - Don't trigger a resync if the previous sync wasn't completely successful r=kitcambridge
MozReview-Commit-ID: DcNsFUxXR1O

--HG--
extra : rebase_source : 2632aa8d6db8e9e101e949c237b559015444f808
2017-11-06 20:56:57 -05:00
Sebastian Hengst af670f4147 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-11-07 02:47:30 +02:00
Manish Kumar 53383c5b3f Bug 1408108 - Rename "Sync ID" to "record ID" in the bookmarks engine and `PlacesSyncUtils`. r=kitcambridge
--HG--
extra : rebase_source : da3acfc4f7393a615c44f238c624bb826ff5b766
2017-11-06 12:17:07 -08:00
Thom Chiovoloni 935734388d Bug 1412351 - Make sync behave better during shutdown r=kitcambridge
MozReview-Commit-ID: 4zWNph8Zdld

--HG--
extra : rebase_source : 12e9f82222a4bcfe2161ad02669619b57f0442fe
2017-10-27 13:37:49 -04:00
Kit Cambridge 604673b3d3 Bug 1366067 - Use `JSONFile.jsm` to persist the backlog and previously failed IDs. r=tcsc
MozReview-Commit-ID: DAwMrtWI8eh

--HG--
extra : rebase_source : f6713745b09de2e6b0993539cce9ed4e8226dbbf
2017-11-01 11:10:47 -07:00
Thom Chiovoloni 4a77d5a93f Bug 1388224 - Remove SyncStorageRequest HTTP wrapper class, which is no longer used r=kitcambridge
MozReview-Commit-ID: EgExfizNll5

--HG--
extra : rebase_source : 85a6098a5b985990bd3a8483936bf6cf768f1f0b
2017-11-01 17:17:46 -04:00
Kit Cambridge 064ed56076 Bug 1368209 - Refactor `Engine::_processIncoming` into three stages. r=eoger,tcsc
* In the first stage, we fetch changed records, newest first, up to the
  download limit. We keep track of the oldest record modified time we
  see.
* Once we've fetched all records, we reconcile, noting records that
  fail to decrypt or reconcile for the next sync. We then ask the store
  to apply all remaining records. Previously, `applyIncomingBatchSize`
  specified how many records to apply at a time. I removed this because
  it added an extra layer of indirection that's no longer necessary,
  now that download batching buffers all records in memory, and all
  stores are async.
* In the second stage, we fetch IDs for all remaining records changed
  between the last sync and the oldest modified time we saw in the
  first stage. We *don't* set the download limit here, to ensure we
  add *all* changed records to our backlog, and we use the `"oldest"`
  sort order instead of `"index"`.
* In the third stage, we backfill as before. We don't want large deltas
  to delay other engines from syncing, so we still only take IDs up to
  the download limit from the backlog, and include failed IDs from the
  previous sync. On subsequent syncs, we'll keep fetching from the
  backlog until it's empty.

Other changes to note in this patch:

* `Collection::_rebuildURL` now allows callers to specify both `older`
  and `newer`. According to :rfkelly, this is explicitly and
  intentionally supported.
* Tests that exercise `applyIncomingBatchSize` are gone, since that's
  no longer a thing.
* The test server now shuffles records if the sort order is
  unspecified.

MozReview-Commit-ID: 4EXvNOa8mIo

--HG--
extra : rebase_source : f382f0a883c5aa1f6a4466fefe22ad1a88ab6d20
2017-11-01 11:09:57 -07:00
Kit Cambridge 96593594d3 Bug 1368209 - Add a test for fetching backlogged history records. r=tcsc
The test captures the existing logic in `_processIncoming`, even though
it's not quite correct:

* First, we fetch all records changed since the last sync, up to the
  download limit, and without an explicit sort order. This happens to
  work correctly now because the Python server uses "newest" by
  default, but can change in the future.
* If we reached the download limit fetching records, we request
  IDs for all records changed since the last sync, also up to the
  download limit, and sorted by index. This is likely to return IDs
  for records we've already seen, since the index is based on the
  frecency. It's also likely to miss IDs for other changed records,
  because the number of changed records might be higher than the
  download limit.
* Since we then fast-forward the last sync time, we'll never download
  any remaining changed records that we didn't add to our backlog.
* Finally, we backfill previously failed and backlogged records.

MozReview-Commit-ID: 7uQLXMseMIU

--HG--
extra : rebase_source : 719ee2d9e46102195251b410f093da3247095c22
2017-10-27 17:54:48 -07:00
Edouard Oger 3e7662202d Bug 1413685 - Unify AsyncResource and Resource. r=tcsc
MozReview-Commit-ID: 1yEeAwpbGxJ

--HG--
extra : rebase_source : 8c87b0d16138acf2b55be70767fe0547f4ac1d42
2017-11-02 14:30:59 -04:00
NARCIS BELEUZU 1b5408583f Backed out 3 changesets (bug 1368209)xpcshell failures services/sync/tests/unit/test_syncengine_sync.js on CLOSED TREE
Backed out changeset 1b868efa368f (bug 1368209)
Backed out changeset b88c681ccdc1 (bug 1368209)
Backed out changeset 4b8e56844ae9 (bug 1368209)
2017-11-03 11:40:06 +02:00
Kit Cambridge 4105f1cb3a Bug 1368209 - Refactor `Engine::_processIncoming` into three stages. r=eoger,tcsc
* In the first stage, we fetch changed records, newest first, up to the
  download limit. We keep track of the oldest record modified time we
  see.
* Once we've fetched all records, we reconcile, noting records that
  fail to decrypt or reconcile for the next sync. We then ask the store
  to apply all remaining records. Previously, `applyIncomingBatchSize`
  specified how many records to apply at a time. I removed this because
  it added an extra layer of indirection that's no longer necessary,
  now that download batching buffers all records in memory, and all
  stores are async.
* In the second stage, we fetch IDs for all remaining records changed
  between the last sync and the oldest modified time we saw in the
  first stage. We *don't* set the download limit here, to ensure we
  add *all* changed records to our backlog, and we use the `"oldest"`
  sort order instead of `"index"`.
* In the third stage, we backfill as before. We don't want large deltas
  to delay other engines from syncing, so we still only take IDs up to
  the download limit from the backlog, and include failed IDs from the
  previous sync. On subsequent syncs, we'll keep fetching from the
  backlog until it's empty.

Other changes to note in this patch:

* `Collection::_rebuildURL` now allows callers to specify both `older`
  and `newer`. According to :rfkelly, this is explicitly and
  intentionally supported.
* Tests that exercise `applyIncomingBatchSize` are gone, since that's
  no longer a thing.
* The test server now shuffles records if the sort order is
  unspecified.

MozReview-Commit-ID: 4EXvNOa8mIo

--HG--
extra : rebase_source : 13605dd3a43569a6d83dc2eb15a578a7bbd5c1ca
2017-11-01 11:09:57 -07:00
Kit Cambridge 481bdb6dd6 Bug 1368209 - Add a test for fetching backlogged history records. r=tcsc
The test captures the existing logic in `_processIncoming`, even though
it's not quite correct:

* First, we fetch all records changed since the last sync, up to the
  download limit, and without an explicit sort order. This happens to
  work correctly now because the Python server uses "newest" by
  default, but can change in the future.
* If we reached the download limit fetching records, we request
  IDs for all records changed since the last sync, also up to the
  download limit, and sorted by index. This is likely to return IDs
  for records we've already seen, since the index is based on the
  frecency. It's also likely to miss IDs for other changed records,
  because the number of changed records might be higher than the
  download limit.
* Since we then fast-forward the last sync time, we'll never download
  any remaining changed records that we didn't add to our backlog.
* Finally, we backfill previously failed and backlogged records.

MozReview-Commit-ID: 7uQLXMseMIU

--HG--
extra : rebase_source : 5742474889845b934c3d2e8b479d26d719cd03c0
2017-10-27 17:54:48 -07:00
Luciano I e4007fdbe7 Bug 1375223 - Remove Async.querySpinningly. r=kitcambridge
MozReview-Commit-ID: bMo1jyIY5g

--HG--
extra : rebase_source : ac69fde2cb8216300bdb9e7d19528c15cdceb7c8
2017-10-31 18:50:31 -04:00
Thom Chiovoloni 4ee948935f Bug 1408176 - Use trace logs when logging PII in sync passwords engine r=kitcambridge
MozReview-Commit-ID: KueHgdTH02Z

--HG--
extra : rebase_source : a8f5814c5d9baf8e6c370c65da8472f9c7c6213e
2017-10-27 11:32:22 -04:00
Mark Banner 4de6bf22b1 Bug 1411368 - Automatically fix no-multi-spaces issues raised when using ESLint 4. r=mossop
MozReview-Commit-ID: H5YVp3rnzGo

--HG--
extra : rebase_source : 5b45b6c0df834131812d094e975047eaad374e06
2017-10-26 11:47:01 +01:00
Kit Cambridge 1225809c1d Bug 1411690 - Floor the repair advance and most recent repair timestamps. r=tcsc
The timestamps are automatically truncated when they're stored in
prefs, which is fine because we don't need millisecond precision.
However, the truncation raises a warning, so we need to explicitly
floor the values.

MozReview-Commit-ID: BRflL6s0b1

--HG--
extra : rebase_source : 6724a1ad05cb8aee4ab8c666545784960c23a0f3
2017-10-25 13:54:44 -07:00
Dan Banner 7caa92d5d8 Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8
MozReview-Commit-ID: Jm8BRgt6mIv
2017-10-15 20:50:39 +01:00
Thom Chiovoloni 2c51427c6d Bug 1408180 - Ensure LoginRec.toString doesn't contain the password. r=kitcambridge
MozReview-Commit-ID: 5mV0g9LH4vE

--HG--
extra : rebase_source : 33a9c246053448450e6107c3b244d0bf86f7decb
2017-10-12 18:15:48 -04:00
Sebastian Hengst 87cd48824a merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-10-13 00:53:56 +02:00
Sebastian Hengst f7efb5fc2c Merge mozilla-central to mozilla-inbound. r=merge a=merge on a CLOSED TREE 2017-10-12 12:03:15 +02:00
Edouard Oger d8c3cc3c0b Bug 1401700 - Prevent incoming tabs from opening multiple times if client sync fails. r=tcsc
MozReview-Commit-ID: DhrZ1oFY2WG

--HG--
extra : rebase_source : d8d35bdb08edbad9412d6953a671c3e38e75711c
2017-10-03 14:45:11 -04:00
Kevin Pellet (Ilphrin) 87b8d9ecb9 Bug 1406488 - Use a set instead of array to store current visits in `_recordToPlaceInfo` r=kitcambridge
MozReview-Commit-ID: LW6Gg7i5lun
2017-10-11 19:06:10 -04:00
Sebastian Hengst 30ccd917b0 Backed out changeset 8d5cc47b248f (bug 1401700) for failing xpcshell services/sync/tests/unit/test_bookmark_repair.js on OS X 10.10 opt. r=backout 2017-10-11 23:44:26 +02:00
Edouard Oger 51d18ff941 Bug 1401700 - Prevent incoming tabs from opening multiple times if client sync fails. r=tcsc
MozReview-Commit-ID: DhrZ1oFY2WG

--HG--
extra : rebase_source : e98e4ee0a3e376840ce89f0908d7210b167154fa
2017-10-03 14:45:11 -04:00
Edouard Oger 4397201c90 Bug 1407726 - Add reason field to push messages sent with /notify. r=tcsc
MozReview-Commit-ID: 3sRpheND9Wa

--HG--
extra : rebase_source : 23f7dffb920f9f9f14ccdd16f171c489f36745cc
2017-10-11 14:58:21 -04:00
Thom Chiovoloni 7555b605f1 Bug 1407082 - Handle more kinds of errors in SyncTelemetry.transformError. r=kitcambridge
MozReview-Commit-ID: CjwY7w7vUqs

--HG--
extra : rebase_source : 4030ab88c3eccd755272499ff0527e9e316998b1
2017-10-10 12:31:42 -04:00
Thom Chiovoloni da5797466a Bug 1403276 - Dedupe sync devices with the same fxaDeviceId by picking the one with the newer last modified date r=eoger
MozReview-Commit-ID: 3Lq7vuPpF6

--HG--
extra : rebase_source : f16c5fe0d29551ab829ba8f0c8c92e78109ace07
2017-10-10 13:41:32 -04:00
Thom Chiovoloni 0c48a189bc Bug 1405833 - Ensure SyncEngine uses CommonUtils.namedTimer properly. r=kitcambridge
MozReview-Commit-ID: 6YnhcSjKW9U

--HG--
extra : rebase_source : 3e0e520516f06efa50aa8e3fccb77214daca419a
2017-10-04 17:26:20 -04:00
Kit Cambridge e9d579fe2a Bug 1405566 - Clamp future and far past synced history visit dates. r=markh
MozReview-Commit-ID: Gs0DpTTu1Ab

--HG--
extra : rebase_source : b836f4ae366eaf127935dee593dc51d2222e3aca
2017-10-04 14:16:29 -07:00
Thom Chiovoloni e6050e53aa Bug 1401990 - Use max_request_bytes instead of max_post_bytes if sync server provides both r=markh
MozReview-Commit-ID: GJadUIuSGKt

--HG--
extra : rebase_source : be8da0b14c0e1522bc1dc025871fc34830d9ae58
2017-10-02 16:42:22 -04:00
Thom Chiovoloni d39e820403 Bug 1403052 - Limit tab sync max_record_payload_size to 512k. r=markh
Also fixes an issue where we wouldn't encode to utf8 when comparing the actual
size to the limit after the first time.

MozReview-Commit-ID: Cf3byjI1FTZ

--HG--
extra : rebase_source : 272ec3b3ad85f8b44c4d69950be83419054abdab
2017-10-02 19:27:54 -04:00
Thom Chiovoloni 76a3991796 Bug 1400467 - Make WeaveCrypto use promises instead of spinning event loops r=eoger,markh
MozReview-Commit-ID: 64dewKKaAOJ

--HG--
extra : rebase_source : e8d48e05ad8dac214358b0a9979b011a65ed07a8
2017-09-15 19:21:31 -07:00
Edouard Oger 60aea23a2c Bug 1395427 p3 - Allow form history items to be created with a specific guid. r=markh
This allows us to have the same form history GUIDs across devices, which is mandatory
if we want tombstones to actually do something.

MozReview-Commit-ID: Hw6ahbVA5lB

--HG--
extra : rebase_source : 5289322dea430f364790026470ff844f754dd570
2017-09-22 15:08:48 -04:00
Sebastian Hengst 6cbbf769ee Backed out changeset d7876bfd8bfc (bug 1395427) 2017-09-27 17:10:21 +02:00
Edouard Oger 8dcfa9de4f Bug 1395427 p3 - Allow form history items to be created with a specific guid. r=markh
This allows us to have the same form history GUIDs across devices, which is mandatory
if we want tombstones to actually do something.

MozReview-Commit-ID: Hw6ahbVA5lB

--HG--
extra : rebase_source : 39f9cc5553f44f149abc0ed9715268c538fc27ba
2017-09-22 15:08:48 -04:00