Commit Graph

82 Commits

Author SHA1 Message Date
kpatenio
917529707f Bug 1959497 - remove pocket suggestions from firefox desktop r=urlbar-reviewers,adw a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D251076

Differential Revision: https://phabricator.services.mozilla.com/D251661
2025-06-03 03:19:31 +00:00
Drew Willcoxon
bf950118ff Bug 1966811 - Enable Suggest in the UK and disable most suggestion types outside the US. r=daisuke,nanj
Differential Revision: https://phabricator.services.mozilla.com/D249706
2025-05-19 19:43:24 +00:00
iulian moraru
658d19a425 Revert "Bug 1956519 - Shared RemoteSettingsService, r=nanj,adw" for causing browser-chrome crashes.
This reverts commit 0b37f9e94c.
2025-05-19 18:39:21 +00:00
Ben Dean-Kawamura
0b37f9e94c Bug 1956519 - Shared RemoteSettingsService, r=nanj,adw
- Hooked the RustSharedRemoteSettingsService code to the Region module.
  The new system updates the app context as the home region changes.

- Updated `RemoteSettingsService.updateConfig` to be sync rather than
  async wrapped.  It should execute quickly and I want to have
  confidence that the config is actually updated when that function
  returns.

- Updated/Simplified the SuggestBackendRust.sys.mjs testing code.  Now
  we just need to track if we should disable the Rust backend for the
  tests or not.

- Updated `QuickSuggest._test_reinit` to wait for any unfinished
  ingestion from `SuggestBackendRust`.  This is needed now because
  changing the remote settings service affects all active clients.  If
  there are unfinished ingestion tasks, then this creates a race
  between those task finishing and the test finishing and uninitializing
  the remote settings mock server.

Differential Revision: https://phabricator.services.mozilla.com/D248467
2025-05-19 15:58:57 +00:00
Mark Banner
0362463c59 Bug 1964675 - Fix various jsdoc type definitions across urlbar code. r=urlbar-reviewers,jteow
Differential Revision: https://phabricator.services.mozilla.com/D247921
2025-05-14 01:25:11 +00:00
Drew Willcoxon
a305245de3 Bug 1961040 - Convert ExposureSuggestions to DynamicSuggestions. r=daisuke
This converts `ExposureSuggestions` to `DynamicSuggestions`. Dynamic Rust
suggestions can be used to deliver hidden-exposure suggestions. I updated the
exposure test to show that, and I also added a new dynamic test.

Differential Revision: https://phabricator.services.mozilla.com/D244466
2025-04-29 00:15:14 +00:00
Drew Willcoxon
c6aa8fdd9f Bug 1961881 - Hook up desktop to the dismissal API in the Suggest Rust component. r=daisuke,settings-reviewers
This hooks up desktop to the dismissal API in the Rust component [1] and removes
`BlockedSuggestions`.

The Rust dismissal API has two ways to dismiss a suggestion: by `Suggestion`
object and by dismissal key. We use the first one for Rust suggestions and the
second one for other suggestions, like Merino. A dismissal key is just an
arbitrary opaque string token stored in the dismissed-suggestions table in the
Rust component. It's up to consumers (like desktop) to use appropriate dismissal
keys for their non-Rust suggestions.

In order to retain the user's blocked digests that desktop has always recorded
in the `quicksuggest.blockedDigests` pref, I took advantage of dismissal keys by
migrating each digest to a dismissal key in the Rust component.

[1] See bug 1961412 and https://github.com/mozilla/application-services/pull/6714

Differential Revision: https://phabricator.services.mozilla.com/D246369
2025-04-25 00:26:51 +00:00
Drew Willcoxon
6973dd3ea6 Bug 1961039 - Vendor application-services 6a007c9. r=daisuke,nanj
This includes some small fixes to desktop Suggest code and tests due to changes
in the `suggest` app-services component. It also incorporates D243740 by
@daisuke since it's required for vendoring.

This vendor replaces exposure suggestions with dynamic suggestions in the
`suggest` component, which breaks a few desktop tests. I disabled them for now
and will address them in bug 1961040.

