Open data-sync-user opened 2 years ago
➤ Tarik Eshaq commented:
Drive-by thought as I was looking at the nimbus-shared issues and I was reminded of https://github.com/mozilla/nimbus-shared/issues/136 ( https://github.com/mozilla/nimbus-shared/issues/136|smart-link ) Ryan’s comment there might be a sensible way for this
If we can get a rust crate that releases with the exact same version as the nimbus-shared package, and have the nimbus SDK consume it, the SDK would then be aware of the nimbus-shared crate version it was compiled against using something like https://crates.io/crates/cargo_metadata ( https://crates.io/crates/cargo_metadata )
There might be a better way to do this, but thought I’d jot this down
Bump
There are 6 mobile clients currently supported by Nimbus:
https://github.com/mozilla/experimenter/blob/main/app/experimenter/experiments/constants/nimbus.py#L49-L128
and reasoning about which version of the Nimbus Shared Schema defined here:
https://github.com/mozilla/nimbus-shared/blob/main/types/experiments.ts
is supported by a given version of a given mobile client can be difficult.
We need to track which version of which client supports some given version of the schema to know which schema to emit from Experimenter as the schema changes over time, so one way to approach that could be to emit the combination of
(app identifier, app channel, app version, nimbus shared schema package version)
in each clients telemetry and then we could know
Can we add something to the mobile nimbus client that
┆Issue is synchronized with this Jira Task