autopush-rs icon indicating copy to clipboard operation
autopush-rs copied to clipboard

Send push notification to other devices when tabs have changed

Open data-sync-user opened this issue 7 months ago • 0 comments

Desktop Sync currently has rudimentary support for notifying other clients when a "collection" has changed. While the capability is general, the current implementation is limited to notifying when the "clients" collection has changed

Firefox View (and the rest of the synced tabs UI) would benefit from getting a push notification when tabs are changed on another device - they could poll less frequently and the tabs would appear without delay.

The challenges here include

  • push isn't as reliable as we would like. If consumers can't actually rely on this notification, they will then end up doing all the same polling they do now - we'll have increased complexity significantly.

  • tabs are "written" frequently - on desktop they are synced within 5 seconds of a tab switch, so the volume of push notifications would be significant. We need to ensure the entire system (our back-end, our connections to mobile push systems, etc) are capable of dealing with this with reasonable costs.

  • If we assume that all devices would read remote tabs on getting this notification, it would increase the frequency of tab syncing by all devices significantly - even though in most cases the tabs read would not actually be used (ie, today we force a tab sync as the UI is interacted with - this would cause us to sync tabs just incase the UI might be interacted with soon. Our storage servers must be prepared for this extra load.

  • any such changes need to ride trains, so it will be months after implementing this before it can be relied on by front ends.

  • our mobile sync implementations aren't really in a great place for this work - the sync implementation and the push implementation aren't coupled in a way that makes this easy. Further, the mobile platforms don't even support the rudimentary support desktop has - we should try and get parity in this regard too.

It's likely this bug will turn into a meta bug, but opening this now so we can get it on our roadmap.

┆Issue is synchronized with this Jira Task

data-sync-user avatar May 21 '25 18:05 data-sync-user