Skip to content

Firebase v11 support #3573

Description

@LanderBeeuwsaert

Hi, when upgrading from firebase-js-sdk 10.x to firebase-js-sdk 11.0.0 we get the following error.
Even though as you can see, we did call initializeApp() first.

Image
Image
Image
Image
Image

Activity

  1. google-oss-bot commented on Oct 26, 2024

    @google-oss-bot

    This issue does not seem to follow the issue template. Make sure you provide all the required information.

  2. JGSolutions commented on Dec 4, 2024

    @JGSolutions

    Is there any support for this project?

  3. jamesdaniels commented on Dec 12, 2024

    @jamesdaniels
    Contributor

    @JGSolutions "support" is a loaded term, we are not a supported product as it related to the Google Cloud terms of service—but there are people working on the library.

    AngularFire v18 is not compatible with Firebase v11, we need better error messaging in the JS SDK but the odd error messages that you are seeing here is because your environment has multiple conflicting versions of Firebase installed.

    AngularFire v19 will support Firebase v11 and Angular v19, we just released v19.0.0-rc.2. ng add @angular/fire@next if this RC is looking good I'll plan to cut v19 final shortly.

  4. changed the title [-]Update to firebase-js-sdk 11.0.0 fails: No Firebase App '[DEFAULT]' has been created - call initializeApp() first (app/no-app)[/-] [+]Firebase v11 support[/+] on Dec 12, 2024
  5. pinned this issue on Dec 12, 2024
  6. JGSolutions commented on Dec 12, 2024

    @JGSolutions

    Ok thanks for the help.

    Maybe support was the wrong word to use.

    i was able to comile and start the server when i run the app i get this:

    app.routes.ts:49 ERROR RuntimeError: NG0203: inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with runInInjectionContext. Find more at https://angular.dev/errors/NG0203
    at injectInjectorOnly (core.mjs:1095:11)
    at ɵɵinject (core.mjs:1105:40)
    at inject (core.mjs:1190:10)
    at run (angular-fire.mjs:115:10)
    at angular-fire.mjs:162:56
    at _ZoneDelegate.invoke (zone.js:369:28)
    at Object.onInvoke (core.mjs:6494:25)
    at _ZoneDelegate.invoke (zone.js:368:34)
    at ZoneImpl.run (zone.js:111:43)
    at zone.js:2538:40

    i think this something on my side which I am looking into

  7. jamesdaniels commented on Dec 12, 2024

    @jamesdaniels
    Contributor

    @JGSolutions no worries.

    Yeah, that's the error that caused us a lot of grief in our test suite. It turns out that the rxjs-interopt pipe we're using in our methods to make them SSR safe requires an injection context. So you can used it outside of a component or provider factory. If it's in a test you can wrap in TestBed.provideInjectionContext FWIW

    Because that was a forcing function we're now reshuffling a lot of our stuff to use inject() internally rather than rely on constructor injection. Sorry that seems to be making for a rougher upgrade 😞

  8. JGSolutions commented on Dec 13, 2024

    @JGSolutions

    @jamesdaniels As long you guys are aware of the problem and you guys are on it, all good with me.

    Thanks again

  9. jamesdaniels commented on Dec 13, 2024

    @jamesdaniels
    Contributor

    @JGSolutions our zone wrappers will now noop when outside of an injector context, cutting rc.3 now, give that a spin and LMK how it goes

  10. JGSolutions commented on Dec 13, 2024

    @JGSolutions

    @jamesdaniels
    Thanks for the quick update.

    Still happening but seems at a different line number: at run (angular-fire.mjs:115:10)

    chunk-DZ7BV6I4.js?v=05488ea1:59 ERROR RuntimeError: NG0203: inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with runInInjectionContext. Find more at https://angular.dev/errors/NG0203
    at injectInjectorOnly (core.mjs:1095:11)
    at ɵɵinject (core.mjs:1105:40)
    at inject (core.mjs:1190:10)
    at run (angular-fire.mjs:115:10)
    at angular-fire.mjs:170:48
    at _ZoneDelegate.invoke (zone.js:369:28)
    at Object.onInvoke (core.mjs:6494:25)
    at _ZoneDelegate.invoke (zone.js:368:34)
    at ZoneImpl.run (zone.js:111:43)
    at zone.js:2538:40

  11. jamesdaniels commented on Dec 13, 2024

    @jamesdaniels
    Contributor

    yeah I caught that one earlier today, addressing in #3590

  12. jamesdaniels commented on Dec 13, 2024

    @jamesdaniels
    Contributor

    Rc.4 out.

  13. JGSolutions commented on Dec 13, 2024

    @JGSolutions

    @jamesdaniels Amazing it works!

  14. JGSolutions commented on Dec 15, 2024

    @JGSolutions

    can i push this to prod or should i wait?

    @jamesdaniels

  15. jamesdaniels commented on Dec 16, 2024

    @jamesdaniels
    Contributor

    I don't foresee any large changes in the next two weeks, if you're seeing good behavior in local prod mode go for it. Just be ready to roll back incase of issues.

    I'll continue to release RCs as feedback comes in but we're in freeze right now, so I won't release stable until after the new year.

  16. alexfung888 commented on Dec 17, 2024

    @alexfung888

    with rc.4, the application no longer fails, but every invocation of some imported function results in a warning in the console.log. Is it an expected behavior for the time being?

    Functions that issue warnings include:

    authState() // import from '@angular/fire/auth'
    objectVal()/listVal() // (import from '@angular/fire/database' or 'rxfire/database') 
    ref() // (import from '@angular/fire/database') 

    The warning reads:

    Firebase API called outside injection context: ɵzoneWrap(<name of function>)
    
  17. jamesdaniels commented on Dec 17, 2024

    @jamesdaniels
    Contributor

    Yes, those warnings are safe to ignore and are just breadcrumbs incase you run into any zone / rehydration instabilities. We have docs for that inbound.

  18. unpinned this issue on Jul 9, 2026
  19. added
    comp: build/pipelineBuild, bundling, packaging, release pipeline.
    type: choreMaintenance with no user-facing behavior change.
    Fixed!Resolved in a current release.
    and removed
    Fixed!Resolved in a current release.
    on Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    comp: build/pipelineBuild, bundling, packaging, release pipeline.type: choreMaintenance with no user-facing behavior change.version: current (v17+)Targets the current modular API (v17+).

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions