Commit Graph

229 Commits (7dcbf8c5420d993b854a8dfe8638729d2fd1ec0e)

Author SHA1 Message Date
Adam Novak 7dcbf8c542 Do all of Iceraven in one commit
Bump top site limit under its new name

Fix unresilved conflict

Allow Nimbus to generate code that allows the fork flavors

Drop private browsing page again

Use the new text color name

Point at paged style again

Bring back Sentry so we don't have to change the code that would call it

Note we need to build with app: now for some reason

Also prefix Github build commands

Adapt to settings moving

Parse Iceraven versions

Discover the linter's formatter

Get rid of some Detekt complaints

Handle more weird version strings

Finish README

Stop auto-release changelogs from being too huge

Fix #440 by reattaching settings
2 years ago
Jonathan Almeida e80324116b Closes #27077: Load first run experiments synchronously.
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
Co-authored-by: Charlie Humphreys <chumphreys@mozilla.com>
Co-authored-by: jhugman <jhugman@users.noreply.github.com>
(cherry picked from commit 911f350642)
2 years ago
mcarare ffcef5ff2e For #26844: Fix ktlint issues and remove them from baseline. 2 years ago
Alexandru2909 070bf5ac24 For #26706 - Change TopSite.containsQueryParameters as Uri extension function 2 years ago
Mugurell fc6ee3e3d9 For #18175 - Add telemetry for cookies option in custom ETP. 2 years ago
MatthewTighe 72959901d8 Fixes #26245: refactor the WallpaperManager as several WallpaperUseCases 2 years ago
Jonathan Almeida d0c21c06aa Close #26041: Remove un-needed Nimbus workaround
This workaround was temporary and is not needed with the Nimbus groovy
plugin updates in Android Components.
2 years ago
Jonathan Almeida f03ee91ecb Close #26041: Re-set TrackingProtectionPolicy after Nimbus SDK is initialized
There are three issues here that we have uncovered while investigating
this bug:

 1. Settings.kt has a lazy block around `enabledTotalCookieProtection`
    which ends up caching the first result it evaluates.
 3. The `FeatureHolder` within FxNimbus caches the incorrectly
    evaluated value and returns this value hence forth.
 4. Nimbus is not ready to return a result for an engine experiment
    when we need it early on in the dependency tree initialization.

There are multiple systems that require engine to be initialized for
 them to work (e.g. Glean, Profiler, concept-fetch). In our TCP,
 experiment, we need to apply these engine settings during the engine
 initialization. So when we try and evaluate Nimbus that early on, it
 has not had time to initialize itself correctly or even use the
 engine's concept-fetch client to return the correct experiment result.
 This bug is made worse because of the first two caching bugs where we
 are always holding onto a cached value of the wrong result.

Our temporary solution is to:

 1. Remove the `lazy` around `Settings.enabledTotalCookieProtection`.
 2. Set the `FxNimbus.api` value right after we are done initializing
    `FxNimbus` and `NimbusApi` so that all future queries to FxNimbus
    will be made against a real instance of `NimbusApi`. This is a
    short-term fix for the `FeatureHolder` caching bug.
 3. Set a new TrackingProtectionPolicy that will evaluate Nimbus now
    that it is in the correct state when receive the
    `NimbusInterface.Observer.onUpdatesApplied`.

