Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Ensure the TCP CFR is correctly enabled from Nimbus #27627

Closed
Mugurell opened this issue Oct 31, 2022 · 2 comments · Fixed by #27628, fork-house/fenix#14, Leland-Takamine/fenix#159 or nathanmkaya/fenix#108
Assignees
Labels
eng:qa:verified QA Verified
Milestone

Comments

@Mugurell
Copy link
Contributor

Mugurell commented Oct 31, 2022

@cpeterso reported an issue with the TCP CFR and on further investigations it seems like the setting for is has a bug stemming from a race between the setting initialization and the Nimbus initialization.
The other MR experiments are not affected because they use lazy initialization - something that the TCP CFR could use also.

┆Issue is synchronized with this Jira Task

@Mugurell Mugurell self-assigned this Oct 31, 2022
@github-actions github-actions bot added the needs:triage Issue needs triage label Oct 31, 2022
@Mugurell Mugurell removed the needs:triage Issue needs triage label Oct 31, 2022
Mugurell added a commit to Mugurell/fenix that referenced this issue Oct 31, 2022
Use lazyFeatureFlagPreference as a quick small way to avoid a race between
initializing the value and the Nimbus initialization based on which the value
should be calculated.
This is the same flow that the other MR experiments use.
@github-actions github-actions bot added the eng:reopen-for-qa Reopens and tags the issue for QA needed when the issue is merged label Oct 31, 2022
@mergify mergify bot closed this as completed in #27628 Nov 1, 2022
mergify bot pushed a commit that referenced this issue Nov 1, 2022
Use lazyFeatureFlagPreference as a quick small way to avoid a race between
initializing the value and the Nimbus initialization based on which the value
should be calculated.
This is the same flow that the other MR experiments use.
@github-actions github-actions bot reopened this Nov 1, 2022
@github-actions github-actions bot added eng:qa:needed QA Needed and removed eng:reopen-for-qa Reopens and tags the issue for QA needed when the issue is merged labels Nov 1, 2022
@github-actions github-actions bot added this to the 108 milestone Nov 1, 2022
mergify bot pushed a commit that referenced this issue Nov 1, 2022
Use lazyFeatureFlagPreference as a quick small way to avoid a race between
initializing the value and the Nimbus initialization based on which the value
should be calculated.
This is the same flow that the other MR experiments use.

(cherry picked from commit 50c8e56)
rvandermeulen pushed a commit that referenced this issue Nov 1, 2022
Use lazyFeatureFlagPreference as a quick small way to avoid a race between
initializing the value and the Nimbus initialization based on which the value
should be calculated.
This is the same flow that the other MR experiments use.

(cherry picked from commit 50c8e56)
@Mugurell Mugurell modified the milestones: 108, 107 Nov 2, 2022
@Mugurell
Copy link
Contributor Author

Mugurell commented Nov 2, 2022

TCP CFR enrollment in v. 107 (using this patch) will be tested in https://mozilla-hub.atlassian.net/browse/QA-1655.

@SoftVision-CiprianMuresan