Depends on D244233

Differential Revision: https://phabricator.services.mozilla.com/D245826
2025-04-17 04:21:35 +00:00
Drew Willcoxon
843fe01a85 Bug 1959330 - Formalize restoring of dismissed Suggest suggestions. r=daisuke,settings-reviewers
Please see the bug for the motivation.

This adds a new `SuggestFeature.primaryUserControlledPreference` getter that
returns the feature-specific pref that lets the user toggle on/off the feature.

That way we can add `QuickSuggest.clearDismissedSuggestions()`, which goes
through each feature and clears that pref, and `canClearDismissedSuggestions()`,
which goes through and checks whether there are any prefs that can be cleared.

I also added a couple of notification topics for dismissals that the settings UI
uses to update the disabled state of its Restore button.

All of this will let us more easily move to the Suggest Rust component's
dismissal API too, which we should sooner or later.

Depends on D244865

Differential Revision: https://phabricator.services.mozilla.com/D244866
2025-04-10 02:24:19 +00:00
Daisuke Akatsuka
95533899a1 Bug 1936455: Remove the Suggest online opt-in onboarding dialog r=firefox-desktop-core-reviewers ,urlbar-reviewers,adw
Differential Revision: https://phabricator.services.mozilla.com/D238893
2025-02-21 05:01:33 +00:00
Alexandru Marc
a822e8842c Backed out changeset 2c10082390b2 (bug 1936455) for causing xpcshell failures @ test_quicksuggest_migrate_v1.js CLOSED TREE 2025-02-21 03:51:58 +02:00
Daisuke Akatsuka
9c1c8fcf29 Bug 1936455: Remove the Suggest online opt-in onboarding dialog r=firefox-desktop-core-reviewers ,urlbar-reviewers,adw
Differential Revision: https://phabricator.services.mozilla.com/D238893
2025-02-21 01:05:42 +00:00
Drew Willcoxon
07c0872acb Bug 1948166 - Allow Suggest online settings UI to be hidden. r=daisuke,settings-reviewers,urlbar-reviewers,mossop
This replaces `quickSuggestHideSettingsUI` with `quickSuggestSettingsUi`. Like
the old variable, we can show or hide all Suggest settings UI, and now we can
also hide UI that pertains only to Suggest online. This is necessary because as
we start to roll out Suggest to more regions, online (Merino) won't be available
for them initially.

Differential Revision: https://phabricator.services.mozilla.com/D238159
2025-02-18 20:05:11 +00:00
Alexandru Marc
eb7e658712 Backed out changeset dbfd15553a78 (bug 1948166) for causing bc failures @ browser_search_firefoxSuggest.js CLOSED TREE 2025-02-18 19:58:24 +02:00
Drew Willcoxon
cf1c98539b Bug 1948166 - Allow Suggest online settings UI to be hidden. r=daisuke,settings-reviewers,urlbar-reviewers,mossop
This replaces `quickSuggestHideSettingsUI` with `quickSuggestSettingsUi`. Like
the old variable, we can show or hide all Suggest settings UI, and now we can
also hide UI that pertains only to Suggest online. This is necessary because as
we start to roll out Suggest to more regions, online (Merino) won't be available
for them initially.

Differential Revision: https://phabricator.services.mozilla.com/D238159
2025-02-18 16:11:30 +00:00
Drew Willcoxon
7e8ec5f0cd Bug 1947059 - Remove the concept of Suggest scenarios. r=daisuke
Depends on D237507

Differential Revision: https://phabricator.services.mozilla.com/D237508
2025-02-14 17:06:38 +00:00
Drew Willcoxon
6dab314205 Bug 1947057 - Move some async Suggest initialization so it only happens once. r=daisuke
Depends on D237506

Differential Revision: https://phabricator.services.mozilla.com/D237507
2025-02-14 17:06:37 +00:00
Drew Willcoxon
f4c362c95a Bug 1947055 - Simplify Suggest initialization and how it handles updates to Nimbus variables. r=daisuke
Depends on D237505

