Should only upload when we're getting dangerously close to our TTL, just as desktop does. This will involve tracking a server-side timestamp. Whenever we upload, bump this timestamp from X-Weave-Timestamp. Whenever we download our client record, because another client has changed it, bump this timestamp from the modified time. Whenever we process commands, the subsequent upload of a commandless record will result in bumping the timestamp. (And the post-command upload should have an If-Unmodified-Since header to avoid losing a command.)
Target Milestone: --- → mozilla14
QA: With this change, Android Sync will no longer upload a client record on every sync. It will upload on its first sync, and every seven days thereafter, or whenever it processes a command. (It's not currently smart enough to know when the server has been wiped, and reupload.) The easiest way to verify this is to check desktop: when it syncs, it won't see the mobile device's client record as changed. Sync mobile, then desktop, then mobile again. Now when you next sync desktop, you'll see: 1331800456513 Sync.Service DEBUG Refreshing client list. 1331800456514 Sync.Engine.Clients INFO 0 outgoing items pre-reconciliation 1331800456516 Sync.Engine.Clients INFO Records: 0 applied, 0 successfully, 0 failed to apply, 0 newly failed to apply, 0 reconciled.
Status: ASSIGNED → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
status-firefox13: --- → fixed
status-firefox14: --- → fixed
Status: RESOLVED → VERIFIED
status-firefox13: fixed → verified
status-firefox14: fixed → verified
Whiteboard: [qa+] → [qa!]
Component: Android Sync → Android Sync
Product: Mozilla Services → Android Background Services
You need to log in before you can comment on or make changes to this bug.