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

Make Analytics environment checks warnings instead of errors #3836

Merged
merged 6 commits into from
Sep 30, 2020

Conversation

hsubox76
Copy link
Contributor

@hsubox76 hsubox76 commented Sep 23, 2020

Warn instead of throw if analytics detects an environment mismatch (no cookies, no indexedDB, etc.) These should not disrupt the user experience and should fail silently.

In the case of sync checks, it simply returns an empty analytics instance, so that calls to analytics().logEvent(), etc. do not error but are a no-op.

In the case of the async indexedDB.open() check, since it can't complete before the factory initialization finishes, it will cause the initialization promise referenced by initializationPromisesMap[appId] to throw, and all the code that depends on these promises (the public analytics methods like logEvent, etc., plus the all-apps checks inside gtagOnEvent/gtagOnConfig) will catch the error, log a warning, and skip calling gtag.

Question: Is warn still too noisy? Is info better?

Fixes #3573

@changeset-bot
Copy link

changeset-bot bot commented Sep 23, 2020

🦋 Changeset detected

Latest commit: 8bbcdb9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
@firebase/analytics Minor
firebase Patch
@firebase/rules-unit-testing Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Sep 23, 2020

Binary Size Report

Affected SDKs

  • @firebase/analytics

    Type Base (0c607c9) Head (5c8621f) Diff
    esm2017 18.4 kB 18.6 kB +224 B (+1.2%)
    main 23.3 kB 23.8 kB +467 B (+2.0%)
    module 22.8 kB 23.3 kB +455 B (+2.0%)
  • @firebase/firestore

    Type Base (0c607c9) Head (5c8621f) Diff
    browser 249 kB 249 kB +126 B (+0.1%)
    esm2017 196 kB 196 kB +38 B (+0.0%)
    main 483 kB 483 kB +234 B (+0.0%)
    module 246 kB 247 kB +126 B (+0.1%)
    react-native 196 kB 196 kB +38 B (+0.0%)
  • @firebase/firestore/exp

    Type Base (0c607c9) Head (5c8621f) Diff
    browser 189 kB 189 kB -224 B (-0.1%)
    main 477 kB 477 kB -62 B (-0.0%)
    module 189 kB 189 kB -224 B (-0.1%)
    react-native 189 kB 189 kB -224 B (-0.1%)
  • @firebase/firestore/lite

    Type Base (0c607c9) Head (5c8621f) Diff
    browser 63.6 kB 63.4 kB -224 B (-0.4%)
    main 140 kB 140 kB -62 B (-0.0%)
    module 63.6 kB 63.4 kB -224 B (-0.4%)
    react-native 63.9 kB 63.6 kB -224 B (-0.4%)
  • @firebase/firestore/memory

    Type Base (0c607c9) Head (5c8621f) Diff
    browser 187 kB 187 kB +126 B (+0.1%)
    esm2017 147 kB 147 kB +38 B (+0.0%)
    main 357 kB 357 kB +234 B (+0.1%)
    module 185 kB 185 kB +126 B (+0.1%)
    react-native 147 kB 147 kB +38 B (+0.0%)
  • @firebase/functions

    Type Base (0c607c9) Head (5c8621f) Diff
    browser 9.77 kB 10.0 kB +263 B (+2.7%)
    esm2017 7.35 kB 7.59 kB +238 B (+3.2%)
    main 9.89 kB 10.2 kB +263 B (+2.7%)
    module 9.50 kB 9.77 kB +263 B (+2.8%)
  • firebase

    Type Base (0c607c9) Head (5c8621f) Diff
    firebase-analytics.js 35.8 kB 35.9 kB +70 B (+0.2%)
    firebase-firestore.js 287 kB 287 kB +126 B (+0.0%)
    firebase-firestore.memory.js 227 kB 227 kB +126 B (+0.1%)
    firebase-functions.js 9.94 kB 10.1 kB +160 B (+1.6%)
    firebase.js 830 kB 831 kB +358 B (+0.0%)

Test Logs

