Closed kernel-sanders closed 5 years ago
My initial looking through the iOS SDK code indicates that app-mesaurement.com
is also used for network reachability testing:
https://github.com/firebase/firebase-ios-sdk/blob/master/GoogleUtilities/Network/GULNetwork.m#L248 and https://github.com/firebase/firebase-ios-sdk/blob/master/GoogleUtilities/Network/GULNetworkConstants.m#L24
, which is why other services like database are failing most likely - I think. 🙈
cc @wilhuff & @paulb777 from the firebase/firebase-ios-sdk
GitHub repo - any thoughts on this issue?
Preliminarily I'd consider this a bug in your filter configuration in Pi-hole. There's a major difference between third-party non-consensual ad-serving/tracking, and first-party app analytics/crash reporting that happens to be implemented with Firebase.
Our disposition is not to fight against ad blockers or otherwise hostile networks. We don't use them, we don't test them, etc. We're not opposed to making our software work better in their presence, but this is not a priority for us--there's only so many hours in the day.
If you're interested in making this better, pull requests are welcome.
@wilhuff as someone who actively blocks traffic like this on-device, I'd be interested in making this work. Would you accept a PR that simply changes the host to connectivitycheck.gstatic.com
or captive.apple.com
? That seems like a simple way to solve both issues.
I'm gonna close this issue as it's not related to this library, we only consume the official Firebase SDKs, any changes would need making there.
Feel free to continue discussing though.
@bobobo1618 that's not really my call. @paulb777 what's your take?
If this is going to get anything past spitballing I'd suggest moving this discussion to an issue/PR in the firebase-ios-sdk repo.
@bobobo1618 At first glance, I suspect we would accept such a PR. However, we'd need to do a bit more investigation and get a few more reviewers/approvers.
Please create an issue or PR at https://github.com/firebase/firebase-ios-sdk with details about the issue and why the proposed hosts would address it along with any trade-offs between the two.
Thanks @paulb777, I created https://github.com/firebase/firebase-ios-sdk/issues/2254.
Issue
When processing a push notification, I am updating an entry in my realtime-database. During testing, this would work ~1/2 the time. Digging into the console logs, it appears as if react-native-firebase is trying to re-use an old TCP connection to firebase, and after some time (~5 to 10 minutes) that connection is stale and does not work. Instead of opening a new connection and completing the update to the database, it simply fails. I believe this is because the device is on a network with a Pi-Hole which sinkholes
app-measurement.com
ande.crashlytics.com
. The react-native-firebase library attempts to connect toapp-measurement.com
for the analytics, but if it can't it does not continue with any other connections? I believe this is a bug. If the analytics connection fails, the database update should occur anyway. Whitelistinge.crashlytics.com
resolves the issue.AppDelegate.m
Message handler code:
First push console logs (successful database update):
Second push console logs (no database update - URL redacted):
Environment
Application Target Platform:
Development Operating System:
Build Tools:
React Native
version:React Native Firebase
Version:Firebase
Module:Are you using
typescript
?