Граф коммитов

6084 Коммитов

Автор SHA1 Сообщение Дата
Bastian Gruber c576470f1d Bug 1932096 - Create a GitHub action cron job to periodiaclly update in-tree data dumps
We want to keep the in-tree remote-settings dumps up to date. For this, a GitHub Actions workflow
seems to be the easiest way for now. The workflow will check once a week if there is new data (through
the `cargo remote-settings dump-sync` command). And commit any changes to a new branch and open a PR
against main.
2024-11-19 18:49:31 +00:00
Drew Willcoxon 4389742afc Bug 1931811 - Weather queries are slow due to lack of index on geonames_alternates(geoname_id)
This adds an index on `geonames_alternates(geoname_id)` plus some geonames and
weather benchmarks that I used to verify the change. The bug has some benchmark
numbers and discussion. The index speeds up weather queries by as much as ~98%,
going from hundreds of ms in the worst case to ~10ms.
2024-11-19 18:08:13 +00:00
Bastian Gruber 91c55bf4f3 feat: adding a remote-settings CLI download feature, sync with local data
Adding two commands to the cargo remote-settings CLI, `dump-sync` and `dump-get`. This allows
to download a local dump of a set of collections, and keep it up to date with the remote version.

It's also possible to open a PR right away to update this file in the app-services repo.

`cargo remote-settings dump-sync --create-pr` will create a local branch and push it to the repo.