Differential Revision: https://phabricator.services.mozilla.com/D237506
2025-02-13 22:14:58 +00:00
Drew Willcoxon
0e869a558b Bug 1947053 - Remove the quickSuggestScenario Nimbus variable. r=daisuke
Depends on D237314

Differential Revision: https://phabricator.services.mozilla.com/D237505
2025-02-12 09:12:49 +00:00
Drew Willcoxon
68cf4c2660 Bug 1946919 - Remove shouldShowOnboardingDialog from default Suggest prefs. r=daisuke
Depends on D237312

Differential Revision: https://phabricator.services.mozilla.com/D237314
2025-02-11 02:58:53 +00:00
Drew Willcoxon
5dc88e8b46 Bug 1946918 - Remove Suggest's online scenario initialization code path. r=daisuke
This builds on D237170. Like that revision, I kept this one small and focused to
make the changes easier to see. There are opportunities for further cleanup that
I'll work on in follow-ups.

Depends on D237170

Differential Revision: https://phabricator.services.mozilla.com/D237312
2025-02-11 02:58:53 +00:00
Drew Willcoxon
9dddb45dad Bug 1937250 - Move Suggest prefs initialization from UrlbarPrefs to QuickSuggest. r=daisuke,urlbar-reviewers
This mostly just moves all Suggest-related things from `UrlbarPrefs` to
`QuickSuggest`. To keep the patch small and make review easier, I tried to keep
it a straight move rather than making improvements, renames, and other
unnecessary changes. There's opportunity to improve and simplify some things,
and I'd like to do that in follow-ups.

Depends on D237281

Differential Revision: https://phabricator.services.mozilla.com/D237170
2025-02-11 02:58:53 +00:00
Drew Willcoxon
994aa0c26b Bug 1946000 - Update Policies.sys.mjs for Firefox Suggest initialization change. r=daisuke,mkaply
Depends on D236825

Differential Revision: https://phabricator.services.mozilla.com/D236826
2025-02-07 21:35:23 +00:00
Drew Willcoxon
1175b84265 Bug 1945999 - Make Suggest initialization happen in one place. r=daisuke
Differential Revision: https://phabricator.services.mozilla.com/D236825
2025-02-07 21:35:22 +00:00
Drew Willcoxon
6a9635076a Bug 1944441 - Move AMP timestamp template handling into AmpSuggestions. r=daisuke
Differential Revision: https://phabricator.services.mozilla.com/D235901
2025-01-30 00:17:35 +00:00
Drew Willcoxon
31209ed783 Bug 1941990 - Allow SuggestProvider to manage at most one Rust suggestion type. r=daisuke
With D234449 fixed, we can change `SuggestProvider.rustSuggestionTypes` (plural)
to `rustSuggestionType` (singular). We can remove `isRustSuggestionTypeEnabled`
too because it's assumed that if the feature itself is enabled then its Rust
suggestions are too. I don't expect we'll ever need to break that assumption,
but if we do, we can just add back `isRustSuggestionTypeEnabled` at that time.

Depends on D234449

Differential Revision: https://phabricator.services.mozilla.com/D234450
2025-01-17 02:34:38 +00:00
Drew Willcoxon
5f4b628014 Bug 1941989 - Split AdmWikipedia into two modules and send the quick-suggest ping only for AMP suggestions. r=daisuke
This makes two major changes:

Split `AdmWikipedia` into `AmpSuggestions` and `OfflineWikipediaSuggestions`. I
included "offline" in the name because Merino also serves Wikipedia suggestions,
but they're the so-called "dynamic Wikipedia" suggestions served from
Elasticsearch, and they have never been managed by a
`BaseFeature`/`SuggestFeature` in Firefox.

Send the `quick-suggest` ping only for AMP suggestions, in `AmpSuggestions`.
Stop sending it for offline Wikipedia suggestions. @bholley and I discussed this
on the data-review@mozilla.com list after I emailed it for the senstive data
review in D233752 [1]. We only use the ping for AMP suggestions, and Wikipedia
telemetry should follow the usual data opt-out. @nanj agreed the ping isn't
necessary for Wikipedia.

