Vendor new version of Dogear with new telemetry probe and cycle breaking
Categories
(Firefox :: Sync, task, P3)
Tracking
()
People
(Reporter: lina, Unassigned)
References
Details
Lougenia landed two patches in Dogear: one that records problems for invalid items (bookmarks with malformed URLs), and another to break cycles in trees. Once we publish a new version of Dogear with her fixes, we'll want to bump its version in m-c and a-s. This ticket tracks the m-c side of that work.
There are three things we'll want to do: bump the dependency version, update our bridge to report the number of invalid items, and update the cycle tests.
The bookmark sync bridge lives in Places. It has two parts: a SyncedBookmarksMirror
JS class, which the engine uses to drive the sync, and a bookmark_sync
Rust crate that does the heavy lifting. It's kind of like a bridged engine, and uses some of the same concepts, but landed before bridged engines existed.
Dogear reports problem counts through its TelemetryEvent
, which gets passed to Driver::record_telemetry_event
. Desktop's driver dispatches a task to record each event. On the main thread, we pass the telemetry event to our progress reporting callback, which is implemented here in JS.
To forward the new invalid_items
count, we'll need to add it to the counts property bag on the Rust side, and record it in validation telemetry in JS. The comment in fetchLocalTree
says we don't record local tree problems in validation telemetry, but maybe we should!
We'll also want to update the tests, which live in places/tests/sync
.
The other tests we'll want to update are the cycle-breaking ones, which are here. Dogear already has tests for merging behavior, but these also exercise the JS parts of the mirror that store records in a real database, so we can make sure everything words end-to-end.
Description
•