@SoftVision-CiprianMuresan SoftVision-CiprianMuresan added eng:qa:verified QA Verified and removed eng:qa:needed QA Needed labels Nov 7, 2022
lillabldv added a commit to karmaSearch/fenix that referenced this issue Dec 13, 2022
* releases_v107.0.0: (1269 commits)
  Automatic version bump CLOSED TREE NO BUG a=release
  Update to Android-Components 107.0.7.
  For mozilla-mobile#27782: add first URI load growth data
  For 27768: add FirstAppOpenForDay growth data
  For mozilla-mobile#27698: add set as default growth data (mozilla-mobile#27750)
  For mozilla-mobile#27746 - Move top sites text outside of backplating
  Revert "For mozilla-mobile#26606 - Add backplating to Top Sites
  Bug 1798805 - Initialize the FxaPushSupportFeature
  Update to Android-Components 107.0.6.
  Bump version to 107.1.0
  Sync Strings from main to releases_107.0 (mozilla-mobile#27737)
  Sync Strings from main to releases_107.0 (mozilla-mobile#27728)
  Sync Strings from main to releases_107.0 (mozilla-mobile#27718)
  Sync Strings from main to releases_107.0 (mozilla-mobile#27702)
  Automatic version bump CLOSED TREE NO BUG a=release
  Update to Android-Components 107.0.5.
  For mozilla-mobile#27671 - Search metrics will now be sent in baseline ping (backport mozilla-mobile#27672) (mozilla-mobile#27696)
  Strings - app/src/main/res/values-sat/strings.xml (mozilla-mobile#27681)
  Sync Strings from main to releases_107.0 (mozilla-mobile#27655)
  For mozilla-mobile#27627 - Check the TCP CFR status lazily
  ...

# Conflicts:
#	app/lint-baseline.xml
#	app/src/androidTest/java/org/mozilla/fenix/ui/robots/HomeScreenRobot.kt
#	app/src/main/java/org/mozilla/fenix/BrowserDirection.kt
#	app/src/main/java/org/mozilla/fenix/FeatureFlags.kt
#	app/src/main/java/org/mozilla/fenix/FenixApplication.kt
#	app/src/main/java/org/mozilla/fenix/HomeActivity.kt
#	app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt
#	app/src/main/java/org/mozilla/fenix/components/Analytics.kt
#	app/src/main/java/org/mozilla/fenix/components/Components.kt
#	app/src/main/java/org/mozilla/fenix/components/Core.kt
#	app/src/main/java/org/mozilla/fenix/components/appstate/AppAction.kt
#	app/src/main/java/org/mozilla/fenix/components/appstate/AppState.kt
#	app/src/main/java/org/mozilla/fenix/components/appstate/AppStoreReducer.kt
#	app/src/main/java/org/mozilla/fenix/components/metrics/Event.kt
#	app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt
#	app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt
#	app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt
#	app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
#	app/src/main/java/org/mozilla/fenix/compose/SectionHeader.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/CustomAttributeProvider.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/DefaultMessageController.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/Message.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/MessageController.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/MessagingState.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/NimbusMessagingStorage.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/OnDiskMessageMetadataStorage.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/state/MessagingMiddleware.kt
#	app/src/main/java/org/mozilla/fenix/gleanplumb/state/MessagingReducer.kt
#	app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
#	app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
#	app/src/main/java/org/mozilla/fenix/home/PocketUpdatesMiddleware.kt
#	app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt
#	app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlController.kt
#	app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlInteractor.kt
#	app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt
#	app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/CustomizeHomeButtonViewHolder.kt
#	app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/MessageCardViewHolder.kt
#	app/src/main/java/org/mozilla/fenix/home/topsites/TopSitePagerViewHolder.kt
#	app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteViewHolder.kt
#	app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt
#	app/src/main/java/org/mozilla/fenix/onboarding/DefaultBrowserNotificationWorker.kt
#	app/src/main/java/org/mozilla/fenix/onboarding/JumpBackInCFRDialog.kt
#	app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
#	app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt
#	app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
#	app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
#	app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt
#	app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsAuthFragment.kt
#	app/src/main/java/org/mozilla/fenix/share/ShareInteractor.kt
#	app/src/main/java/org/mozilla/fenix/share/ShareToAccountDevicesView.kt
#	app/src/main/java/org/mozilla/fenix/share/ShareViewModel.kt
#	app/src/main/java/org/mozilla/fenix/share/listadapters/AccountDevicesAdapter.kt
#	app/src/main/java/org/mozilla/fenix/share/viewholders/AccountDeviceViewHolder.kt
#	app/src/main/java/org/mozilla/fenix/tabstray/FloatingActionButtonBinding.kt
#	app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayMenu.kt
#	app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayStore.kt
#	app/src/main/java/org/mozilla/fenix/utils/Settings.kt
#	app/src/main/java/org/mozilla/fenix/wallpapers/Wallpaper.kt
#	app/src/main/java/org/mozilla/fenix/wallpapers/WallpaperManager.kt
#	app/src/main/res/layout/component_collection_creation.xml
#	app/src/main/res/layout/component_collection_creation_select_collection.xml
#	app/src/main/res/layout/component_tabstray2.xml
#	app/src/main/res/layout/component_tracking_protection_panel.xml
#	app/src/main/res/layout/experiment_default_browser.xml
#	app/src/main/res/layout/fenix_snackbar.xml
#	app/src/main/res/layout/fragment_add_login.xml
#	app/src/main/res/layout/fragment_credit_card_editor.xml
#	app/src/main/res/layout/fragment_edit_login.xml
#	app/src/main/res/layout/fragment_home.xml
#	app/src/main/res/layout/fragment_login_detail.xml
#	app/src/main/res/layout/fragment_pwa_onboarding.xml
#	app/src/main/res/layout/fragment_sign_out.xml
#	app/src/main/res/layout/fragment_tracking_protection_blocking.xml
#	app/src/main/res/layout/history_list_item.xml
#	app/src/main/res/layout/no_collections_message.xml
#	app/src/main/res/layout/onboarding_inactive_tabs_cfr.xml
#	app/src/main/res/layout/onboarding_jump_back_in_cfr.xml
#	app/src/main/res/layout/pbm_shortcut_popup.xml
#	app/src/main/res/layout/search_suggestions_hint.xml
#	app/src/main/res/layout/studies_section_item.xml
#	app/src/main/res/values-ast/strings.xml
#	app/src/main/res/values-be/strings.xml
#	app/src/main/res/values-br/strings.xml
#	app/src/main/res/values-ca/strings.xml
#	app/src/main/res/values-ckb/strings.xml
#	app/src/main/res/values-co/strings.xml
#	app/src/main/res/values-cs/strings.xml
#	app/src/main/res/values-cy/strings.xml
#	app/src/main/res/values-da/strings.xml
#	app/src/main/res/values-de/strings.xml
#	app/src/main/res/values-dsb/strings.xml
#	app/src/main/res/values-el/strings.xml
#	app/src/main/res/values-en-rCA/strings.xml
#	app/src/main/res/values-en-rGB/strings.xml
#	app/src/main/res/values-eo/strings.xml
#	app/src/main/res/values-es-rAR/strings.xml
#	app/src/main/res/values-es-rCL/strings.xml
#	app/src/main/res/values-es-rES/strings.xml
#	app/src/main/res/values-es-rMX/strings.xml
#	app/src/main/res/values-es/strings.xml
#	app/src/main/res/values-et/strings.xml
#	app/src/main/res/values-eu/strings.xml
#	app/src/main/res/values-fi/strings.xml
#	app/src/main/res/values-fr/strings.xml
#	app/src/main/res/values-fy-rNL/strings.xml
#	app/src/main/res/values-ga-rIE/strings.xml
#	app/src/main/res/values-gn/strings.xml
#	app/src/main/res/values-hsb/strings.xml
#	app/src/main/res/values-hu/strings.xml
#	app/src/main/res/values-hy-rAM/strings.xml
#	app/src/main/res/values-ia/strings.xml
#	app/src/main/res/values-in/strings.xml
#	app/src/main/res/values-is/strings.xml
#	app/src/main/res/values-it/strings.xml
#	app/src/main/res/values-iw/strings.xml
#	app/src/main/res/values-ja/strings.xml
#	app/src/main/res/values-ka/strings.xml
#	app/src/main/res/values-kab/strings.xml
#	app/src/main/res/values-kk/strings.xml
#	app/src/main/res/values-ko/strings.xml
#	app/src/main/res/values-lij/strings.xml
#	app/src/main/res/values-lo/strings.xml
#	app/src/main/res/values-my/strings.xml
#	app/src/main/res/values-nb-rNO/strings.xml
#	app/src/main/res/values-nl/strings.xml
#	app/src/main/res/values-nn-rNO/strings.xml
#	app/src/main/res/values-oc/strings.xml
#	app/src/main/res/values-pa-rIN/strings.xml
#	app/src/main/res/values-pl/strings.xml
#	app/src/main/res/values-pt-rBR/strings.xml
#	app/src/main/res/values-pt-rPT/strings.xml
#	app/src/main/res/values-rm/strings.xml
#	app/src/main/res/values-ro/strings.xml
#	app/src/main/res/values-ru/strings.xml
#	app/src/main/res/values-sat/strings.xml
#	app/src/main/res/values-sk/strings.xml
#	app/src/main/res/values-sl/strings.xml
#	app/src/main/res/values-sq/strings.xml
#	app/src/main/res/values-su/strings.xml
#	app/src/main/res/values-sv-rSE/strings.xml
#	app/src/main/res/values-szl/strings.xml
#	app/src/main/res/values-ta/strings.xml
#	app/src/main/res/values-tg/strings.xml
#	app/src/main/res/values-th/strings.xml
#	app/src/main/res/values-tok/strings.xml
#	app/src/main/res/values-tr/strings.xml
#	app/src/main/res/values-trs/strings.xml
#	app/src/main/res/values-uk/strings.xml
#	app/src/main/res/values-vi/strings.xml
#	app/src/main/res/values-zh-rCN/mozonline_strings.xml
#	app/src/main/res/values-zh-rCN/strings.xml
#	app/src/main/res/values-zh-rTW/strings.xml
#	app/src/main/res/values/dimens.xml
#	app/src/main/res/values/mozonline_strings.xml
#	app/src/main/res/values/preference_keys.xml
#	app/src/main/res/values/static_strings.xml
#	app/src/main/res/values/strings.xml
#	app/src/main/res/values/styles.xml
#	app/src/main/res/xml/preferences.xml
#	app/src/main/res/xml/preferences_default_browser_experiment.xml
#	app/src/test/java/org/mozilla/fenix/components/AppStoreTest.kt
#	app/src/test/java/org/mozilla/fenix/gleanplumb/DefaultMessageControllerTest.kt
#	app/src/test/java/org/mozilla/fenix/gleanplumb/MessagingFeatureTest.kt
#	app/src/test/java/org/mozilla/fenix/gleanplumb/NimbusMessagingStorageTest.kt
#	app/src/test/java/org/mozilla/fenix/gleanplumb/OnDiskMessageMetadataStorageTest.kt
#	app/src/test/java/org/mozilla/fenix/gleanplumb/state/MessagingMiddlewareTest.kt
#	app/src/test/java/org/mozilla/fenix/gleanplumb/state/MessagingReducerTest.kt
#	app/src/test/java/org/mozilla/fenix/home/DefaultSessionControlControllerTest.kt
#	app/src/test/java/org/mozilla/fenix/home/SessionControlInteractorTest.kt
#	app/src/test/java/org/mozilla/fenix/home/recentvisits/interactor/RecentVisitsInteractorTest.kt
#	app/src/test/java/org/mozilla/fenix/home/sessioncontrol/SessionControlViewTest.kt
#	app/src/test/java/org/mozilla/fenix/share/ShareViewModelTest.kt
#	app/src/test/java/org/mozilla/fenix/share/viewholders/AccountDeviceViewHolderTest.kt
#	app/src/test/java/org/mozilla/fenix/share/viewholders/AppViewHolderTest.kt
#	app/src/test/java/org/mozilla/fenix/wallpapers/WallpaperManagerTest.kt
#	buildSrc/src/main/java/AndroidComponents.kt
#	nimbus.fml.yaml
#	version.txt
JohanLorenzo pushed a commit to mozilla-mobile/firefox-android that referenced this issue Feb 14, 2023
Use lazyFeatureFlagPreference as a quick small way to avoid a race between
initializing the value and the Nimbus initialization based on which the value
should be calculated.
This is the same flow that the other MR experiments use.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.