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

4784 Коммитов

Автор SHA1 Сообщение Дата
Ben Dean-Kawamura 8496e93409 Use UniFFI to export our logging API (gh-5308)
Added a new crate called `rust-log-forwarder` that forwards logs to
consumers. This does basically the same thing as `rc-log`, but it uses
UniFFI. Once our consumer apps swich over to `rust-log-forwarder`, we
can remove the `rc-log` component.
2023-02-14 13:53:09 -05:00
Mark Hammond cc652b0531
handle_error macro now requires the internal error type be specified (#5375) 2023-02-14 12:43:26 +11:00
Ben Dean-Kawamura 623d56c75b Don't report errors for places connections timeout (gh-5237)
This is a known issue that's no longer worth creating sentry errors for.
See the issue for details.
2023-02-13 10:27:35 -05:00
Ben Dean-Kawamura d618a23d58 Revert "Increasing places SQLITE_BUSY timeout (#5237)"
This reverts commit 760a0b31f7.
2023-02-13 10:27:35 -05:00
Ben Dean-Kawamura b7fab008a0 Move the places `include_scaffolding!` call to the crate root
This is what UniFfi expects and will start enforcing soon.  When I was
testing app-services with the current code, I got errors because the
`UniFfiTag` struct was not in the crate root.

Made a bunch of things `pub` that weren't before.  This seems logical,
since we're exporting those things in our UniFfi API.  It also was the
simplest way to make the import work.
2023-02-13 09:46:00 -05:00
Julien Cristau 8f52644879
Merge pull request #5378 from jcristau/bump-taskgraph
ci: bump taskgraph and its dependencies
2023-02-13 15:40:23 +01:00
Julien Cristau b15cf6acd1 ci: bump taskgraph and its dependencies 2023-02-13 15:01:36 +01:00
Julien Cristau c4cd4aa874
Update mergify queue rules (#5379)
rebase_fallback is being removed.
2023-02-13 15:01:01 +01:00
Charlie bd5ff1a297
Adjust Nimbus FML CLI to only import R when it is required (#5361)
* fix various nimbus gradle plugin issues
* fix newline at end of file and adjust pathing for applicationServicesDir
* adjust nimbus fml cli to only include the R class in imports if it will be used
* fix clippy errors and update changelog
* Update components/support/nimbus-fml/src/backends/kotlin/gen_structs/bundled.rs
Co-authored-by: jhugman <jhugman@users.noreply.github.com>
* adjust for pr feedback
* fix formatting
---------
Co-authored-by: jhugman <jhugman@users.noreply.github.com>
2023-02-10 10:33:20 -05:00
Tarik Eshaq a812bfa974
Upgrades openssl-src after cargo audit (#5373) 2023-02-09 15:37:32 -05:00
Mark Hammond 70bebedbec
Minor cleanups of sync engine code: (#5365)
* Consolidate the various types used for a "collection name" - now we
  use `Cow` rather than the various `&'static str`, `&str` and `String`
  used previously.
* This made it easier to clean up the `LocalCollState` state machine
  to have the `Ready` state directly provide the `CollState` due to
  a mismatch between `'static str` and `String` reprs of collections.
* No longer store the outgoing timestamp in an OutgoingChangeset - it was
  never actually used and just creates unnecessary complexity.
* OutgoingChangsets now always supply the BSOs as they are created,
  meaning less `mut` objects.
* Bonus fix to unbreak the `places-utils` example.
2023-02-08 13:50:38 +11:00
Ryan VanderMeulen 4f816ece4c Update Android commandlinetools to version 9.0 2023-02-07 16:56:36 -05:00
jhugman f4040b3309
Bug 1804115 Better catch errors in misbehaving error reporters (#5366)
* Bug 1804115 Better catch errors in misbehaving error reporters

* Add changelog
2023-02-07 19:13:57 +00:00
Ben Dean-Kawamura 0703a498ec Remove SqlErrorNoRowsReturned related logging (gh-5106)
We've investigated this, gotten info from the logging, and decided not
to pursue it further.  Let's remove the logging now before it gets more
stale.
2023-02-06 12:34:21 -05:00
Ben Dean-Kawamura f0cf5491ce Adding ADR-0006
This discusses updating our release process so that we get code merged
into our consumers more frequently and to prepare us for a monorepo
world.

See the ADR for details.
2023-02-01 10:35:50 -05:00
Charlie 1002aad713
[ci full] fix various nimbus gradle plugin issues (#5348)
* fix various nimbus gradle plugin issues
* update changelog
* fix newline at end of file and adjust pathing for applicationServicesDir
* set default cache dir to be root build directory
---------
Co-authored-by: jhugman <jhugman@users.noreply.github.com>
2023-01-31 14:56:30 -05:00
jhugman f19e4f8882
Add FML generated class to NimbusBuilder (#5353) r=charlie/travis
* Fixup bitrotted tests. Removed disabled NimbusHealth metric

* Add Generated Feature Manifest to Android Nimbus Builder

* Added Generated Feature Manifest to iOS Nimbus Builder

* swiftlint

* ktlint

* cargo fmt

* Renamed GeneratedFeatureManifest to FeatureManifestInterface

* Remove existential types
2023-01-31 18:31:17 +00:00
Ben Dean-Kawamura eb576bade3 Updgrading sqlcipher
Updating to 4.5.3 and start using the official builds from zetetic.net.
This is needed for #5354. I was able to verify this one with their GPG
key so I think it should be trusted.
2023-01-30 17:05:14 -05:00
Ben Dean-Kawamura ecb35df5fc Cut release v96.4.0 2023-01-30 13:00:09 -05:00
Ben Dean-Kawamura 6ecde0b247 Don't use workspace dependencies for UniFFI.
This was really nice, but it breaks when we get vendored in to
moz-central.  So we have to go back to the dark ages.
2023-01-30 12:26:58 -05:00
Ben Dean-Kawamura 7af29e9162 Adding licence to the error support macros 2023-01-30 12:26:04 -05:00
Ben Dean-Kawamura 8e89f0a657 Adding HOWTO guide on UniFFI objects destruction 2023-01-30 10:45:55 -05:00
Ben Dean-Kawamura b3a573164e Clippy and check-dependency fixes 2023-01-27 15:32:17 -05:00
Ben Dean-Kawamura b2b76ece23 Updating Rust versions to match Firefox 110 2023-01-27 12:52:38 -05:00
Ben Dean-Kawamura a79f23574f Updating UniFFI to version 0.23
- Switched to using workspace dependencies, this will make future
  updates much simpler
- Updated code to work with the new UniFFI crate structure
- Updated the error-support integration tests to work with the workspace
  dependencies, following this advice: https://stackoverflow.com/a/71461114.
2023-01-27 12:38:55 -05:00
Tarik Eshaq f24d345731
Make handle_error as a proc macro (#5184)
* [demo] handle_error as a proc macro

* Adds more tests

* Rework handle_error proc macro to take no arguments

* ignore rustdoc since it doesn't have expore to error_support

* Removes function signature validation
2023-01-25 16:00:36 -05:00
jhugman aa92dda3f1
Add metrics for fetch and apply experiments (#5344) data-reviewed
* Add metrics for fetch and apply experiments

* Update link for data-review PR

* Address reviewer comments
2023-01-25 17:19:17 +00:00
Sammy Khamis c6370008f5
Dont reset the tabs engine every sync, use the db for storing last sync (#5277)
* Don't reset the tabs engine every sync, create new table to handle storing sync metadata for tabs. Support quick write on desktop.
2023-01-18 15:21:59 -10:00
Sammy Khamis 46a46f3dc9
update nss docs to reflect new way to update (#5296) 2023-01-18 09:57:42 -10:00
Tarik Eshaq 387e552eeb
Removes nimbus gradle plugin from build config until its CI passes (#5342) 2023-01-18 14:27:37 -05:00
Jan-Erik Rediger 102fa0de36 Cut release v96.3.0 2023-01-18 18:42:57 +01:00
Jan-Erik Rediger 7bc8f4eef5 iOS: Don't clear Glean store in test
This fails when `true`.
We have to figure this out in a followup.
2023-01-18 18:20:06 +01:00
Jan-Erik Rediger b2067f6dc7 Upgrade to Glean 52.0.0 2023-01-18 18:20:06 +01:00
Ben Dean-Kawamura 760a0b31f7 Increasing places SQLITE_BUSY timeout (#5237) 2023-01-18 10:01:21 -05:00
Andrew Halberstadt e7864dbceb ci: Append action to assumed role for Github releases
Bug: 1810118
2023-01-18 09:01:57 -05:00
dependabot[bot] 9f182ef63a
Bump urllib3 from 1.26.13 to 1.26.14 in /tools (#5336)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.13 to 1.26.14.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.13...1.26.14)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 13:39:25 +11:00
dependabot[bot] cadf88a0ff
Bump requests from 2.28.1 to 2.28.2 in /tools (#5335)
Bumps [requests](https://github.com/psf/requests) from 2.28.1 to 2.28.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.1...v2.28.2)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 11:31:42 +11:00
Mark Hammond d1d8e8dbae
Add note about how to manually remove package caches on iOS (#5331) 2023-01-13 16:16:51 +11:00
Mark Hammond b0e885377e
Add notes about appsvc-moz and circle tokens (#5330) 2023-01-13 12:09:43 +11:00
Charlie 1eb7423964
Add the nimbus-gradle-plugin to application services (#5173)
* Add the nimbus-gradle-plugin to application services
* update nimbus gradle plugin and settings to pre-build
* update class path and adjust nimbus fml cli versioning logic
* adjust nimbus-gradle-plugin to support non-android projects
* update includebuild to also substitute dependencies
2023-01-12 15:45:35 -05:00
Mark Hammond 47fd90041a
Avoid Option<DeviceType> in all structs (#4861) 2023-01-12 12:18:08 +11:00
Tarik Eshaq 280d693896
Adds adr 0005 and 0007 to the mdbook (#5327) 2023-01-11 16:35:56 -05:00
Tarik Eshaq d254e7fae0
Upgrades tokio after cargo audit fails (#5325) 2023-01-11 14:03:41 -05:00
Lina Butler b6bbe8ca17
Update iOS docs for adding a Rust component; install Apple silicon iOS Simulator target. [ci full] (#5322)
* Update iOS docs for adding a new component.

* Fix the path to `MozillaTestServices.xcodeproj`.
* Clarify that the generated bindings for the component should be added
  after the UDL file. When adding a UniFFIed component for the first
  time, the `Generated` subdirectory won't exist until after the UDL
  file has been added to the project, _and_ Xcode has run
  `uniffi_bindgen` to generate the `.swift` file.
* Add a note to double-check that the new `.udl` file is _not_ added as
  a bundle resource (it should be added as a source), and the generated
  `.swift` file isn't added at all. Xcode's "add files" dialog likes to
  add files to a target, which will cause a cryptic build cycle error
  in this case.
* The "Headers" phase has been removed; it looks like it's not necessary
  to add `<your_crate_name>FFI.h` to the list of Public headers anymore.
* Fix the module name for tests.

* Add the Apple silicon iOS simulator Rust target.

We currently install the Intel iOS Simulator target, but not the Apple
silicon iOS Simulator target. Without the latter, `build-xcframework.sh`
can't build the framework on an M1 Mac.

Co-authored-by: Tarik Eshaq <teshaq@mozilla.com>
2023-01-10 18:26:55 -05:00
Tarik Eshaq d48232b3e7
Addresses comments on 0007 adr (#5323) 2023-01-10 15:44:34 -05:00
Mark Hammond 3fcfc24025
Add ADR-0005: A remote-settings client for our mobile browsers. (#5302) 2023-01-10 09:00:41 +11:00
Tarik Eshaq f7bf9043d2
Adds ADR for adding the limit to visits to 10000 (#5321) 2023-01-09 13:58:13 -05:00
Ben Dean-Kawamura 1ae4b21394 Don't report UrlParseError
There's a known issue where Android sends invalid URLs to us.  We've
gotten about as much as we can from the Sentry reports and at this point
they're more noise then helpful.

See https://github.com/mozilla/application-services/issues/5235 for
details.
2023-01-09 10:19:56 -05:00
Mark Hammond edfdb790ae
Fix serialization and deserialization of `Option<DeviceType>` in sync15. (#5315)
We previously could not roundtrip a JSON string which has an unknown
device_type value - we'd deserialize it as `Some(DeviceType::Unknown)`,
which we'd then fail to serialize as we explicitly forbid serializing a
`DeviceType::Unknown`.

We fixed this in 2 ways:
* Serializing `Some(DeviceType::Unknown)` now serializes it as though it
  was None (ie, as null) - just in-case our Rust code manages to explicitly
  set it to `Some(DeviceType::Unknown)`.
* Deserializing an unknown enum value now stores it as `None` instead of
  `Some(DeviceType::Unknown)` (ie, so the point above should never actually
  happen in practice)
2023-01-09 12:40:04 +11:00
jhugman 05662a894c
iOS only: Increase visibility for NimbusBuilder (#5320) r=charlie 2023-01-06 18:35:09 +00:00