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

299 Коммитов

Автор SHA1 Сообщение Дата
Charlie f746d37f14
Set up Cirrus UDL (#5475)
* add cirrus udl and megazord
* update changelog
2023-05-02 15:28:09 -04:00
Mark Hammond 5802165598
Remove duplicate DeviceType enums. (#5316) 2023-04-28 05:35:26 +10:00
Mark Hammond 06a5e4295a
fix dependency check jon as sqlcipher made a trivial license change (#5519) 2023-04-28 05:17:03 +10:00
jhugman 5deb9f1675
Add dump-state and reset-db to the nimbus-cli app-side (#5497)
* Add reset-db command line option

* Add log-state command line option

* Add changelog
2023-04-26 18:26:00 +01:00
lougeniaC64 6d91c28a52
Added iOS sync telemetry reporting logic (#5479) 2023-04-14 15:27:52 -04:00
jhugman 2abad77e0a
Add advanceEventTime testing API for the NimbusEventStore (#5477) r=charlie
* Add advance_datum and advance_event_time to nimbus_client.

* Tidy out Utc::now from event_store

* Add API to advance_event_time

* Add Android API + tests

* Add iOS API + tests

* Add changelog

* Address reviewer comment
2023-04-10 22:26:38 +01:00
Ben Dean-Kawamura da6f96f0de Include path to errors when deserializing BSOs
Use the serde_path_to_error crate to get the path where an error occured
when deserializing BSOs.  I hope this will help with things like
`Invalid incoming T: invalid type: null, expected a string` (#5457).  I
also think the error path is just generally useful.

I couldn't figure out a good test for this, but I did some manually
checking and the paths seem correct to me.
2023-03-31 11:11:07 -04:00
Mark Hammond 90c8e363a7
Update chrono to avoid RUSTSEC-2020-0159. Fixes #4590 (#5451) 2023-03-29 14:48:38 +11:00
jhugman 6deba4e083
Move HardcodedNimbusFeatures.swift into ios/Nimbus directory (#5445) 2023-03-28 01:47:01 +01:00
jhugman 45aa7af4af
Add malformed feature configuration event (#5440)
* Add Rust to look up the experiment/rollout per feature

* Add metric declaration for malformedFeature

* Add Swift to record exposure and malformed configuration

* Add Kotlin to record exposure and malformed configuration

* Add changelog

* Add link to data-review+
2023-03-27 17:18:51 +01:00
Travis Long d43ace85fa
Bug 1820927 - Update Glean to v52.4.1 (#5426) 2023-03-10 15:20:15 -06:00
Ryan VanderMeulen dc1826a893 Remove unsupported kotlin-android-extensions plugin usage 2023-03-07 08:18:32 -05:00
Ryan VanderMeulen 6d4867ef3f Update Kotlin to version 1.8.10
Also remove some unnecessary kotlin-stdlib usage as it's already implicit.
2023-03-07 08:18:32 -05:00
jhugman ca14a8c332
Additional test tooling for Nimbus (#5393) r=charlie
* Add HardcodedNimbusFeatures

* Add Swift version of the same

* iOS parity

* Ktlint

* Add changelog
2023-03-01 12:29:51 +00:00
lougeniaC64 f562aff7a7
Exposed sync manager component to iOS (#5359) 2023-02-24 11:19:08 -05:00
Tarik Eshaq 207cb7536c
Upgrades glean to 52.2.0 (#5391) 2023-02-22 10:11:16 -08:00
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
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 b3a573164e Clippy and check-dependency fixes 2023-01-27 15:32:17 -05: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
jhugman 4c2aed4992
Add fallback translation bundle method (#5314) r=charlie
* Add fallback bundle method

* Rename builder methods to be more swifty

* swiftformat

* Add changelog
2023-01-06 13:54:46 +00:00
lougeniaC64 05793e9376
Exposed credit card API for iOS (#5293) 2023-01-03 15:09:55 -05:00
jhugman 42babc537d
Add NimbusBuilder and applyLocalExperiments to Nimbus/swift (#5307) r=charlie
* Add NimbusBuilder and applyLocalExperiments to Nimbus/swift

* swiftlint/swiftformat

* Add paramater methods to builder

* Add changelog
2023-01-03 18:49:03 +00:00
Mark Hammond ba67a665dd
Update rusqlite to 0.28.0 (#5282) 2022-12-08 15:01:25 +11:00
jhugman 6d39fd2350
Change custom targeting attributes into JSONObject (#5229) r=travis
* Change custom targeting attributes into JSONObject

* Add changelog

* Address reviewer comments
2022-11-11 16:39:08 +00:00
Travis Long a07a3b7ada
Nimbus: Add EventCount store to persistence layer (#5206)
Co-authored-by: Charlie Humphreys <chumphreys@mozilla.com>
2022-11-04 08:26:21 -05:00
Ben Dean-Kawamura 01aeb370c3 Further reworked the places errors
- Renamed `PlacesInternalError` to `Error` because it seems more
  idiomatic
- Renamed `PlacesError` to `PlacesApiError` to make it consistent with
  the logins errors.  I considered just calling this `ApiError` but I
  thought that would be confusing for consumers since they won't always
  have the `places::` prefix before the class name.
- Removed `JsonError`, which seems like it was unusped
- Merged `InternalError` into `UnexpectedPlacesException`
- Merged `UrlTooLong` into `UrlParseFailed` for `PlacesApiError`
- Merged `InvalidBookmarkUpdate`, `CannotUpdateRoot`, `InvalidParent`
  into `InvalidBookmarkOperation` for `PlacesApiError`

Use the fielded style for `PlacesApiError` in places.udl.  Updated
`PlacesApiError` to use named fields to be compatible with this.

On swift renamed `PlacesApiError`, which was defined on top of the
normal errors to `PlacesConnectionError`.
2022-10-27 18:37:45 -04:00
Travis Long 37ca186433
Add Enroll/Unenroll Failed events to Nimbus (#5137) 2022-10-26 16:11:09 -05:00
Ben Dean-Kawamura b82517cde3 Updating Rust versions to 1.61/1.63
This matches the nightly versions for FF desktop.
2022-09-13 19:13:44 -04:00
Jan-Erik Rediger 861e510698 Update to Glean v51.2.0
This should be the last release where we _require_ a a-s release to go
along with the update in A-C.
2022-09-12 11:30:24 +02:00
Mark Hammond 71cb0f6fa4
Add a 'full-sync' feature to tabs. (#5102)
If the new feature is enabled, tabs can sync - otherwise it can not.
The intention is that later there will be a "bridged-sync" feature,
and that in-practice, one or the other will be enabled - however, the
way features work, it must be possible that no features are enabled.

The new feature is not a default feature because I expect we will
want the default features to be what desktop consumes - ie, that
the default feature will be bridged-sync once that exists.

This isn't strictly required yet, but is being done now to make
future reviews of the bridged engine easier to reason about.
2022-09-01 10:52:50 +10:00
Tarik Eshaq ca71b44e78
Upgrades the mac runners on CI to run on 13.4.1 (#5113)
* Upgrades the mac runners on CI to run on 13.4.1

* Removes manual glean metrics generation and uses glean_build

* Fixup dependency summaries
2022-08-29 19:59:12 -07:00
Tarik Eshaq ad9dd96c60
Adds error-support to the iOS megazords (#5094)
* Adds error-support to the iOS megazords

* Updates UniFFI to 0.19

* Adds changelog

* fixup dependency summaries

* Fixup changelog
2022-08-29 13:01:30 -07:00
Mark Hammond c87e7ca983
Update dependences: fs-err's branch is now named 'main' (#5098) 2022-08-22 11:12:31 +10:00
lougeniaC64 1465bc31b9
Removed expired ios metrics (#5064) 2022-08-02 12:24:45 -04:00
Jan-Erik Rediger 049a47b701 Upgrade to Glean v51.0.1 2022-07-27 10:10:32 +02:00
Jan-Erik Rediger 08a70e935b Upgrade to Glean v50.1.3 2022-07-26 11:55:37 +02:00
Jan-Erik Rediger 7983649bed Upgrade to Glean v50.1.2 2022-07-11 16:14:07 +02:00
Mark Hammond aeed512707
Fix the dep checker: the windows-rs repository moved its license files. (#5034)
Also re-run the dependency checker when the summary script changes.
2022-07-08 16:58:00 +10:00
Tarik Eshaq 478a5fd25f
runs cargo update and fixes dependency summaries [ci full] (#5032)
* runs cargo update and fixes dependency summaries

* Adds back repository assert
2022-07-07 12:57:22 -07:00
bendk 30f2c3e360
Removing the migration metrics (#5017) (#5019) 2022-07-01 11:15:13 +10:00
Jan-Erik Rediger 295070fe68 Upgrade to Glean v50.1.0 2022-06-16 16:53:07 +02:00
Jan-Erik Rediger 257dd74d67 Update bundled Glean to v50 and remove dependency on glean_ffi
This will soon be superseeded by integrating Glean into the ios
megazord again.
2022-06-08 23:34:32 +02:00
Jan-Erik Rediger 402afc0775 Update to Glean v50 and adopt new APIs
This now uses Glean directly through the org.mozilla.telemetry:glean
package, instead of its Android Components release.
This is required to avoid a dependency cycle:
* The migration component in a-c requires Glean and a-s
* a-s requires Glean from a-c

But there can only be one Glean in the build.
So in order to not need to release individual components manually we
switch a-s to directly consume Glean.
Then we can update a-s and get that into a-c together with a Glean
update there.
2022-06-08 23:34:32 +02:00
Ben Dean-Kawamura b0cb16d7ce Added error reporting system
I'm hoping that this can replace the current system where `rc_log`
forwards the logging calls, then we report the `log::error` messages to
Sentry.  Instead, let's use something more explicit and with more
options.

- The general system allows for:
   - Error reports that get sent to Sentry
   - Error counts that get sent to Glean
   - Error breadcrumbs
- Added the `ApplicationErrorReporter` trait. Fenix, iOS, Desktop, or
  whatever application is consuming us can implement this trait and
  set the global error reporter object.  It will then see the error
  reports, breadcrumbs, etc.
- Added error reporting macros that components can use to send errors
  to the currently installed `ApplicationErrorReporter`.
- Breadcrumbs store the module/line/column where they were logged.  I'm
  hoping this can help make up for the lack of backtrace support.  In
  particular, the `trace_error()!` macro can be used to log a breadcrumb
  when a function returns an error.
- UniFFI'ed the error-support crate and added it to the megazord.
- Use an explicit cast rather than `into()` in `pk11/types.rs`.  I'm not
  sure exactly why, but changing the dependencies made it so there were
  now multiple `Into` implementations available and the compiler
  complained.
2022-06-02 12:56:22 -04:00
Tarik Eshaq 97655e9ab4
Update ios docs (#4959)
* Adds local testing docs for firefox-ios

* Updates ios-rust readme

* Updates adding-a-new-component document

* Address feedback
2022-05-25 15:50:49 -07:00
Tarik Eshaq a6af58fac6
Bumps uniffi to 0.18 [ci full] (#4949)
* Bumps uniffi to 0.18

* Fixes dependency summaries

* Fixes uniffi duplicate type definitions

* Adds changelog

* Renames Timestamp to PlacesTimestamp

* Adds focus dependency changes from rebase

* Fix typo in dependency summaries comment
2022-05-16 10:26:20 -07:00
Tarik Eshaq 53d8020e1f
Ships a seperate megazord for focus-ios (#4953)
* Ship a focus specific megazord

* fix bash lint

* Fix rustfmt

* Fixes broken script

* Fixes script lint

* Adds changelog
2022-05-11 12:26:22 -07:00
Tarik Eshaq d1d98df4c2
Exposes deleteVisitFor for places iOS (#4946)
* Exposes deleteVisitFor for places iOS

* Adds changelog
2022-05-06 09:51:40 -07:00