Fenix currently reports AMP and Wikipedia impressions and clicks in the
`fx-suggest` ping, which intentionally omits the `client_id`. This
complicates experiment analysis, because our tooling relies on the
`client_id`.
This commit adds separate events for impressions and clicks on
sponsored and non-sponsored suggestions to the `events` ping.
* The new `awesomebar.{non_}sponsored_suggestion_clicked` events are
collected the same way as the existing `fx-suggest` ping, and in line
with the other `awesomebar.*_suggestion_clicked` events.
* The new `awesomebar.{non_}sponsored_suggestion_impressed` events are
collected for engaged and abandoned search sessions. In constrast,
the `fx-suggest` ping is only sent for engaged search sessions.
(cherry picked from commit 5dca388356d744bb34fea161309494f00f08ff23)
This commit adds a `handleSuggestExceptions` helper to
`FxSuggestStorage` that catches and reports `SuggestApiException`s from
the Suggest Rust component. `handleSuggestExceptions` works like the
existing `handle{Fxa, Places}Exceptions` helpers.
`FxSuggestIngestionWorker`'s retry behavior is unchanged: if ingestion
fails, the exception will now be reported, but the operation will still
be rescheduled using `WorkManager`'s retry mechanism, as before.
(cherry picked from commit 2ffae770dca04824498315203182ce7b4e44c102)
We weren't getting submissions for the font telemetry list
and eventually I traced it down to the metric having been expired.
We also need to bump the submission number, otherwise the work
request will be skipped.
Before, when the screen reader was used, all highlights were announced
as static texts.
Now by using collectionInfo and collectionItemInfo, informations like
location and the position of the highlight in the list and the size
of the list are announced for each category of highlights and for each
highlight.