AddonSuggestions.sys.mjs |
A feature that supports Addon suggestions.
|
6416 |
AdmWikipedia.sys.mjs |
A feature that manages sponsored adM and non-sponsored Wikpedia (sometimes
called "expanded Wikipedia") suggestions in remote settings.
|
5678 |
BlockedSuggestions.sys.mjs |
A set of blocked suggestions for quick suggest.
|
5228 |
ExposureSuggestions.sys.mjs |
A feature for exposure suggestions.
|
2403 |
FakespotSuggestions.sys.mjs |
A feature that supports Fakespot suggestions.
|
9606 |
GeolocationUtils.sys.mjs |
Utils for fetching the client's geolocation from Merino, computing distances
between locations, and finding suggestions that best match the geolocation.
|
9825 |
ImpressionCaps.sys.mjs |
Impression caps and stats for quick suggest suggestions.
|
15228 |
MDNSuggestions.sys.mjs |
A feature that supports MDN suggestions.
|
4568 |
MLSuggest.sys.mjs |
MLSuggest helps with ML based suggestions around intents and location.
|
13746 |
PocketSuggestions.sys.mjs |
A feature that manages Pocket suggestions in remote settings.
|
7465 |
SuggestBackendMerino.sys.mjs |
The Suggest Merino backend. This backend is enabled when the user opts in to
Merino, also called "online" Suggest.
|
2733 |
SuggestBackendMl.sys.mjs |
The Suggest ML backend. Both the ML and Rust backends can be enabled at the
same time. Features can support both backends and decide which one to use per
query.
|
3084 |
SuggestBackendRust.sys.mjs |
The Suggest Rust backend. Not used when the remote settings JS backend is
enabled.
This class returns suggestions served by the Rust component. These are the
primary related architectural pieces (see bug 1851256 for details):
(1) The `suggest` Rust component, which lives in the application-services
repo [1] and is periodically vendored into mozilla-central [2] and then
built into the Firefox binary.
(2) `suggest.udl`, which is part of the Rust component's source files and
defines the interface exposed to foreign-function callers like JS [3, 4].
(3) `RustSuggest.sys.mjs` [5], which contains the JS bindings generated from
`suggest.udl` by UniFFI. The classes defined in `RustSuggest.sys.mjs` are
what we consume here in this file. If you have a question about the JS
interface to the Rust component, try checking `RustSuggest.sys.mjs`, but
as you get accustomed to UniFFI JS conventions you may find it simpler to
refer directly to `suggest.udl`.
(4) `config.toml` [6], which defines which functions in the JS bindings are
sync and which are async. Functions default to the "worker" thread, which
means they are async. Some functions are "main", which means they are
sync. Async functions return promises. This information is reflected in
`RustSuggest.sys.mjs` of course: If a function is "worker", its JS
binding will return a promise, and if it's "main" it won't.
[1] https://github.com/mozilla/application-services/tree/main/components/suggest
[2] https://searchfox.org/mozilla-central/source/third_party/rust/suggest
[3] https://github.com/mozilla/application-services/blob/main/components/suggest/src/suggest.udl
[4] https://searchfox.org/mozilla-central/source/third_party/rust/suggest/src/suggest.udl
[5] https://searchfox.org/mozilla-central/source/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs
[6] https://searchfox.org/mozilla-central/source/toolkit/components/uniffi-bindgen-gecko-js/config.toml
|
22668 |
SuggestFeature.sys.mjs |
eslint-disable no-unused-vars |
12273 |
WeatherSuggestions.sys.mjs |
A feature that periodically fetches weather suggestions from Merino.
|
13936 |
YelpSuggestions.sys.mjs |
A feature for Yelp suggestions.
|
18668 |