When trying to `get_records` from the component, it first checks if the database has some,
if not, it checks if the collection exists and takes it from the local file.
2024-11-19 13:41:28 +00:00
Drew Willcoxon 8cc7b4bb3c Bug 1931812 - Don't reingest the DB on each query benchmark
This addresses the bug and also makes one other change: I added a new method to
`BenchmarkWithInput` called `global_input()` that returns some data that's then
passed by reference to the benchmark's iterations. That's a little better than
creating global data in benchmark constructors because it means only the global
data for the current benchmark is in memory instead of the global data for all
benchmarks in the group. In the case of query benchmarks, the global data is the
store, so we avoid having N stores in memory at once, N = the number of
benchmarks in the group. (I'm adding quite a few weather benchmarks.) It also
made sense to rename `generate_input()` to `iteration_input()` to emphasize that
that method is called on each iteration.

I'm open to reverting this other change though if you disagree.

The speedup between this and the main branch when running
`time cargo suggest-bench -- query/query` isn't dramatic but it's a little
better:

```
main branch: ~83s
this branch: ~68s (~18% improvement)
```
2024-11-18 20:46:58 +00:00
Drew Willcoxon 8e7aa1723c Bug 1931718 - Suggest can return duplicate weather suggestions for the same city 2024-11-18 19:57:16 +00:00
Bastian Gruber ab36d7adce feat: feature gate jexl 2024-11-15 16:13:04 +00:00
Mark Banner 06a5d158b6 Bug 1923689 - Implement basic configuration processing on SearchEngineSelector.
This implements processing the main parts of the search configuration JSON into the Rust structure using serde_json.
Currently the processing applies to:

* The identifier and base properties of the engine records.
* The default engine records.

As variant and environment handling is not yet implemented, the filter function will return all engines defined in the configuration.
2024-11-14 11:08:34 +00:00
Bastian Gruber a486b51698 fix: set proper filter_expression format 2024-11-13 16:01:41 +00:00
mattlichtenstein 13908171a8 add DesktopRoots convenience property 2024-11-13 14:55:12 +00:00
Lina Butler b168ac2b6d Bug 1927543 - Add an `if_page_missing` option for history metadata.
This commit:

* Introduces an options argument to the Places
  `noteHistoryMetadataObservation()` functions.
* Adds an `if_page_missing` option that specifies what to do if
  the page for the observation doesn't exist in the Places database.
  The default behavior is to ignore the observation.

We'll use this option to only insert new pages into Places for the
initial `DocumentType` observation, and ignore all other observations
if the page isn't in Places.
2024-11-12 22:32:15 +00:00
lougeniac64 39c34efb3c Refactored webext-storage database close function 2024-11-12 19:19:06 +00:00
mattlichtenstein 1cb0a99432 Int instead of UInt32 2024-11-12 18:33:14 +00:00
mattlichtenstein c06aa640c3 add countBookmarksInTrees to swift wrapper 2024-11-12 18:33:14 +00:00
Ryan VanderMeulen b05cac7f75 Update Gradle to version 8.11 2024-11-12 16:35:40 +00:00
Charlie Humphreys 775da2115b update Nimbus SDK to provide more information on serde_json::Errors 2024-11-08 20:52:28 +00:00
Bastian Gruber 30886931aa fix: downgrade regex to 1.9 2024-11-08 16:57:39 +00:00
Ben Dean-Kawamura 82868b42a7 Fix ranker docstring 2024-11-08 15:03:02 +00:00
Bastian Gruber 215e37e143 feat: add jexl to remote-settings component 2024-11-07 20:15:33 +00:00
Ryan VanderMeulen 5fefc0513d Update various Gradle dependencies 2024-11-07 19:12:43 +00:00
Ben Dean-Kawamura 506dac4e13 [DISCO-3043] Relevancy: multi armed bandit API
adding init, select and update functions to be
used in thompson sampling
2024-11-07 16:44:42 +00:00
Chris H-C 6159184773 bug 1928630 - Update Glean to v62.0.0 2024-11-07 16:07:05 +00:00
Ben Dean-Kawamura 139168d6af Update the taskcluster commenting logic
This will run all the tasks on `/taskcluster ci full` which matches
handling of `[ci full]` in the PR title.
2024-11-07 14:04:31 +00:00
Bastian Gruber 48a71c2ebe feat: remove codecov 2024-11-07 01:31:19 +00:00
dependabot[bot] 8e52c088f8 build(deps): bump mozilla-taskgraph from 3.0.0 to 3.0.1 in /taskcluster
Bumps [mozilla-taskgraph](https://github.com/mozilla-releng/mozilla-taskgraph) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/mozilla-releng/mozilla-taskgraph/releases)
- [Changelog](https://github.com/mozilla-releng/mozilla-taskgraph/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mozilla-releng/mozilla-taskgraph/compare/3.0.0...3.0.1)

---
updated-dependencies:
- dependency-name: mozilla-taskgraph
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-07 01:16:21 +00:00
Ben Dean-Kawamura 8de1494fac Bug 1927210 - Enable git-issue-comment actions 2024-11-06 20:25:06 +00:00
Ben Dean-Kawamura b0cb2c46ea Refactor taskcluster config
This is prep work for bug 1927210.  There should be no functional
changes, just an extra `$let` block at the top. I want to get the
indentation change out of the way first before doing any other changes.
2024-11-06 20:25:06 +00:00
Bastian Gruber 2d3ae0252b feat: move versioning into its own support crate
Multiple components in application-services need to filter for the exact firefox version.
Instead of duplicating the code, we move it into its own support crate, which other components
can now make use of.
2024-11-06 11:21:12 +00:00
Drew Willcoxon 6a7df1d54b Bug 1929375 - Fix schema::clear_database() and add a migration 2024-11-06 01:33:32 +00:00
Drew Willcoxon df8c16859e Fix a comment 2024-11-04 18:33:37 +00:00
Drew Willcoxon ea0654349e Improve matching logic for city abbreviations and airport codes 2024-11-04 18:33:37 +00:00
Drew Willcoxon 578e31c21d Bug 1928544 - For weather suggestions, don't match on airport codes or abbreviations when they're the only term in the query
In the original GeoNames data, each alternate name has an associated
`iso_language` that indicates what kind of name it is. In addition to actual
language codes, it can also be `"abbr"` for an abbreviation ("NY") and a handful
of other values that all mean an airport code ("PDX"). We need to keep track of
the `iso_language` per alternate so that we don't match on an abbreviation or
airport code when it's the only term in the query. (Or, we could store an
`is_abbreviation` in the RS data, but that's worse in the long term, and it's
also good to be consistent with the original data where feasible IMO.)

I modified the schema and RS structs accordingly. In `DownloadedGeoname`, I
changed the name of `alternate_names` to `alternate_names_2` because, while I'd
like to uplift this change, it's not clear there's enough time. So we may need
to support the old `alternate_names` on 133.

The other main change is to `filter_map_chunks()`: The filter-map function is
now passed the chunk size, and weather uses it to tell whether the chunk is the
last one in the query string.
2024-11-04 18:33:37 +00:00
Ben Dean-Kawamura bb620f4b3f Updating taskcluster policy to allow comment actions
This is needed to test
https://github.com/mozilla/application-services/pull/6437.
2024-11-04 15:08:35 +00:00
lougeniac64 79df7fe34a Refactored sendEventToDevice to return closeTabs result 2024-10-30 23:28:50 +00:00
Drew Willcoxon 892d31a9cb Bug 1927637 - Ignore punctuation when matching weather suggestions
We should ignore punctuation when matching weather suggestions, e.g., the comma
in: "weather waterloo, ia".

This modifies `fetch_weather_suggestions()` so it breaks the query string into
words, removes punctuation, and passes the words into `filter_map_chunks()`. I
modified `filter_map_chunks()` accordingly so it takes a slice directly instead
of taking a string and then breaking it into words.

We do a fair amount of lowercasing the query string in a bunch of places, the
Yelp functions also break the query into words, and we may want to remove
punctuation for other suggestion types too, so I started down the path of
creating a `NormalizedQuery` struct to cache all those things, but the patch
ended up being much larger of course, so I might try that in a separate PR.
2024-10-29 18:01:21 +00:00
Charlie Humphreys d29c918ae2 update Rust for recorded context to handle event store queries 2024-10-29 15:33:06 +00:00
Drew Willcoxon 9841bd97c0 Bug 1927526 - Add geographic coordinates to weather suggestions
I had to remove some of the derived implementations on `Geoname` (`Eq`, `Hash`,
`PartialEq`) due to the addition of these `f64`s. That had a couple of
consequences: I also had to remove `Geoname::geoname_type` since nothing uses it
anymore, and that meant I also had to remove `GeonameType::Other`. Equality
comparison and hashing are now based on `Geoname::geoname_id`, which is probably
how it should have worked all along.
2024-10-28 22:41:15 +00:00
Mark Hammond 55982952d1 Add extra logging to the tabs engine to help diagnose strange problems syncing tabs 2024-10-28 22:00:38 +00:00
Ben Dean-Kawamura dbc8e8d32a Rework remote settings server URL
Let's update these to match the JS client:
15245fdb8e/extension/experiments/remotesettings/api.js (L8-L11)

This is a breaking change to the public API, but this API is not exposed
via UniFFI and it's only used in 1 place:
50bf235b9a/components/nimbus/src/stateful/client/mod.rs (L24-L35).
AFAICT, the only affect this will have is that the error message will
change slightly.

Fixed an error when downloading attachments in the new client code.  I
think I broke it with my last commit.

Also removed the `.unwrap()` calls.  It shouldn't matter because there's
no way for `.join()` to fail, but it feels silly calling `unwrap()` from
a function that returns a result.
2024-10-28 21:40:22 +00:00
Lina Butler 8bdea9d072 ios-rust: Ignore generated UniFFI sources.
As of mozilla/application-services#6413, `MozillaTestServices`
outputs all generated sources into `MozillaTestServices/Generated`.
Let's ignore them, so that they don't show up as untracked in Git.
2024-10-28 19:59:16 +00:00
Bastian Gruber 1be85e819a fix: remove topic guides from application-services docs
The topic guides moved to m-c:
https://firefox-source-docs.mozilla.org/rust-components/index.html
2024-10-28 17:05:48 +00:00
DonalMe 2db95b7c38 Start release v134.0 2024-10-28 13:20:08 +00:00
Emmanuel Ferdman 30dc84c946 Update `kind.yml` reference
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-10-26 23:23:45 +00:00
DonalMe a14b5edff5 Revert "update Rust for recorded context to handle event store queries"
This reverts commit b8f83af2bd.
2024-10-26 14:48:35 +00:00
Bastian Gruber f7f0addb0a fix: bundle sqlite 2024-10-25 21:20:32 +00:00
Bastian Gruber acf12a1f5d feat: add storage layer to remote-settings component 2024-10-25 18:58:11 +00:00
Charlie Humphreys b8f83af2bd update Rust for recorded context to handle event store queries 2024-10-25 13:33:59 +00:00
Ryan VanderMeulen d160a87f30 Update NDK to r27c 2024-10-24 21:09:21 +00:00
Julien Cristau 3d79da3263 Update taskgraph decision docker image to 11.2.4 2024-10-24 19:45:04 +00:00
Julien Cristau 5d72e2267f Update docker image definitions for compatibility with taskgraph 10.x
The newer image_builder creates directories listed as volumes before
running any other commands.
2024-10-24 19:45:04 +00:00
dependabot[bot] eefe21f0fa build(deps): bump mozilla-taskgraph from 2.0.3 to 3.0.0 in /taskcluster
Bumps [mozilla-taskgraph](https://github.com/mozilla-releng/mozilla-taskgraph) from 2.0.3 to 3.0.0.
- [Release notes](https://github.com/mozilla-releng/mozilla-taskgraph/releases)
- [Changelog](https://github.com/mozilla-releng/mozilla-taskgraph/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mozilla-releng/mozilla-taskgraph/compare/2.0.3...3.0.0)

---
updated-dependencies:
- dependency-name: mozilla-taskgraph
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 19:45:04 +00:00