[1] https://groups.google.com/a/mozilla.com/g/data-review/c/BC2JKaXA7nA

Depends on D234440

Differential Revision: https://phabricator.services.mozilla.com/D234449
2025-01-17 02:34:38 +00:00
Drew Willcoxon
d0b28ed60b Bug 1936457 - Add a Suggest backend class for Merino. r=daisuke,nanj
This adds `SuggestBackendMerino` and `QuickSuggest.backends`, an array that
contains all backends. So now we have Rust, ML, and Merino backends.

This also makes some changes to relevancy ranking (added in bug 1923187) because
that was done in `_fetchMerinoSuggestions()`, which this patch removes.
Previously, ranking was applied to all Merino suggestions at once. With this
patch, it's applied to each suggestion as it's visited by
`#filterAndSortSuggestions()`, which is now the right place to do it IMO. It
will be easy to expand it to non-Merino suggestions now if we want.

Depends on D232022

Differential Revision: https://phabricator.services.mozilla.com/D231863
2024-12-17 18:37:04 +00:00
Drew Willcoxon
ca65a9a803 Bug 1936951 - Rename BaseFeature to SuggestFeature and factor it out into SuggestProvider and SuggestBackend. r=daisuke
This does several things, and I'll update D231863 so it builds on it:

Rename `BaseFeature` to `SuggestFeature` since only Suggest uses it and it's
pretty deeply integrated with `QuickSuggest` at this point.

Factor out all the suggestions/provider-specific methods into a new
`SuggestProvider` subclass. All features that manage suggestions are now
subclasses of `SuggestProvider` instead of `BaseFeature`.

Add a new subclass called `SuggestBackend` that codifies the expected backend
methods.

Rename `Weather` to `WeatherSuggestions` to be more consistent with the other
feature subclasses.

Update a bunch of comments so hopefully they're clearer and more accurate. I
also replaced the term "quick suggest" with "Suggest".

It doesn't make any substantive changes beyond the above.

Differential Revision: https://phabricator.services.mozilla.com/D232022
2024-12-17 18:37:03 +00:00
Drew Willcoxon
2033165d91 Bug 1932502 - Remove the Suggest JS backend: Part 2: Remove the backend. r=daisuke
This is part 2 of 4, the main part. It removes the backend and the code in
`BaseFeature` and feature subclasses that hook into it. As a consequence it also
makes the other following changes:

* Remove `QuickSuggest.backend` (eventually I'd like to add a Merino backend and
  then add a new `QuickSuggest.backends` list that has the Rust, Merino, and ML
  backends)
* Add `QuickSuggest.config`
* Replace uses of `QuickSuggest.backend.config` and `QuickSuggest.jsBackend.config`
  with `QuickSuggest.config`
* Remove the `quickSuggestRustEnabled` Nimbus variable
* Update most remaining tests so that they do not assume the JS backend exists

I left the `browser.urlbar.quicksuggest.rustEnabled` pref. I would like to
preserve the ability to toggle off Rust suggestions while keeping other parts of
Suggest enabled even if we don't need it now. That seems like a wise thing to do
and is similar to how both Merino and the ML backends can be toggled separately.

Depends on D231465

Differential Revision: https://phabricator.services.mozilla.com/D231466
2024-12-11 20:50:45 +00:00
Drew Willcoxon
6da3532b99 Bug 1932537 - Factor out urlbar geolocation utils into its own module. r=daisuke
This is pretty much a straight factoring out with no substantive changes. I did
change some identifiers (variables, function names), especially so it's clear
that these utils can be used with any objects, not only suggestions.

The test is so long because it tries to check each conditional in the `best()`
helpers, e.g., when Merino returns bad responses, when locations are missing
values, etc.

Differential Revision: https://phabricator.services.mozilla.com/D229720
2024-11-22 22:20:57 +00:00
Drew Willcoxon
03b375ad23 Bug 1930647 - Make SuggestBackendMl discard suggestions with disabled intents. r=daisuke
The problem in the bug is that the ML backend can return Yelp ML suggestions
even when `suggest.yelp` is false. The Yelp feature also doesn't discard them
when the pref is false.

