diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index af7319323..720066ea5 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -340,8 +340,13 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { lifecycleScope.launch { // If we're authenticated, kick-off a sync and a device state refresh. components.backgroundServices.accountManager.authenticatedAccount()?.let { + val syncReason = when (isVisuallyComplete) { + true -> SyncReason.User + false -> SyncReason.Startup + } + components.backgroundServices.accountManager.syncNow( - SyncReason.Startup, + reason = syncReason, debounce = true ) } diff --git a/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeature.kt b/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeature.kt index 1a8390935..5777edffa 100644 --- a/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeature.kt +++ b/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeature.kt @@ -60,7 +60,11 @@ class RecentSyncedTabFeature( // Sync tabs storage will fail to retrieve tabs aren't refreshed, as that action // is what populates the device constellation state accountManager.withConstellation { refreshDevices() } - accountManager.syncNow(SyncReason.User, customEngineSubset = listOf(SyncEngine.Tabs)) + accountManager.syncNow( + reason = SyncReason.User, + debounce = true, + customEngineSubset = listOf(SyncEngine.Tabs), + ) } }.launchIn(coroutineScope) } diff --git a/app/src/test/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeatureTest.kt b/app/src/test/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeatureTest.kt index 653901477..2c9c1be80 100644 --- a/app/src/test/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeatureTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/recentsyncedtabs/RecentSyncedTabFeatureTest.kt @@ -128,7 +128,7 @@ class RecentSyncedTabFeatureTest { verify { appStore.dispatch(AppAction.RecentSyncedTabStateChange(RecentSyncedTabState.Loading)) } coVerify { accountManager.withConstellation { refreshDevices() } } - coVerify { accountManager.syncNow(reason = SyncReason.User, debounce = false, customEngineSubset = listOf(SyncEngine.Tabs)) } + coVerify { accountManager.syncNow(reason = SyncReason.User, debounce = true, customEngineSubset = listOf(SyncEngine.Tabs)) } } @Test