Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote Config: inaccurate nullability annotations #8640

Closed
maksymmalyhin opened this issue Sep 9, 2021 · 2 comments
Closed

Remote Config: inaccurate nullability annotations #8640

maksymmalyhin opened this issue Sep 9, 2021 · 2 comments
Assignees
Milestone

Comments

@maksymmalyhin
Copy link
Contributor

In Firebase 8 the Remote Config API has the following inaccurate nullability annotations:

The inaccurate nullability annotations prevent safe handling of the nil cases in Swift.

This is a breaking change, so will require a major version bump.

@ryanwilson
Copy link
Member

We should likely throw an exception here to alleviate this:

// TODO: Maybe throw an exception here? That'd be a breaking change though, but at this point
// RC can't work as expected.

@ncooke3 ncooke3 self-assigned this Mar 9, 2022
@ryanwilson ryanwilson assigned ryanwilson and unassigned ncooke3 Mar 31, 2022
ryanwilson added a commit that referenced this issue Mar 31, 2022
Currently, when `RemoteConfig.remoteConfig()` is called before
`FirebaseApp.configure()` is called, Similar to Database, AppCheck, and
others we'll now throw an ObjC exception. We're not going to make it
nullable or throw a Swift compatible error since it'd affect the
callsite of every usage (either a `?` or `try`) and this is deemed a
programming error: `configure()` has to be called first.

Fixes #8640
ryanwilson added a commit that referenced this issue Mar 31, 2022
* Fix Remote Config pre-configure access.

Currently, when `RemoteConfig.remoteConfig()` is called before
`FirebaseApp.configure()` is called, Similar to Database, AppCheck, and
others we'll now throw an ObjC exception. We're not going to make it
nullable or throw a Swift compatible error since it'd affect the
callsite of every usage (either a `?` or `try`) and this is deemed a
programming error: `configure()` has to be called first.

Fixes #8640

* CHANGELOG
@ryanwilson
Copy link
Member

Fixed in #9551 which is merged to the Firebase 9 branch.

paulb777 pushed a commit that referenced this issue Apr 4, 2022
* Fix Remote Config pre-configure access.

Currently, when `RemoteConfig.remoteConfig()` is called before
`FirebaseApp.configure()` is called, Similar to Database, AppCheck, and
others we'll now throw an ObjC exception. We're not going to make it
nullable or throw a Swift compatible error since it'd affect the
callsite of every usage (either a `?` or `try`) and this is deemed a
programming error: `configure()` has to be called first.

Fixes #8640

* CHANGELOG
@firebase firebase locked and limited conversation to collaborators May 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
3 participants