This patch adds an `isMlIntentEnabled` getter to `BaseFeature`. It also adds
`mlIntent`, which the Yelp feature already defined but I forgot to add and
document in `BaseFeature`. So now `BaseFeature` and `SuggestBackendMl` handle
enabled/disabled suggestion types very similarly to the Rust backend.

Depends on D229050

Differential Revision: https://phabricator.services.mozilla.com/D229083
2024-11-16 03:04:12 +00:00
Drew Willcoxon
c611934dda Bug 1930646 - Add a simplistic caching mechanism to MerinoClient to avoid weather suggestions flicker. r=daisuke
This adds some simplistic caching for weather suggestions, just like we have
simplistic caching for geolocation. That fixes the bug by avoiding latency when
calling Merino while you're typing a long query that keeps matching the same
suggestion again and again.

Instead of duplicating the caching logic from geolocation, I moved it into
`MerinoClient` so that both geolocation and weather can use it, and potentially
other features in the future.

Since caching interferes with tests that don't expect it, I added a simple way
to disable it during tests. `MerinoTestUtils` sets a static property on
`MerinoClient` called `_test_disableCache`. I added a test that specifically
tests the cache so we can be sure it works right.

Depends on D228755

Differential Revision: https://phabricator.services.mozilla.com/D228775
2024-11-14 05:44:34 +00:00
Drew Willcoxon
7e3decf8f2 Bug 1930650 - Fix an error with how Suggest compares URLs to weather suggestions. r=daisuke
The error reported in the bug is thrown when `isURLEquivalentToResultURL()`
passes an undefined `originalUrl` to `rawSuggestionUrlMatches()` as the muxer is
comparing a history result to the weather result. Weather result payloads don't
include `originalUrl`, but `isURLEquivalentToResultURL()` assumes that all Rust
suggestions have it.

This patch modifies `isURLEquivalentToResultURL()` so it doesn't make that
assumption. Other places that access `originalUrl` also do not assume it's
defined, so I think this is just a mistake in `isURLEquivalentToResultURL()`.
Alternatively, we could make sure `originalUrl` is always defined on all
payloads, or maybe only Rust payloads, but that would require updating several
tests, and I like the idea that results only include it when necessary.

Differential Revision: https://phabricator.services.mozilla.com/D228742
2024-11-14 05:44:33 +00:00
Drew Willcoxon
818b9358d0 Bug 1928287 - Cache Merino geolocation for a brief period so we don't ping it on every keystroke. r=daisuke
Depends on D227301

Differential Revision: https://phabricator.services.mozilla.com/D227439
2024-11-01 04:28:48 +00:00
Drew Willcoxon
a62a30b7e6 Bug 1927960 - Make city-based weather suggestions prefer cities nearest the client's geolocation. r=daisuke
This adds some logic on top of D226858 that computes the distance between the
client's geolocation coordinates and weather suggestions' coordinates. It works
really well. We still fall back to comparing the region and country if the
coordinates aren't present in the geolocation, but in practice, I'm not sure
Merino will ever return a geolocation without coordinates.

Also, I realized that we don't need to sort the suggestions to find the one with
the best region/country. We only need to do one loop through them.

Depends on D227271

Differential Revision: https://phabricator.services.mozilla.com/D227301
2024-11-01 04:28:48 +00:00
Drew Willcoxon
5f53852ccf Bug 1927010 - Make urlbar weather suggestions prefer cities in the client's region. r=daisuke
Differential Revision: https://phabricator.services.mozilla.com/D226858
2024-10-25 07:45:13 +00:00
Drew Willcoxon
aa56c40785 Bug 1926381 - Integrate MLSuggest with UrlbarProviderQuickSuggest and implement Yelp ML suggestions. r=daisuke
This adds a new Suggest backend for ML-based suggestions called
`SuggestBackendMl`. Before, with the JS and Rust backends, only one backend was
enabled at a time, but both the ML and Rust backends can be enabled at the same
time since we will want to serve suggestions from both for the foreseeable
future. Features can support ML suggestions by implementing the new
`BaseFeature.mlIntent` getter and handling ML suggestions in `makeResult()`.
Each feature can decide whether it supports ML suggestions and whether they
should be preferred over Rust suggestions.

I've updated the Yelp feature to hook into this, since Yelp suggestions are
supported by the ML model that Chidam is working on. If ML is enabled, then the
feature will only serve ML suggestions. I'm not sure if that's what we want long
term, but for now that will make it clear to people which backend is being used
while we develop this feature.

The `quickSuggestMlEnabled` variable/pref determines whether the ML backend is
enabled. The `yelpMlEnabled` variable/pref determines whether Yelp ML
suggestions are enabled. We can create similar variable/prefs for each feature
that supports ML suggestions so that they can be toggled independently of each
other.

Other changes:

Move the `is_sponsored` logic out of the Rust backend and into the provider.
Otherwise it would need to be duplicated in the ML backend too.

Depends on D224523

Differential Revision: https://phabricator.services.mozilla.com/D226736
2024-10-24 09:52:00 +00:00
Florian Quèze
9028981ddf Bug 1921748 - Remove contextservices.quicksuggest legacy telemetry events, r=chutten,urlbar-reviewers,adw.
Differential Revision: https://phabricator.services.mozilla.com/D222808
2024-10-02 14:34:02 +00:00
Drew Willcoxon
247ce81e9b Bug 1915317 - Integrate Rust exposure suggestions with desktop. r=daisuke
This integrates Rust exposure suggestions with desktop. Exposure suggestions are
a part of the replacement for the existing potential exposures feature
(bug 1881875). When we want to test potential exposures in the future, we can
add new exposure suggestions to remote settings and tell the Rust component to
ingest them and return them in queries. When the Rust component returns an
exposure suggestion, desktop will record it in exposure telemetry. (The other
part of the replacement is keyword exposure telemetry in bug 1915507 D220501).

More details about the design of exposure suggestions here:

* Bug 1893086
* https://github.com/mozilla/application-services/pull/6343

The way desktop tells the Rust component about different types of exposure
suggestions is through the new "provider constraints" feature. `ingest()` and
`query()` can take a `SuggestionProviderConstraints` object that changes what's
ingested and queried. Therefore, we need to re-ingest exposure suggestions when
the provider constraints change. Right now, exposure suggestions are the only
kind of suggestions that use provider constraints.

Depends on D220359

Differential Revision: https://phabricator.services.mozilla.com/D220359
2024-09-06 04:30:20 +00:00
Drew Willcoxon
887c7ed38f Bug 1915291 - Keep track of stale Suggest suggestion types and ingest only stale types when their feature is updated. r=daisuke
This keeps track of the enabled suggestion types that have been ingested while
the app is running. I call those types "fresh". In the code, they're stored in
the `#ingestedSuggestionTypes` set. Types that have not been ingested and types
that are disabled are called "stale". When a feature is updated, we update the
staleness bookkeeping in `#ingestedSuggestionTypes` and ingest only enabled
stale types.

This is similar to how each feature has an `#isEnabled` property. It's our
cached value of the last-known state that we can compare to the current state.

Depends on D219943

Differential Revision: https://phabricator.services.mozilla.com/D220352
2024-08-29 03:59:14 +00:00
Drew Willcoxon
5b6f606320 Bug 1907696 - Change the Suggest ingest strategy so only enabled suggestion types are ingested. r=daisuke
Please see the bug for context. This changes how ingest works. Right now we
ingest all "default" suggestion types at once. This patch causes a suggestion
type to be ingested only when it's enabled.

Before this patch, there are two times ingest happens, on startup and when the
ingest timer fires.

With this patch, there are now a few times ingest happens:

* On startup (as before). `SuggestBackendRust` will ingest all registered and
  enabled suggestion types.
* When the ingest timer fires (as before). Similar to startup, all registered
  and enabled types will be ingested.
* When a suggestion type becomes enabled. I added this functionality to
  `BaseFeature.update()` so that each feature gets this behavior automatically.

It's worth saying more about the startup case. On startup, all `BaseFeature`s'
initializations race each other. `SuggestBackendRust` is itself a `BaseFeature`,
so there's no guarantee it will be initialized before other `BaseFeature`s that
implement Rust suggestions. If any `BaseFeature`s are initialized before
`SuggestBackendRust`, they'll try to ingest but nothing will happen because
`SuggestBackendRust` won't be initialized yet. Once `SuggestBackendRust` is
initialized, it will ingest suggestions for all registered `BaseFeature`s that
already tried and failed to ingest. And after `SuggestBackendRust` initializes,
any `BaseFeature`s that are initialized later will be able to successfully
ingest.

Differential Revision: https://phabricator.services.mozilla.com/D216488
2024-07-17 01:25:44 +00:00
Daisuke Akatsuka
f175efc393 Bug 1900497: Implement Fakespot Suggestion UI r=desktop-theme-reviewers,fluent-reviewers,flod,dao,urlbar-reviewers,adw
Differential Revision: https://phabricator.services.mozilla.com/D212647
2024-07-10 16:42:49 +00:00
Marco Bonardo
5009f208ea Bug 1877976 - Merge the Nimbus frecency feature in the urlbar one. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D200319
2024-02-06 09:21:14 +00:00
Daisuke Akatsuka
b983b699b2 Bug 1855375: Basic implementation for Yelp Suggestions r=fluent-reviewers,flod,adw
Differential Revision: https://phabricator.services.mozilla.com/D189335
2024-01-19 02:44:41 +00:00
Cristian Tuns
87fcff935b Backed out 4 changesets (bug 1868922, bug 1855375, bug 1874990) for causing xpcshell failures in /test_tab_quickwrite.js CLOSED TREE
Backed out changeset d558120aba19 (bug 1868922)
Backed out changeset e2c1399903d8 (bug 1855375)
Backed out changeset de119e6a8ced (bug 1874990)
Backed out changeset 3d1ef7c11154 (bug 1874990)
2024-01-18 12:07:55 -05:00
Daisuke Akatsuka
beb26b8db7 Bug 1855375: Basic implementation for Yelp Suggestions r=fluent-reviewers,flod,adw
Differential Revision: https://phabricator.services.mozilla.com/D189335
2024-01-18 15:54:41 +00:00
Drew Willcoxon
3f0ad75711 Bug 1874072 - Don't query the Suggest Rust component for disabled suggestion types. r=daisuke
Please see the bug for context.

Differential Revision: https://phabricator.services.mozilla.com/D198216
2024-01-11 04:23:33 +00:00
Dão Gottwald
d8353059ce Bug 1852055 - [Firefox Suggest Opt-in Experiment] Implement opt-in UI at the top of the results list. r=daleharvey,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D193198
2023-11-10 11:28:14 +00:00
Drew Willcoxon
f8ae0421dd Bug 1859389 - Modify desktop Suggest integration so it properly handles timestamp templates. r=daisuke
This makes sure `result.payload.originalUrl` is set correctly depending on Rust
vs. JS, and AMP vs. Wikipedia. The logic is getting a little messy due to all
the various combinations, but there's no way around it until we drop the JS
backend.

I tried setting `raw_url` (or `rawUrl`) on JS suggestions to match Rust
suggestions, and while that made the `AdmWikipedia` logic slightly nicer, it
either made the `UrlbarProviderQuickSuggest._canAddSuggestion()` logic a little
uglier because we need to also check `raw_url` for JS suggestions (snake_case),
or instead we could set `rawUrl` (camelCase) on JS suggestions just like Rust
suggestions, but every other property on JS suggestions uses snake_case.

This is *not* based on bug 1861540 because we need to uplift this, but I don't
want to uplift bug 1861540.

Differential Revision: https://phabricator.services.mozilla.com/D192124
2023-10-30 22:04:56 +00:00