installations,
gtagCoreFunction
);
initializationPromisesMap[appId] = validateIndexedDBOpenable()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems we can combine the sync checks with the async check here so that we don't need to return an empty instance, and no-op happens in the original methods.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

gtagCoreFunction
)
)
.catch(e => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should put the catch directly behind the environment check promise, otherwise we are catching errors from initializeIds as well

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can have a single environment check error which lists all the failed conditions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@@ -41,7 +57,12 @@ export async function logEvent(
gtagFunction(GtagCommand.EVENT, eventName, eventParams);
return;
} else {
const measurementId = await initializationPromise;
const measurementId = await handleInitializationPromiseErrors(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are using measurementId for the result of environment checks. A cleaner way might be wrapping the whole function in a try catch, so it's a no-op if anything failed in initialization. You will need to re-throw the errors where we currently log the error messages.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't totally sure what you meant but I tried to do this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I was not clear. The code looks like that we are doing no-op because measurementId is not available, but in fact it could be that it is available, but the environment check failed, so it is confusing to readers. I think we should make it clear in the code that we do no-op when either environment check fails or measurementId is not available.

@@ -166,6 +173,12 @@ async function gtagOnEvent(
// Workaround for http://b/141370449 - third argument cannot be undefined.
gtagCore(GtagCommand.EVENT, measurementId, gtagParams || {});
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is out of scope of this PR, but we should move the gtagCore call outside of the try catch block. It should execute regardless if our initialization failed or not. The current implementation will prevent people from sending events to a non-firebase managed measurementId if any of our initialization failed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another problem is we can not use Promise.all to wait for all promises, because it will reject if any of the promises was rejected. (Sorry I didn't catch it before!).

Instead, we should use Promise.allSettled which is part of es2020 which is too new to use directly. There is an easy polyfill we can do before putting the promises into initializationPromisesMap and dynamicConfigPromisesList (and other promise maps where we do Promise.all), like so:

function reflect(promise){
    return promise.then(function(v){ return {v:v, status: "fulfilled" }},
                        function(e){ return {e:e, status: "rejected" }});
}

initializationPromisesMap[appId] = reflect(initializeIds(\*...*\));

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should resolve the above issues in a separate PR.

@google-oss-bot
Copy link
Contributor

Size Analysis Report

Affected Products

@firebase/app-exp

  • SDK_VERSION

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.63 kB ? (?)
    size_with_ext_deps ? 4.05 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 22 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    SDK_VERSION
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    version$1
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _DEFAULT_ENTRY_NAME

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.63 kB ? (?)
    size_with_ext_deps ? 4.05 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 21 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _DEFAULT_ENTRY_NAME
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _addComponent

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.61 kB ? (?)
    size_with_ext_deps ? 4.02 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _addOrOverwriteComponent

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.67 kB ? (?)
    size_with_ext_deps ? 4.09 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _addOrOverwriteComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _apps

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.60 kB ? (?)
    size_with_ext_deps ? 4.02 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _clearComponents

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.63 kB ? (?)
    size_with_ext_deps ? 4.05 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _clearComponents
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _components

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.61 kB ? (?)
    size_with_ext_deps ? 4.02 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _getProvider

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.66 kB ? (?)
    size_with_ext_deps ? 4.07 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _getProvider
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _registerComponent

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.61 kB ? (?)
    size_with_ext_deps ? 4.03 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • _removeServiceInstance

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.73 kB ? (?)
    size_with_ext_deps ? 4.15 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 7 deps_addComponent
    _getProvider
    _registerComponent
    _removeServiceInstance
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 21 depsDEFAULT_ENTRY_NAME
    ERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • deleteApp

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.75 kB ? (?)
    size_with_ext_deps ? 4.16 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _registerComponent
    deleteApp
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • getApp

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.71 kB ? (?)
    size_with_ext_deps ? 5.39 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _registerComponent
    getApp
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 21 depsDEFAULT_ENTRY_NAME
    ERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • getApps

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.64 kB ? (?)
    size_with_ext_deps ? 4.06 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _registerComponent
    getApps
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • initializeApp

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 3.69 kB ? (?)
    size_with_ext_deps ? 9.05 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _registerComponent
    initializeApp
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? FirebaseAppImpl
    PlatformLoggerService
    ?
    variables ?
    Click to show 21 depsDEFAULT_ENTRY_NAME
    ERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component
    ComponentContainer
    ?
  • onLog

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.74 kB ? (?)
    size_with_ext_deps ? 5.95 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _registerComponent
    isVersionServiceProvider
    onLog
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger
    setUserLogHandler
    ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • registerVersion

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.61 kB ? (?)
    size_with_ext_deps ? 4.03 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? _addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?
  • setLogLevel

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 2.64 kB ? (?)
    size_with_ext_deps ? 4.11 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 6 deps_addComponent
    _registerComponent
    isVersionServiceProvider
    registerCoreComponents
    registerVersion
    setLogLevel
    ?
    classes ? PlatformLoggerService ?
    variables ?
    Click to show 20 depsERRORS
    ERROR_FACTORY
    PLATFORM_LOG_STRING
    _apps
    _components
    logger
    name$1
    name$2
    name$3
    name$4
    name$5
    name$6
    name$7
    name$8
    name$9
    name$a
    name$b
    name$c
    name$d
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? Logger
    setLogLevel
    ?
    @firebase/util ? ErrorFactory ?
    @firebase/component ? Component ?

@firebase/functions-exp

  • getFunctions

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 1.98 kB ? (?)
    size_with_ext_deps ? 5.86 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? getFunctions
    registerFunctions
    ?
    classes ? ContextProvider
    FunctionsService
    ?
    variables ? DEFAULT_REGION
    FUNCTIONS_TYPE
    name
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • httpsCallable

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 5.33 kB ? (?)
    size_with_ext_deps ? 9.92 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 10 deps_errorForResponse
    call
    codeForHTTPStatus
    decode
    encode
    failAfter
    httpsCallable
    mapValues
    postJSON
    registerFunctions
    ?
    classes ? ContextProvider
    FunctionsError
    FunctionsService
    ?
    variables ?
    Click to show 7 depsDEFAULT_REGION
    FUNCTIONS_TYPE
    LONG_TYPE
    UNSIGNED_LONG_TYPE
    errorCodeMap
    name
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/util ? FirebaseError ?
    @firebase/app-exp ? _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • useFunctionsEmulator

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 1.94 kB ? (?)
    size_with_ext_deps ? 5.79 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ? registerFunctions
    useFunctionsEmulator
    ?
    classes ? ContextProvider
    FunctionsService
    ?
    variables ? DEFAULT_REGION
    FUNCTIONS_TYPE
    name
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/app-exp ? _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?

@firebase/installations-exp

  • deleteInstallations

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 8.90 kB ? (?)
    size_with_ext_deps ? 17.3 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 52 depsbroadcastFidChange
    bufferToBase64UrlSafe
    callFidChangeCallbacks
    clearTimedOutRequest
    closeBroadcastChannel
    completeInstallationRegistration
    createInstallationRequest
    deleteInstallationRequest
    deleteInstallations
    encode
    extractAppConfig
    extractAuthTokenInfoFromResponse
    fetchAuthTokenFromServer
    fidChanged
    generateAuthTokenRequest
    generateFid
    getAuthorizationHeader
    getBroadcastChannel
    getDbPromise
    getDeleteEndpoint
    getErrorFromResponse
    getExpiresInFromResponseExpiresIn
    getGenerateAuthTokenEndpoint
    getHeaders
    getHeadersWithAuth
    getId
    getInstallationEntry
    getInstallationsEndpoint
    getKey
    getMissingValueError
    getToken
    hasAuthTokenRequestTimedOut
    hasInstallationRequestTimedOut
    isAuthTokenExpired
    isAuthTokenValid
    isEntryRegistered
    isServerError
    makeAuthTokenRequestInProgressEntry
    refreshAuthToken
    registerInstallation
    registerInstallations
    remove
    retryIfServerError
    set
    sleep
    triggerRegistrationIfNecessary
    update
    updateAuthTokenRequest
    updateInstallationRequest
    updateOrCreateInstallationEntry
    waitUntilAuthTokenRequest
    waitUntilFidRegistration
    ?
    variables ?
    Click to show 23 depsDATABASE_NAME
    DATABASE_VERSION
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    INSTALLATIONS_API_URL
    INSTALLATIONS_NAME
    INSTALLATIONS_NAME_INTERNAL
    INTERNAL_AUTH_VERSION
    INVALID_FID
    OBJECT_STORE_NAME
    PACKAGE_VERSION
    PENDING_TIMEOUT_MS
    SERVICE
    SERVICE_NAME
    TOKEN_EXPIRATION_BUFFER
    VALID_FID_PATTERN
    broadcastChannel
    dbPromise
    fidChangeCallbacks
    internalFactory
    name
    publicFactory
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/util ? ErrorFactory
    FirebaseError
    ?
    idb ? openDb ?
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • getId

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 8.34 kB ? (?)
    size_with_ext_deps ? 16.8 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 49 depsbroadcastFidChange
    bufferToBase64UrlSafe
    callFidChangeCallbacks
    clearTimedOutRequest
    closeBroadcastChannel
    completeInstallationRegistration
    createInstallationRequest
    encode
    extractAppConfig
    extractAuthTokenInfoFromResponse
    fetchAuthTokenFromServer
    fidChanged
    generateAuthTokenRequest
    generateFid
    getAuthorizationHeader
    getBroadcastChannel
    getDbPromise
    getErrorFromResponse
    getExpiresInFromResponseExpiresIn
    getGenerateAuthTokenEndpoint
    getHeaders
    getHeadersWithAuth
    getId
    getInstallationEntry
    getInstallationsEndpoint
    getKey
    getMissingValueError
    getToken
    hasAuthTokenRequestTimedOut
    hasInstallationRequestTimedOut
    isAuthTokenExpired
    isAuthTokenValid
    isEntryRegistered
    isServerError
    makeAuthTokenRequestInProgressEntry
    refreshAuthToken
    registerInstallation
    registerInstallations
    remove
    retryIfServerError
    set
    sleep
    triggerRegistrationIfNecessary
    update
    updateAuthTokenRequest
    updateInstallationRequest
    updateOrCreateInstallationEntry
    waitUntilAuthTokenRequest
    waitUntilFidRegistration
    ?
    variables ?
    Click to show 23 depsDATABASE_NAME
    DATABASE_VERSION
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    INSTALLATIONS_API_URL
    INSTALLATIONS_NAME
    INSTALLATIONS_NAME_INTERNAL
    INTERNAL_AUTH_VERSION
    INVALID_FID
    OBJECT_STORE_NAME
    PACKAGE_VERSION
    PENDING_TIMEOUT_MS
    SERVICE
    SERVICE_NAME
    TOKEN_EXPIRATION_BUFFER
    VALID_FID_PATTERN
    broadcastChannel
    dbPromise
    fidChangeCallbacks
    internalFactory
    name
    publicFactory
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/util ? ErrorFactory
    FirebaseError
    ?
    idb ? openDb ?
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • getInstallations

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 8.43 kB ? (?)
    size_with_ext_deps ? 16.9 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 50 depsbroadcastFidChange
    bufferToBase64UrlSafe
    callFidChangeCallbacks
    clearTimedOutRequest
    closeBroadcastChannel
    completeInstallationRegistration
    createInstallationRequest
    encode
    extractAppConfig
    extractAuthTokenInfoFromResponse
    fetchAuthTokenFromServer
    fidChanged
    generateAuthTokenRequest
    generateFid
    getAuthorizationHeader
    getBroadcastChannel
    getDbPromise
    getErrorFromResponse
    getExpiresInFromResponseExpiresIn
    getGenerateAuthTokenEndpoint
    getHeaders
    getHeadersWithAuth
    getId
    getInstallationEntry
    getInstallations
    getInstallationsEndpoint
    getKey
    getMissingValueError
    getToken
    hasAuthTokenRequestTimedOut
    hasInstallationRequestTimedOut
    isAuthTokenExpired
    isAuthTokenValid
    isEntryRegistered
    isServerError
    makeAuthTokenRequestInProgressEntry
    refreshAuthToken
    registerInstallation
    registerInstallations
    remove
    retryIfServerError
    set
    sleep
    triggerRegistrationIfNecessary
    update
    updateAuthTokenRequest
    updateInstallationRequest
    updateOrCreateInstallationEntry
    waitUntilAuthTokenRequest
    waitUntilFidRegistration
    ?
    variables ?
    Click to show 23 depsDATABASE_NAME
    DATABASE_VERSION
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    INSTALLATIONS_API_URL
    INSTALLATIONS_NAME
    INSTALLATIONS_NAME_INTERNAL
    INTERNAL_AUTH_VERSION
    INVALID_FID
    OBJECT_STORE_NAME
    PACKAGE_VERSION
    PENDING_TIMEOUT_MS
    SERVICE
    SERVICE_NAME
    TOKEN_EXPIRATION_BUFFER
    VALID_FID_PATTERN
    broadcastChannel
    dbPromise
    fidChangeCallbacks
    internalFactory
    name
    publicFactory
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/util ? ErrorFactory
    FirebaseError
    ?
    idb ? openDb ?
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • getToken

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 8.35 kB ? (?)
    size_with_ext_deps ? 16.8 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 49 depsbroadcastFidChange
    bufferToBase64UrlSafe
    callFidChangeCallbacks
    clearTimedOutRequest
    closeBroadcastChannel
    completeInstallationRegistration
    createInstallationRequest
    encode
    extractAppConfig
    extractAuthTokenInfoFromResponse
    fetchAuthTokenFromServer
    fidChanged
    generateAuthTokenRequest
    generateFid
    getAuthorizationHeader
    getBroadcastChannel
    getDbPromise
    getErrorFromResponse
    getExpiresInFromResponseExpiresIn
    getGenerateAuthTokenEndpoint
    getHeaders
    getHeadersWithAuth
    getId
    getInstallationEntry
    getInstallationsEndpoint
    getKey
    getMissingValueError
    getToken
    hasAuthTokenRequestTimedOut
    hasInstallationRequestTimedOut
    isAuthTokenExpired
    isAuthTokenValid
    isEntryRegistered
    isServerError
    makeAuthTokenRequestInProgressEntry
    refreshAuthToken
    registerInstallation
    registerInstallations
    remove
    retryIfServerError
    set
    sleep
    triggerRegistrationIfNecessary
    update
    updateAuthTokenRequest
    updateInstallationRequest
    updateOrCreateInstallationEntry
    waitUntilAuthTokenRequest
    waitUntilFidRegistration
    ?
    variables ?
    Click to show 23 depsDATABASE_NAME
    DATABASE_VERSION
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    INSTALLATIONS_API_URL
    INSTALLATIONS_NAME
    INSTALLATIONS_NAME_INTERNAL
    INTERNAL_AUTH_VERSION
    INVALID_FID
    OBJECT_STORE_NAME
    PACKAGE_VERSION
    PENDING_TIMEOUT_MS
    SERVICE
    SERVICE_NAME
    TOKEN_EXPIRATION_BUFFER
    VALID_FID_PATTERN
    broadcastChannel
    dbPromise
    fidChangeCallbacks
    internalFactory
    name
    publicFactory
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/util ? ErrorFactory
    FirebaseError
    ?
    idb ? openDb ?
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • onIdChange

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 8.60 kB ? (?)
    size_with_ext_deps ? 17.0 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 52 depsaddCallback
    broadcastFidChange
    bufferToBase64UrlSafe
    callFidChangeCallbacks
    clearTimedOutRequest
    closeBroadcastChannel
    completeInstallationRegistration
    createInstallationRequest
    encode
    extractAppConfig
    extractAuthTokenInfoFromResponse
    fetchAuthTokenFromServer
    fidChanged
    generateAuthTokenRequest
    generateFid
    getAuthorizationHeader
    getBroadcastChannel
    getDbPromise
    getErrorFromResponse
    getExpiresInFromResponseExpiresIn
    getGenerateAuthTokenEndpoint
    getHeaders
    getHeadersWithAuth
    getId
    getInstallationEntry
    getInstallationsEndpoint
    getKey
    getMissingValueError
    getToken
    hasAuthTokenRequestTimedOut
    hasInstallationRequestTimedOut
    isAuthTokenExpired
    isAuthTokenValid
    isEntryRegistered
    isServerError
    makeAuthTokenRequestInProgressEntry
    onIdChange
    refreshAuthToken
    registerInstallation
    registerInstallations
    remove
    removeCallback
    retryIfServerError
    set
    sleep
    triggerRegistrationIfNecessary
    update
    updateAuthTokenRequest
    updateInstallationRequest
    updateOrCreateInstallationEntry
    waitUntilAuthTokenRequest
    waitUntilFidRegistration
    ?
    variables ?
    Click to show 23 depsDATABASE_NAME
    DATABASE_VERSION
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    INSTALLATIONS_API_URL
    INSTALLATIONS_NAME
    INSTALLATIONS_NAME_INTERNAL
    INTERNAL_AUTH_VERSION
    INVALID_FID
    OBJECT_STORE_NAME
    PACKAGE_VERSION
    PENDING_TIMEOUT_MS
    SERVICE
    SERVICE_NAME
    TOKEN_EXPIRATION_BUFFER
    VALID_FID_PATTERN
    broadcastChannel
    dbPromise
    fidChangeCallbacks
    internalFactory
    name
    publicFactory
    version
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/util ? ErrorFactory
    FirebaseError
    ?
    idb ? openDb ?
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?

@firebase/performance-exp

  • getPerformance

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 16.8 kB ? (?)
    size_with_ext_deps ? 21.8 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 50 depsaddToQueue
    changeInitializationStatus
    configValid
    convertMetricValueToInteger
    createNetworkRequestEntry
    createUserTimingTrace
    dispatchQueueEvents
    getApiKey
    getAppId
    getApplicationInfo
    getAuthTokenPromise
    getConfig
    getDocumentReadyComplete
    getEffectiveConnectionType
    getIid
    getIidPromise
    getInitializationPromise
    getPerformance
    getProjectId
    getRemoteConfig
    getServiceWorkerStatus
    getStoredConfig
    getVisibilityState
    initializePerf
    isPerfInitialized
    isValidCustomAttributeName
    isValidCustomAttributeValue
    isValidMetricName
    logNetworkRequest
    logTrace
    mergeStrings
    postToFlEndpoint
    processConfig
    processQueue
    registerPerformance
    sendEventsToFl
    sendLog
    sendTraceLog
    serializeNetworkRequest
    serializeTrace
    serializer
    setupApi
    setupNetworkRequests
    setupOobResources
    setupOobTraces
    setupTransportService
    setupUserTimingTraces
    shouldLogAfterSampling
    storeConfig
    transportHandler
    ?
    classes ? Api
    PerformanceController
    SettingsService
    Trace
    ?
    variables ?
    Click to show 45 depsATTRIBUTE_FORMAT_REGEX
    CONFIG_EXPIRY_LOCAL_STORAGE_KEY
    CONFIG_LOCAL_STORAGE_KEY
    COULD_NOT_GET_CONFIG_MSG
    DEFAULT_CONFIGS
    DEFAULT_ENTRY_NAME
    DEFAULT_REMAINING_TRIES
    DEFAULT_SEND_INTERVAL_MS
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    FID_WAIT_TIME_MS
    FIRST_CONTENTFUL_PAINT_COUNTER_NAME
    FIRST_INPUT_DELAY_COUNTER_NAME
    FIRST_PAINT_COUNTER_NAME
    FIS_AUTH_PREFIX
    INITIAL_SEND_TIME_DELAY_MS
    MAX_ATTRIBUTE_NAME_LENGTH
    MAX_ATTRIBUTE_VALUE_LENGTH
    MAX_METRIC_NAME_LENGTH
    OOB_TRACE_PAGE_LOAD_PREFIX
    REMOTE_CONFIG_SDK_VERSION
    RESERVED_ATTRIBUTE_PREFIXES
    RESERVED_AUTO_PREFIX
    SDK_VERSION
    SERVICE
    SERVICE_NAME
    TRACE_MEASURE_PREFIX
    TRACE_START_MARK_PREFIX
    TRACE_STOP_MARK_PREFIX
    VisibilityState
    apiInstance
    consoleLogger
    factory
    iid
    initializationPromise
    initializationStatus
    isTransportSetup
    logger
    name
    oobMetrics
    queue
    remainingTries
    settingsServiceInstance
    version
    windowInstance
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? LogLevel
    Logger
    ?
    @firebase/util ? ErrorFactory
    isIndexedDBAvailable
    validateIndexedDBOpenable
    ?
    @firebase/app-exp ? _getProvider
    _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • registerPerformance

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 16.7 kB ? (?)
    size_with_ext_deps ? 21.7 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 49 depsaddToQueue
    changeInitializationStatus
    configValid
    convertMetricValueToInteger
    createNetworkRequestEntry
    createUserTimingTrace
    dispatchQueueEvents
    getApiKey
    getAppId
    getApplicationInfo
    getAuthTokenPromise
    getConfig
    getDocumentReadyComplete
    getEffectiveConnectionType
    getIid
    getIidPromise
    getInitializationPromise
    getProjectId
    getRemoteConfig
    getServiceWorkerStatus
    getStoredConfig
    getVisibilityState
    initializePerf
    isPerfInitialized
    isValidCustomAttributeName
    isValidCustomAttributeValue
    isValidMetricName
    logNetworkRequest
    logTrace
    mergeStrings
    postToFlEndpoint
    processConfig
    processQueue
    registerPerformance
    sendEventsToFl
    sendLog
    sendTraceLog
    serializeNetworkRequest
    serializeTrace
    serializer
    setupApi
    setupNetworkRequests
    setupOobResources
    setupOobTraces
    setupTransportService
    setupUserTimingTraces
    shouldLogAfterSampling
    storeConfig
    transportHandler
    ?
    classes ? Api
    PerformanceController
    SettingsService
    Trace
    ?
    variables ?
    Click to show 45 depsATTRIBUTE_FORMAT_REGEX
    CONFIG_EXPIRY_LOCAL_STORAGE_KEY
    CONFIG_LOCAL_STORAGE_KEY
    COULD_NOT_GET_CONFIG_MSG
    DEFAULT_CONFIGS
    DEFAULT_ENTRY_NAME
    DEFAULT_REMAINING_TRIES
    DEFAULT_SEND_INTERVAL_MS
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    FID_WAIT_TIME_MS
    FIRST_CONTENTFUL_PAINT_COUNTER_NAME
    FIRST_INPUT_DELAY_COUNTER_NAME
    FIRST_PAINT_COUNTER_NAME
    FIS_AUTH_PREFIX
    INITIAL_SEND_TIME_DELAY_MS
    MAX_ATTRIBUTE_NAME_LENGTH
    MAX_ATTRIBUTE_VALUE_LENGTH
    MAX_METRIC_NAME_LENGTH
    OOB_TRACE_PAGE_LOAD_PREFIX
    REMOTE_CONFIG_SDK_VERSION
    RESERVED_ATTRIBUTE_PREFIXES
    RESERVED_AUTO_PREFIX
    SDK_VERSION
    SERVICE
    SERVICE_NAME
    TRACE_MEASURE_PREFIX
    TRACE_START_MARK_PREFIX
    TRACE_STOP_MARK_PREFIX
    VisibilityState
    apiInstance
    consoleLogger
    factory
    iid
    initializationPromise
    initializationStatus
    isTransportSetup
    logger
    name
    oobMetrics
    queue
    remainingTries
    settingsServiceInstance
    version
    windowInstance
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? LogLevel
    Logger
    ?
    @firebase/util ? ErrorFactory
    isIndexedDBAvailable
    validateIndexedDBOpenable
    ?
    @firebase/app-exp ? _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?
  • trace

    Size

    Type Base (0c607c9) Head (5c8621f) Diff
    size ? 16.7 kB ? (?)
    size_with_ext_deps ? 21.7 kB ? (?)

    Dependencies

    Type Base (0c607c9) Head (5c8621f) Diff
    functions ?
    Click to show 50 depsaddToQueue
    changeInitializationStatus
    configValid
    convertMetricValueToInteger
    createNetworkRequestEntry
    createUserTimingTrace
    dispatchQueueEvents
    getApiKey
    getAppId
    getApplicationInfo
    getAuthTokenPromise
    getConfig
    getDocumentReadyComplete
    getEffectiveConnectionType
    getIid
    getIidPromise
    getInitializationPromise
    getProjectId
    getRemoteConfig
    getServiceWorkerStatus
    getStoredConfig
    getVisibilityState
    initializePerf
    isPerfInitialized
    isValidCustomAttributeName
    isValidCustomAttributeValue
    isValidMetricName
    logNetworkRequest
    logTrace
    mergeStrings
    postToFlEndpoint
    processConfig
    processQueue
    registerPerformance
    sendEventsToFl
    sendLog
    sendTraceLog
    serializeNetworkRequest
    serializeTrace
    serializer
    setupApi
    setupNetworkRequests
    setupOobResources
    setupOobTraces
    setupTransportService
    setupUserTimingTraces
    shouldLogAfterSampling
    storeConfig
    trace
    transportHandler
    ?
    classes ? Api
    PerformanceController
    SettingsService
    Trace
    ?
    variables ?
    Click to show 45 depsATTRIBUTE_FORMAT_REGEX
    CONFIG_EXPIRY_LOCAL_STORAGE_KEY
    CONFIG_LOCAL_STORAGE_KEY
    COULD_NOT_GET_CONFIG_MSG
    DEFAULT_CONFIGS
    DEFAULT_ENTRY_NAME
    DEFAULT_REMAINING_TRIES
    DEFAULT_SEND_INTERVAL_MS
    ERROR_DESCRIPTION_MAP
    ERROR_FACTORY
    FID_WAIT_TIME_MS
    FIRST_CONTENTFUL_PAINT_COUNTER_NAME
    FIRST_INPUT_DELAY_COUNTER_NAME
    FIRST_PAINT_COUNTER_NAME
    FIS_AUTH_PREFIX
    INITIAL_SEND_TIME_DELAY_MS
    MAX_ATTRIBUTE_NAME_LENGTH
    MAX_ATTRIBUTE_VALUE_LENGTH
    MAX_METRIC_NAME_LENGTH
    OOB_TRACE_PAGE_LOAD_PREFIX
    REMOTE_CONFIG_SDK_VERSION
    RESERVED_ATTRIBUTE_PREFIXES
    RESERVED_AUTO_PREFIX
    SDK_VERSION
    SERVICE
    SERVICE_NAME
    TRACE_MEASURE_PREFIX
    TRACE_START_MARK_PREFIX
    TRACE_STOP_MARK_PREFIX
    VisibilityState
    apiInstance
    consoleLogger
    factory
    iid
    initializationPromise
    initializationStatus
    isTransportSetup
    logger
    name
    oobMetrics
    queue
    remainingTries
    settingsServiceInstance
    version
    windowInstance
    ?

    External Dependencies

    Module Base (0c607c9) Head (5c8621f) Diff
    @firebase/logger ? LogLevel
    Logger
    ?
    @firebase/util ? ErrorFactory
    isIndexedDBAvailable
    validateIndexedDBOpenable
    ?
    @firebase/app-exp ? _registerComponent
    registerVersion
    ?
    @firebase/component ? Component ?

Test Logs

@hsubox76
Copy link
Contributor Author

Split the checks into 2, moved the sync check into factory and the indexedDB check into initializeIds().

@hsubox76 hsubox76 merged commit d4db75f into master Sep 30, 2020
@google-oss-bot google-oss-bot mentioned this pull request Oct 6, 2020
@hsubox76 hsubox76 deleted the ch-analytics-warn branch October 22, 2020 17:44
@firebase firebase locked and limited conversation to collaborators Oct 31, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Analytics: problem with "prevent initialization in unsupported environments" handling
3 participants