#33939: Decide which components of Fenix to rip out, disable, or use ----------------------------------------------+-------------------------- Reporter: gk | Owner: tbb-team Type: task | Status: new Priority: High | Milestone: Component: Applications/Tor Browser | Version: Severity: Normal | Resolution: Keywords: tbb-mobile, TorBrowserTeam202004 | Actual Points: Parent ID: #33184 | Points: Reviewer: | Sponsor: ----------------------------------------------+--------------------------
Comment (by sysrqb): The follow list partitions the dependencies into "include", "exclude", "disable", and "must-audit" sets "Must Audit" includes dependencies that we could allow depending on their implementation "Disable" includes dependencies that we probably do not want and we should always use "Dummy" implementations "Disable" and "Exclude" may merge into a single set. === Include === {{{ > # GeckoView > mozilla_browser_engine_gecko_nightly -> org.mozilla.components:browser- engine-gecko-nightly > mozilla_browser_engine_gecko_beta -> org.mozilla.components:browser- engine-gecko-beta > > # Kotlin std library > kotlin_stdlib -> org.jetbrains.kotlin:kotlin-stdlib-jdk7 > > # Import/enable coroutine functionality in Kotlin > kotlin_coroutines -> org.jetbrains.kotlinx:kotlinx-coroutines-core > kotlin_coroutines_android -> org.jetbrains.kotlinx:kotlinx-coroutines- android > > # AndroidX compatibility libraries > androidx_appcompat -> androidx.appcompat:appcompat > androidx_constraintlayout -> androidx.constraintlayout:constraintlayout > androidx_coordinatorlayout -> androidx.coordinatorlayout:coordinatorlayout > > # Dynamically (?) creates license list > osslicenses_library -> com.google.android.gms:play-services-oss-licenses > > # High-level descriptions/contracts of a browser engine > mozilla_concept_engine -> org.mozilla.components:concept-engine > > # High-level descriptions/contracts of a storage layer > mozilla_concept_storage -> org.mozilla.components:concept-storage > > # High-level descriptions/contracts of a browser toolbar > mozilla_concept_toolbar -> org.mozilla.components:concept-toolbar > > # High-level descriptions/contracts of a tabs tray component > mozilla_concept_tabstray -> org.mozilla.components:concept-tabstray > > # A customizable Awesome Bar implementation for browsers > mozilla_browser_awesomebar -> org.mozilla.components:browser-awesomebar > > # APIs for managing localized and customizable domain lists > mozilla_browser_domains -> org.mozilla.components:browser-domains > > # A customizable tabs tray for browsers implementation > mozilla_browser_tabstray -> org.mozilla.components:browser-tabstray > > # A generic menu implementation with customizable items > mozilla_browser_menu -> org.mozilla.components:browser-menu > > # Search plugins and companion code to load, parse and use them > mozilla_browser_search -> org.mozilla.components:browser-search > > # A generic representation of a browser Session and a SessionManager to link browser sessions to underlying Engine Sessions and SessionStorage > mozilla_browser_session -> org.mozilla.components:browser-session > > # A customizable toolbar for browsers > mozilla_browser_toolbar -> org.mozilla.components:browser-toolbar > > # Contains building blocks for features implemented as web extensions > mozilla_support_extensions -> org.mozilla.components:support- webextensions > > # Provides functionality for managing add-ons > mozilla_feature_addons -> org.mozilla.components:feature-addons > > # Ties together an FxaAccountManager with the tabs feature, to facilitate OAuth authentication flows managed by the account manager > mozilla_feature_accounts -> org.mozilla.components:feature-accounts > > # Connects a concept-awesomebar implementation to a concept-toolbar implementation and provides implementations of various suggestion providers > mozilla_feature_awesomebar -> org.mozilla.components:feature-awesomebar > > # Displaying context menus when *long-pressing* web content > mozilla_feature_contextmenu -> org.mozilla.components:feature- contextmenu > > # Providing Custom Tabs functionality in browsers > mozilla_feature_customtabs -> org.mozilla.components:feature-customtabs > > # Provides website media related features > mozilla_feature_media -> org.mozilla.components:feature-media > > # Handles common prompt dialogs from web content like select, option and menu html elements > mozilla_feature_prompts -> org.mozilla.components:feature-prompts > > # Implementation for Progressive Web Apps (PWA) > mozilla_feature_pwa -> org.mozilla.components:feature-pwa > > # Connects an (concept) engine implementation with the browser search module > mozilla_feature_search -> org.mozilla.components:feature-search > > # Connects an (concept) engine implementation with the browser session module > mozilla_feature_session -> org.mozilla.components:feature-session > > # Connects a (concept) toolbar implementation with the browser session module > mozilla_feature_toolbar -> org.mozilla.components:feature-toolbar > > # Connects a trabs tray implementation with the session and toolbar modules > mozilla_feature_tabs -> org.mozilla.components:feature-tabs > > # Provides Find in Page functionality > mozilla_feature_findinpage -> org.mozilla.components:feature-findinpage > > # Shows site permission request prompts > mozilla_feature_site_permissions -> org.mozilla.components:feature- sitepermissions > > # Wraps/Provides a Reader View WebExtension > mozilla_feature_readerview -> org.mozilla.components:feature-readerview > > # Implementation for saving, restoring and organizing collections of tabs > mozilla_feature_tab_collections -> org.mozilla.components:feature-tab- collections > > # Implementation for saving and removing top sites > mozilla_feature_top_sites -> org.mozilla.components:feature-top-sites > > # Displays web notifications > mozilla_feature_webnotifications -> org.mozilla.components:feature- webnotifications > > # Base or core component containing building blocks and interfaces for other components > mozilla_support_base -> org.mozilla.components:support-base > > # A set of (Mozilla) Kotlin extensions on top of the Android framework and Kotlin standard library > mozilla_support_ktx -> org.mozilla.components:support-ktx > > # Enables logging from Rust code. > mozilla_support_rustlog -> org.mozilla.components:support-rustlog > > # Generic utility classes to be shared between projects. > mozilla_support_utils -> org.mozilla.components:support-utils > > # Allow apps to change the system defined language by their custom one > mozilla_support_locale -> org.mozilla.components:support-locale > > # The standard set of Photon colors > mozilla_ui_colors -> org.mozilla.components:ui-colors > > # A collection of often used browser icons. > mozilla_ui_icons -> org.mozilla.components:ui-icons > > # A library for reading and using the Public Suffix List. > mozilla_ui_publicsuffixlist -> org.mozilla.components:lib- publicsuffixlist > > # More AndroidX compatibility libraries > androidx_legacy -> androidx.legacy:legacy-support-v4 > androidx_paging -> androidx.paging:paging-runtime-ktx > androidx_preference -> androidx.preference:preference-ktx > androidx_fragment -> androidx.fragment:fragment-ktx > androidx_navigation_fragment -> androidx.navigation:navigation-fragment- ktx > androidx_navigation_ui -> androidx.navigation:navigation-ui > androidx_recyclerview -> androidx.recyclerview:recyclerview > androidx_lifecycle_livedata -> androidx.lifecycle:lifecycle-livedata-ktx > androidx_lifecycle_runtime -> androidx.lifecycle:lifecycle-runtime-ktx > androidx_lifecycle_viewmodel -> androidx.lifecycle:lifecycle-viewmodel- ktx > androidx_core -> androidx.core:core > androidx_core_ktx -> androidx.core:core-ktx > androidx_transition -> androidx.transition:transition > androidx_work_ktx -> androidx.work:work-runtime-ktx > > # Material Components for Android > google_material -> com.google.android.material > > # Provides similar capabilities of CSS Flexible Box Layout Module > google_flexbox -> com.google.android:flexbox > > # Renders After Effects animations in real time > lottie -> com.airbnb.android:lottie }}} === Disable === {{{ > # Implements push notifications with a supported push service > mozilla_feature_push -> org.mozilla.components:feature-push > > # Feature implementation for apps that want to use Android downloads manager > mozilla_feature_downloads -> org.mozilla.components:feature-downloads > > # High-level descriptions/contracts of a push service component > mozilla_concept_push -> org.mozilla.components:concept-push > > # Client-side telemetry SDK for collecting metrics and sending them to Mozilla's telemetry service > mozilla_service_glean -> org.mozilla.components:service-glean > > # SDK for running experiments on user segments in multiple branches > mozilla_service_experiments -> org.mozilla.components:service- experiments > }}} === Must Audit === {{{ > # An implementation for loading and storing website icons (like favicons) > mozilla_browser_icons -> org.mozilla.components:browser-icons > > # Maintains the centralized state of a browser engine > mozilla_browser_state -> org.mozilla.components:browser-state > > # A syncable implementation of `concept-storage` backed by application- services' Places lib > mozilla_browser_storage_sync -> org.mozilla.components:browser-storage- sync > > # High-level descriptions/contracts of a data synchronization service component > mozilla_concept_sync -> org.mozilla.components:concept-sync> > > # Provides functionality for scanning QR codes > mozilla_feature_qr -> org.mozilla.components:feature-qr > > # Support opening non-browser apps and `intent://` style URLs > mozilla_feature_app_links -> org.mozilla.components:feature-app-links > > # Provides intent processing functionality by combining various other feature modules > mozilla_feature_intent -> org.mozilla.components:feature-intent > > # Implementation for saving and sorting recent apps used for sharing > mozilla_feature_share -> org.mozilla.components:feature-share > > # Sends tabs to other devices with a registered FxA Account > mozilla_feature_accounts_push -> org.mozilla.components:feature- accounts-push > > # Website-hotfixing via the Web Compatibility System-Addon > mozilla_feature_webcompat -> org.mozilla.components:feature-webcompat > > # Integrating with Firefox Sync - Logins > mozilla_service_sync_logins -> org.mozilla.components:service-sync- logins > > # Integrating with Firefox Accounts > mozilla_service_firefox_accounts -> org.mozilla.components:service- firefox-accounts > > # Accessing Mozilla's and other location services > mozilla_service_location -> org.mozilla.components:service-location > > # A generic crash reporter component that can report crashes to multiple services > mozilla_lib_crash -> org.mozilla.components:lib-crash > > # Helper code to migrate from a Fennec-based (Firefox for Android) app to an Android Components based app > mozilla_support_migration -> org.mozilla.components:support-migration > > # A concept-push implementation using Firebase Cloud Messaging (FCM) > mozilla_lib_push_firebase -> org.mozilla.components:lib-push-firebase > > # A component using AndroidKeyStore to protect user data > mozilla_lib_dataprotect -> org.mozilla.components:lib-dataprotect > > androidx_biometric -> androidx.biometric:biometric }}} === Exclude (best-effort, many of these are disabled already due to missing API keys) === {{{ > # Error/crash monitoring > sentry -> io.sentry:sentry-android > > # Customer engagement (with Firebase Cloud Messaging) > leanplum_core -> com.leanplum:leanplum-core > leanplum_fcm -> com.leanplum:leanplum-fcm > > # Mobile measurement and fraud prevention (tracks app installation) > adjust -> com.adjust.sdk:adjust-android > > # Install Referrer > installreferrer // Required by Adjust -> com.android.installreferrer:installreferrer > > # Obtain the Google Advertising ID from the device for use as a unique telemetry identifier > google_ads_id // Required for the Google Advertising ID -> com.google.android.gms:play-services-ads-identifier }}} -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33939#comment:3> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs