Skip to content

Documentation is using a small minimumFetchIntervalMillis without explicitly specifying that #2841

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

Closed
sanehab opened this issue Mar 31, 2020 · 10 comments

Comments

@sanehab
Copy link

sanehab commented Mar 31, 2020

In the following screenshot documentation is using a small value for minimumFetchIntervalMillis without specifying that.
image

I have expected the value to be the default production value, or to at least have a comment that this value is a development specific value.
Reading the following text will make you even more sure that the value that was used was a production value

During development, it's recommended to set a relatively low minimum fetch interval. See Throttling for more information.

Anyway this is not related, but i also think that the throttle error can be more descriptive

firebase-remote-config.js:1 Uncaught (in promise) FirebaseError: Remote Config: The config fetch request timed out while in an exponential backoff state. Configure timeout using "fetchTimeoutMillis" SDK setting. Unix timestamp in milliseconds when fetch request throttling ends: 1585237413512. (remoteconfig/fetch-throttle).

In order to know what happened here i had to go back to documentation/source code.

@google-oss-bot
Copy link
Contributor

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

@yoldar
Copy link

yoldar commented Dec 1, 2020

The same problem on Firefox Browser 82.0.3

@fischermatte
Copy link

We are also having this issue on Firefox. What should one supposed to do when this message comes? Increase the fetchTimeoutMillis? In our case it is already 1 minute.

@sanehab
Copy link
Author

sanehab commented Jan 27, 2021

@fischermatte @yoldar I don't believe this issue is related to firefox specifically. The issue here is the value used in documentation 3600000 (1 hour) is extremely low for production environment. What's even worse is what is written makes you think this is a recommended production value, i am referring to this sentence "During development, it's recommended to set a relatively low minimum fetch interval. See Throttling for more information."

The production value is documented in https://firebase.google.com/docs/remote-config/use-config-web#throttling which is 12 hours.

You should still catch this error, and try to fetch config in a longer interval. But once you use the default production value (12 hours) i doubt you will see it.

@fischermatte
Copy link

Thx @sanehab. Ok I guess my problem might not be well placed here. I am just looking for an explanation why this error pops up at load time on firefox but not on other engines. Those parameters shouldn't have an impact at initial load time with a fresh-cache-cleaned browser.

@Odonno
Copy link

Odonno commented Jan 27, 2022

Still having this problem on Firefox. Does someone has any fix for this bug?

@Nillcon248
Copy link

Nillcon248 commented Dec 7, 2023

I also have an issue with Firefox only. Automatically it doesn't load anything (for some reason), and when I call fetch it throws an error. It works fine with Chrome and Safari.

PS: Firefox version 120.0.1

@Nillcon248
Copy link

This solution helped for me, I added a fetchTimeoutMillis and now it works properly with Firefox. Doesn't matter what's value, but if remove this parameter I have errors in Firefox again.

import { SETTINGS } from '@angular/fire/compat/remote-config';

@NgModule({
    providers: [
        {
            provide: SETTINGS,
            useValue: {
                fetchTimeoutMillis: 600000,
                minimumFetchIntervalMillis: 600000,
            }
        }
    ] 
})
export class AppModule {}

@dfdgsdfg
Copy link

Can we implement ‘real-time’ on the web?

Or, the remote configuration server should use a caching mechanism like ETag.

Naturally, the web page should fetch the configuration with each page request.

athiramanu pushed a commit to firebase/snippets-web that referenced this issue Jan 23, 2025
s-chandels pushed a commit to firebase/snippets-web that referenced this issue Jan 24, 2025
…illis (#389)

* Add comment to highlight the default prod value for minimumFetchIntervalMillis.

Issue addressed: firebase/firebase-js-sdk#2841

* Update code snipped with default prod value for minimumFetchIntervalMillis.

* Update code snipped with default prod value for minimumFetchIntervalMillis.

* Update code snipped with default prod value for minimumFetchIntervalMillis.

---------

Co-authored-by: Athira M <[email protected]>
@athiramanu
Copy link

Hi @sanehab,

We have updated the documentation to clarify the recommended prod value for minimumFetchIntervalMillis. We appreciate you bringing this to our attention and apologize for the delay in response.

@firebase firebase locked and limited conversation to collaborators Feb 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests