Bug 1668435 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

This bug is for vendoring the rust nimbus build into mozilla-central.  I've filed it now so that Andrei and I can easily use phab to share work.

It's related to https://jira.mozilla.com/browse/EXP-419 among other things.

Stuff that we know we still need to do: 

* fix uniffi template to emit C++ bindings that build without DEBUG
* figure out if uniffi Cargo.toml should switch from `license_file` to `license`or whether the build allow list needs to be a bit more liberal
* handle upstream dependency files that are too big (PRs, or make exceptions locally)
* split apart (at least) updating existing dependencies from addition of new dependencies into PRs that are at least reviewable if not ideally bisectable
* check dependency version pins and make sure they're up-to-date
* remove built_bindgen as suggested by eoger (he says it was a hack)
* (maybe later) generate webidl artifacts at build time rather than checking them in

Later:
* figure out threading/IO model for gecko_js
** Kate points out that our model may want to take existing preferences idioms into account if we can make migration of existing experimenting infra less painful (eg static pref stuff).
** maybe consider what glean does (ideally), or telemetry (possibly necessarily pragmatically)
** eventually will need to be able to get some cached experiment values quickly early in startup (talk to Kate)
This bug is for vendoring the rust nimbus build into mozilla-central.  I've filed it now so that Andrei and I can easily use phab to share work.

It's related to https://jira.mozilla.com/browse/EXP-419 among other things.

Stuff that we know we still need to do: 

* fix uniffi template to emit C++ bindings that build without DEBUG
* figure out if uniffi Cargo.toml should switch from `license_file` to `license`or whether the build allow list needs to be a bit more liberal
* move SDK build glue patch after artifact landing patch so that bisecting works
* handle upstream dependency files that are too big (PRs, or make exceptions locally)
* split apart (at least) updating existing dependencies from addition of new dependencies into PRs that are at least reviewable if not ideally bisectable
* check dependency version pins and make sure they're up-to-date
* remove built_bindgen as suggested by eoger (he says it was a hack)
* make Nimbus not crash in constructor if called from wrong thread

Later (maybe):
* figure out threading/IO model for gecko_js
** Kate points out that our model may want to take existing preferences idioms into account if we can make migration of existing experimenting infra less painful (eg static pref stuff).
** maybe consider what glean does (ideally), or telemetry (possibly necessarily pragmatically)
** eventually will need to be able to get some cached experiment values quickly early in startup (talk to Kate)
** (maybe later) generate webidl artifacts at build time rather than checking them in

Back to Bug 1668435 Comment 0