Stop the tab engine resetting itself every sync
Categories
(Firefox :: Sync, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox111 | --- | fixed |
People
(Reporter: markh, Assigned: skhamis)
References
Details
(Whiteboard: [fxsync-])
Attachments
(2 files, 1 obsolete file)
The rust tabs engine insists we reset it before every sync - there's really no good reason to do that and it caused bug 1800185.
We should stop doing that :) This might not be trivial as the rust component has always worked this way, but it is certainly doable - and would benefit mobile too.
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Reporter | ||
Comment 1•2 years ago
|
||
The steps here are something like:
- Arrange to store the syncid and the last-modified timestamp in a "meta" table like most other rust engines. This will require a "migration" to add the new table.
- On every sync, store every record from the server (but in a way that takes https://github.com/mozilla/application-services/issues/5199 into account - ie, we don't want to assume the fxa-device-id of records we don't know about)
- When returning tabs to the remote client, do the filtering based on devices we know about. The intent here is that even if we sync a record from a device when we don't know about it, if we later learn about it, we should ensure we start returning the old record even if it hasn't yet synced again. This might change how we store the records (ie, it might turn the db into more of a "mirror" of the server rather than changing what ID we use)
- Have each sync stop deleting all records - it should just updating and/or adding but (never?) deleting.
- Reset should continue to delete all local records. We should treat the lack of a timestamp (and maybe a zero too?) in the meta table as a reset too (ie, delete all rows)
- Do our update with an X-I-U-S header.
End result is that each sync, including first sync for a run, only grabs records which have changed on the server, and we typically never re-read the one we wrote. Also, first run of a browser will return the last tabs we knew about when we shut down last time.
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 2•1 year ago
|
||
Assignee | ||
Comment 3•1 year ago
|
||
Depends on D167219
Assignee | ||
Comment 4•1 year ago
|
||
Comment 5•1 year ago
|
||
Comment on attachment 9313167 [details]
WIP: Bug 1800186: When sync removes a bookmark with a keyword, should also remove the keyword if necessary
Revision D167333 was moved to bug 1706933. Setting attachment 9313167 [details] to obsolete.
Pushed by skhamis@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3ffcc94cbc54 Part 1: Vendor new version of application-services r=markh,bdk https://hg.mozilla.org/integration/autoland/rev/73a09cea7e4b Part 2: Stop the tab engine resetting itself every sync r=markh
Comment 7•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3ffcc94cbc54
https://hg.mozilla.org/mozilla-central/rev/73a09cea7e4b
Description
•