Co-authored-by: jhugman <jhugman@users.noreply.github.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
2 years ago
Noah Bond db0162465b For #26289 - Remove search term tab groups metrics and setting 2 years ago
Jan-Erik Rediger 06488cdabe Move startup perf measurements to a background thread
This is required to avoid loading the Glean core library (provided by libxul) early on.
Fenix needs to do the time measurement itself for now.
2 years ago
Gabriel Luong 1207180aa8 For #25933 - Ensure sponsored tiles are enable if enrolled in active experiment 2 years ago
Alexandru2909 4d430adbbe For #25764 - Prevent sponsored shortcut URLs from appearing as `frecent` shortcuts 2 years ago
Mugurell d4dd62341a For #25401 - Record Pocket sponsored stories telemetry 2 years ago
Mugurell c5f37f01eb For #25538 - Add "metrics" telemetry for if default wallpaper is shown 2 years ago
Ben Dean-Kawamura ad222521be Adding support for app-services error reporting 2 years ago
jhugman 30fa80151d
Change FxNimbus/Nimbus startup sequence (#25266)
* Change FxNimbus initialization sequence

Add cache invalidation

* Change ordering of message restoration and Nimbus initialization

* Address reviewer comments
2 years ago
Arturo Mejia 1384414327 Revert "Change FxNimbus initialization sequence (#25089)"
This reverts commit 51ba7ab463.
2 years ago
jhugman 51ba7ab463
Change FxNimbus initialization sequence (#25089)
* Change FxNimbus initialization sequence

* Add cache invalidation
2 years ago
Gabriel Luong da1c5b9bf7 For #25115 - Remove showWallpapers feature flag 2 years ago
MatthewTighe 0f952284e6 for #24929: remove locale restriction for remote firefox wallpapers 2 years ago
Mugurell 5383d3ed63 For #24618 - Add Fenix own ServiceWorkerSupport
This replaces the default implementation from Android-Components to add the
functionality to first navigate to the browser fragment before responding to
service workers' requests of opening new tabs.

This will register itself when the main activity is created and unregister
itself when that activity is destroyed to support requests even when the
activity is in background but prevent any leaks.
2 years ago
Mugurell 526b9a17d7 For #24593 - Initialize Glean on all builds. Avoid Fennec check.
This completes the work for removing the Fennec migration support.
Before that, for Fenix release and beta, apps to which users might update to
from old Fennec builds the Glean initialization was done separately in
MigratingFenixApplication to allow time to first migrate user's telemetry
setting.
With the removal of the migration support it is now safe to initialize Glean in
the same way for all builds and remove that Fennec check.
2 years ago
Mugurell 6fb54b08f2 For #24331 - Support for opening new tabs when requested by service workers
Use the new `ServiceWorkerSupport` AC components for this.
Had to be installed in `FenixApplication` since there is a circular dependency
between the initialization of the required engine the `tabsUseCases` arguments.
2 years ago
Alexandru2909 f924f74434 For #24207 - Remove Event.wrapper for ToolbarSettings telemetry 2 years ago
Arturo Mejia 4389da7811 For #24222: Persist user interactions with nimbus messages 2 years ago
Noah Bond ccd8084dd4 For #24467 - Enable Contile setting telemetry 2 years ago
Brais Gabín 1f633edd7d For #23046 - Align detekt config between Fenix and Android Components
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
2 years ago
Jonathan Almeida f953c5ec94 For #24220 and #24223: Connect GleanPlumb messages with the new tab ui card.
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2 years ago
Gabriel Luong c9a47d08a8 For #24130 - Change Shortcuts setting to toggle the display of Top Sites 2 years ago
Gabriel Luong 56022546f2 For #23893 - Add telemetry for Contile services 2 years ago
Arturo Mejia 1c66804c0b Add remote wallpapers 2 years ago
MatthewTighe 9b4a85942d fixes #23981: open download function and override for test 2 years ago
Gabriel Luong 37a0edceb6 For #23431 - Display the order of Contile Top Sites correctly 2 years ago
Matthew Tighe 9dc0506ec2
closes #23504: download focus wallpapers at runtime (#23505)
* closes #23504: download focus wallpapers at runtime

* address pr feedback

* only download wallpapers if feature flag is set
2 years ago
jhugman 82a6f8cae4
First use of Nimbus FML plugin (#23400)
* Consume Nimbus FML plugin

* Convert Homescreen to use FML

* Convert nimbusValidation to use FML

* Convert legacy experiments to use the feature API and FML

Remove dead helper code and documentation

* Fixup failing test

Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2 years ago
Gabriel Luong e5e7e6dbcf For #23409 - Specify fetchProvidedTopSites parameter for TopSitesConfig 2 years ago
mcarare cdbe7983f5 For #22879: Filter default engines when sending telemetry.
Filter out custom engines that are not well known search domains.
2 years ago
mcarare 00280d3b65 For #20513: Use UrlMetricType for search engine submission url. 2 years ago
Mugurell d4a6facd81 For #22155 - Store inactive tabs count telemetry when user opens tabs tray
Setting this value in FenixApplication.onCreate was buggy because of a race
with restoring BrowserState.
Setting it here would ensure a better granularity of the events and so to more
accurate reporting.
3 years ago
Noah Bond 811f255b71
MR2 Telemetry: Opening screen preference (#22333)
* For #22145 - Added telemetry to the opening screen preference.

* For #22145 - Added PR number to metric

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Mugurell 953f6feb17 For #22155 - The inactiveTabsCount probe reports actualInactiveTabs number 3 years ago
Mugurell f9b67091c6 For #22155 - New BrowserState.actualInactiveTabs public method
This allows querying from all throughout the app which of the current tabs are
inactive while taking into consideration whether the feature is enabled or not
such that when the feature is disabled it will always return an empty result.
3 years ago
Mugurell 207e85e59d For #22155 - Inactive tabs count telemetry
A quantity probe in the metrics ping means we'll loose the granularity events
provided but it will be easier to extract the values.

For reporting whether the inactive tabs feature is enabled or not we already
have the "preferences.inactive_tabs_enabled" probe so I didn't duplicate this.
3 years ago
Roger Yang a46905b5e7 Issue #22057: Add search term groups telemetry 3 years ago
Mugurell 018fe15072 For #22138 - Install source metrics probe 3 years ago
Arturo Mejia 940af156eb For #22192 add telemetry for studies 3 years ago
Michael Comella 99533626f1 For #21921: rename MarkersLifecycleCallbacks to ...ActivityLifecycle...
This is to disamibugate with the MarkersFragmentLifecycleCallbacks that
we'll be adding.
3 years ago
Noah Bond 826249497a
MR2 Inactive tabs telemetry (#21908)
* For #21903 - Added telemetry for interacting with inactive tabs

* For #21903 - Added missing inactive tab delete count event to delete all event

* For #21903 - Added PR numbers to metrics

* For #21903 - Updated broken unit tests. Resolved critical lint warning.

* For #21903 - Fixed inactive tabs setting toggle metric

* For #21903 - Updated FenixApp unit test

* For #21903 - Updated newline character in Metrics. Set inactive tab metrics' lifetime to default. Updated expiration to Nov 2022. Refactored inactive tabs metric to be a single metric.

* PR: addendum for last commit that missed a file

* For #21903 - Changed logic check for reporting inactive tab count

* PR: fixed merge conflict

* For #21903 - Removed tab close tracking when the user closes ALL inactive tabs

* For #21903 - Removed individual tab close metric verify from CLOSE ALL test

* For #21903 - Updated inactive tabs toggle setting expiration to match the expiration of the other events

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Christian Sadilek c3ef16de61 Closes #21944: Top sites rendered slowly on first load of HomeFragment 3 years ago
Arturo Mejia 2b363b9868 For #21618: Integrate Nimbus with MR2 Home Page to enable experimentation 3 years ago